summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/Ssh.hs
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2014-05-29 14:29:34 -0400
committerJoey Hess <joey@kitenet.net>2014-05-29 14:29:34 -0400
commit2b77ee8e106abd5fbcaf8d5cd4719057a8d28a67 (patch)
treec1a3620607a70a8912ade76a024ab47fb11bbba2 /src/Propellor/Property/Ssh.hs
parented6457f7fb381e47426a023ef4e0c474bdab4b6b (diff)
parentead04c65e06ed47a175624922582a33082585f6d (diff)
Merge branch 'joeyconfig'
Diffstat (limited to 'src/Propellor/Property/Ssh.hs')
-rw-r--r--src/Propellor/Property/Ssh.hs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/Propellor/Property/Ssh.hs b/src/Propellor/Property/Ssh.hs
index a4f87678..061f440c 100644
--- a/src/Propellor/Property/Ssh.hs
+++ b/src/Propellor/Property/Ssh.hs
@@ -107,11 +107,13 @@ keyImported keytype user = combineProperties desc
f <- liftIO $ keyfile ext
ifM (liftIO $ doesFileExist f)
( noChange
- , ensureProperty $ combineProperties desc
+ , ensureProperties
[ property desc $
- withPrivData p $ \key -> makeChange $
+ withPrivData p $ \key -> makeChange $ do
+ createDirectoryIfMissing True (takeDirectory f)
writer f key
, File.ownerGroup f user user
+ , File.ownerGroup (takeDirectory f) user user
]
)
keyfile ext = do
@@ -149,4 +151,7 @@ authorizedKeys user = property (user ++ " has authorized_keys") $
liftIO $ do
createDirectoryIfMissing True (takeDirectory f)
writeFileProtected f v
- ensureProperty $ File.ownerGroup f user user
+ ensureProperties
+ [ File.ownerGroup f user user
+ , File.ownerGroup (takeDirectory f) user user
+ ]