Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Eep = YesReallyDeleteHome
- accountFor :: User -> Property NoInfo
- systemAccountFor :: User -> Property NoInfo
- systemAccountFor' :: User -> Maybe FilePath -> Maybe Group -> Property NoInfo
- nuked :: User -> Eep -> Property NoInfo
- hasSomePassword :: User -> Property HasInfo
- hasSomePassword' :: IsContext c => User -> c -> Property HasInfo
- hasPassword :: User -> Property HasInfo
- hasPassword' :: IsContext c => User -> c -> Property HasInfo
- setPassword :: (((PrivDataField, PrivData) -> Propellor Result) -> Propellor Result) -> Propellor Result
- hasInsecurePassword :: User -> String -> Property NoInfo
- chpasswd :: User -> String -> [String] -> Propellor Result
- lockedPassword :: User -> Property NoInfo
- data PasswordStatus
- getPasswordStatus :: User -> IO PasswordStatus
- isLockedPassword :: User -> IO Bool
- homedir :: User -> IO FilePath
- hasGroup :: User -> Group -> Property NoInfo
- hasDesktopGroups :: User -> Property NoInfo
- shadowConfig :: Bool -> Property NoInfo
- shadowExists :: IO Bool
- hasLoginShell :: User -> FilePath -> Property NoInfo
- shellSetTo :: User -> FilePath -> Property NoInfo
- shellEnabled :: FilePath -> Property NoInfo
Documentation
accountFor :: User -> Property NoInfo Source
systemAccountFor :: User -> Property NoInfo Source
hasSomePassword :: User -> Property HasInfo Source
Only ensures that the user has some password set. It may or may not be a password from the PrivData.
hasSomePassword' :: IsContext c => User -> c -> Property HasInfo Source
While hasSomePassword uses the name of the host as context, this allows specifying a different context. This is useful when you want to use the same password on multiple hosts, for example.
hasPassword :: User -> Property HasInfo Source
Ensures that a user's password is set to a password from the PrivData. (Will change any existing password.)
A user's password can be stored in the PrivData in either of two forms; the full cleartext Password or a CryptPassword hash. The latter is obviously more secure.
setPassword :: (((PrivDataField, PrivData) -> Propellor Result) -> Propellor Result) -> Propellor Result Source
hasInsecurePassword :: User -> String -> Property NoInfo Source
Makes a user's password be the passed String. Highly insecure: The password is right there in your config file for anyone to see!
lockedPassword :: User -> Property NoInfo Source
isLockedPassword :: User -> IO Bool Source
hasDesktopGroups :: User -> Property NoInfo Source
Gives a user access to the secondary groups, including audio and video, that the OS installer normally gives a desktop user access to.
Note that some groups may only exit after installation of other software. When a group does not exist yet, the user won't be added to it.
shadowConfig :: Bool -> Property NoInfo Source
Controls whether shadow passwords are enabled or not.
shadowExists :: IO Bool Source
hasLoginShell :: User -> FilePath -> Property NoInfo Source
Ensures that a user has a specified login shell, and that the shell is enabled in etcshells.
shellEnabled :: FilePath -> Property NoInfo Source
Ensures that etcshells contains a shell.