propellor-5.13: property-based host configuration management in haskell
Safe HaskellNone
LanguageHaskell2010

Propellor.Property.User

Synopsis

Documentation

data Eep Source #

Constructors

YesReallyDeleteHome 

nuked :: User -> Eep -> Property Linux Source #

Removes user home directory!! Use with caution.

hasSomePassword :: User -> Property (HasInfo + DebianLike) 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 + DebianLike) 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 + DebianLike) 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.

hasInsecurePassword :: User -> String -> Property DebianLike 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!

data PasswordStatus Source #

Instances

Instances details
Eq PasswordStatus Source # 
Instance details

Defined in Propellor.Property.User

hasDesktopGroups :: User -> Property DebianLike 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.

ownsWithPrimaryGroup :: User -> FilePath -> Property UnixLike Source #

Ensures that a file is owned by a user, and also by that user's primary group.

shadowConfig :: Bool -> Property DebianLike Source #

Controls whether shadow passwords are enabled or not.

hasLoginShell :: User -> FilePath -> Property DebianLike Source #

Ensures that a user has a specified login shell, and that the shell is enabled in etcshells.

shellEnabled :: FilePath -> Property DebianLike Source #

Ensures that etcshells contains a shell.