@@ -10,6 +10,7 @@ import Control.Monad.Catch (finally)
1010import Control.Monad.IO.Class (liftIO)
1111import Data.Attoparsec.ByteString.Char8 as A
1212import qualified Data.ByteString.Char8 as BC8
13+import Data.Bits
1314import Data.Default
1415import Data.Maybe
1516import Data.Monoid
@@ -17,6 +18,7 @@ import qualified Data.Text as T
1718import qualified Data.Text.IO as T
1819import System.Directory
1920import System.FilePath
21+import System.Posix.Files
2022import System.Posix.Env (getEnvironment)
2123import System.Process (delegate_ctlc, env, proc, readProcess)
2224
@@ -45,7 +47,7 @@ deployInit thunkPtr configDir deployDir sshKeyPath hostnames = do
4547 let localKey = deployDir </> "ssh_key"
4648 callProcessAndLogOutput (Notice, Error) $
4749 cp [sshKeyPath, localKey]
48− liftIO $ setPermissions localKey $ setOwnerWritable True $ setOwnerReadable True emptyPermissions
50+ liftIO $ setFileMode localKey $ ownerReadMode .|. ownerWriteMode
4951 liftIO $ writeFile (deployDir </> "backend_hosts") $ unlines hostnames
5052 forM_ hostnames $ \hostname -> do
5153 putLog Notice $ "Verifying host keys (" <> T.pack hostname <> ")"