diff options
| author | Joey Hess <joey@kitenet.net> | 2014-05-14 19:41:05 -0400 |
|---|---|---|
| committer | Joey Hess <joey@kitenet.net> | 2014-05-14 19:41:05 -0400 |
| commit | 7115d1ec162b4059b3e8e8f84bd8d5898c1db025 (patch) | |
| tree | 42c1cce54e890e1d56484794ab33129132d8fee2 /Propellor/Property/Sudo.hs | |
| parent | ffe371a9d42cded461236e972a24a142419d7fc4 (diff) | |
moved source code to src
This is to work around OSX's brain-damange regarding filename case
insensitivity.
Avoided moving config.hs, because it's a config file. Put in a symlink to
make build work.
Diffstat (limited to 'Propellor/Property/Sudo.hs')
| -rw-r--r-- | Propellor/Property/Sudo.hs | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/Propellor/Property/Sudo.hs b/Propellor/Property/Sudo.hs deleted file mode 100644 index 68b56608..00000000 --- a/Propellor/Property/Sudo.hs +++ /dev/null @@ -1,32 +0,0 @@ -module Propellor.Property.Sudo where - -import Data.List - -import Propellor -import Propellor.Property.File -import qualified Propellor.Property.Apt as Apt -import Propellor.Property.User - --- | Allows a user to sudo. If the user has a password, sudo is configured --- to require it. If not, NOPASSWORD is enabled for the user. -enabledFor :: UserName -> Property -enabledFor user = property desc go `requires` Apt.installed ["sudo"] - where - go = do - locked <- liftIO $ isLockedPassword user - ensureProperty $ - fileProperty desc - (modify locked . filter (wanted locked)) - "/etc/sudoers" - desc = user ++ " is sudoer" - sudobaseline = user ++ " ALL=(ALL:ALL)" - sudoline True = sudobaseline ++ " NOPASSWD:ALL" - sudoline False = sudobaseline ++ " ALL" - wanted locked l - -- TOOD: Full sudoers file format parse.. - | not (sudobaseline `isPrefixOf` l) = True - | "NOPASSWD" `isInfixOf` l = locked - | otherwise = True - modify locked ls - | sudoline locked `elem` ls = ls - | otherwise = ls ++ [sudoline locked] |
