summaryrefslogtreecommitdiff
path: root/Property/User.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Property/User.hs')
-rw-r--r--Property/User.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/Property/User.hs b/Property/User.hs
index 733e26ea..8903a9e7 100644
--- a/Property/User.hs
+++ b/Property/User.hs
@@ -6,12 +6,13 @@ import Common
type UserName = String
-nonsystem :: UserName -> Property
-nonsystem user = check (isNothing <$> homedir user) $ cmdProperty "adduser"
+sshAccountFor :: UserName -> Property
+sshAccountFor user = check (isNothing <$> homedir user) $ cmdProperty "adduser"
[ Param "--disabled-password"
, Param "--gecos", Param ""
, Param user
]
+ `describe` ("ssh account " ++ user)
{- Removes user home directory!! Use with caution. -}
nuked :: UserName -> Property
@@ -19,12 +20,14 @@ nuked user = check (isJust <$> homedir user) $ cmdProperty "userdel"
[ Param "-r"
, Param user
]
+ `describe` ("nuked user " ++ user)
lockedPassword :: UserName -> Property
lockedPassword user = check (not <$> isLockedPassword user) $ cmdProperty "passwd"
[ Param "--lock"
, Param user
]
+ `describe` ("locked " ++ user ++ " password")
isLockedPassword :: UserName -> IO Bool
isLockedPassword user = parse . words <$> readProcess "passwd" ["-S", user]