aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEugeni Dodonov <eugeni@mandriva.org>2009-01-26 16:12:46 +0000
committerEugeni Dodonov <eugeni@mandriva.org>2009-01-26 16:12:46 +0000
commit55cb660eba818b1be95a5e0efa699d781598cf98 (patch)
tree6a67eeb2a4fbd5a258ccff94d201b50148399978 /src
parentc00b9b58d5006712a73756bde6735a38508992dc (diff)
downloadmsec-55cb660eba818b1be95a5e0efa699d781598cf98.tar
msec-55cb660eba818b1be95a5e0efa699d781598cf98.tar.gz
msec-55cb660eba818b1be95a5e0efa699d781598cf98.tar.bz2
msec-55cb660eba818b1be95a5e0efa699d781598cf98.tar.xz
msec-55cb660eba818b1be95a5e0efa699d781598cf98.zip
Using without-password instead of without_password.
Diffstat (limited to 'src')
-rw-r--r--src/msec/config.py2
-rwxr-xr-xsrc/msec/libmsec.py176
2 files changed, 5 insertions, 173 deletions
diff --git a/src/msec/config.py b/src/msec/config.py
index a5baef1..e60c4fa 100644
--- a/src/msec/config.py
+++ b/src/msec/config.py
@@ -79,7 +79,7 @@ SETTINGS = {'BASE_LEVEL': ("base_level",
'ACCEPT_ICMP_ECHO': ("accept_icmp_echo", ['yes', 'no']),
'ALLOW_AUTOLOGIN': ("allow_autologin", ['yes', 'no']),
'ALLOW_REBOOT': ("allow_reboot", ['yes', 'no']),
- 'ALLOW_REMOTE_ROOT_LOGIN': ("allow_remote_root_login", ['yes', 'no', 'without_password']),
+ 'ALLOW_REMOTE_ROOT_LOGIN': ("allow_remote_root_login", ['yes', 'no', 'without-password']),
'ALLOW_ROOT_LOGIN': ("allow_root_login", ['yes', 'no']),
'ALLOW_USER_LIST': ("allow_user_list", ['yes', 'no']),
'ALLOW_X_CONNECTIONS': ("allow_x_connections", ['yes', 'no', 'local']),
diff --git a/src/msec/libmsec.py b/src/msec/libmsec.py
index dbc1e81..b8ca925 100755
--- a/src/msec/libmsec.py
+++ b/src/msec/libmsec.py
@@ -1089,6 +1089,9 @@ class MSEC:
''' Allow/Forbid remote root login via sshd. You can specify yes, no and without-password. See sshd_config(5) man page for more information.'''
sshd_config = self.configfiles.get_config_file(SSHDCONFIG)
+ if not sshd_config.exists():
+ return
+
val = sshd_config.get_match(PERMIT_ROOT_LOGIN_REGEXP, '@1')
if val != arg:
@@ -1100,7 +1103,7 @@ class MSEC:
self.log.info(_('Forbidding remote root login'))
sshd_config.exists() and sshd_config.replace_line_matching(PERMIT_ROOT_LOGIN_REGEXP,
'PermitRootLogin no', 1)
- elif arg == "without_password":
+ elif arg == "without-password":
self.log.info(_('Allowing remote root login only by passphrase'))
sshd_config.exists() and sshd_config.replace_line_matching(PERMIT_ROOT_LOGIN_REGEXP,
'PermitRootLogin without-password', 1)
@@ -1573,177 +1576,6 @@ class MSEC:
""" Enables checking for dangerous options in users' .rhosts/.shosts files."""
pass
- def get_app_auth(self, app):
- ''' Determine PAM authentication scheme for an application. Returns:
- - None: if file is not found, or unknown authentication scheme
- - without_password: if no password is required
- - <user>: if user password is required
- - root: if root password is required'''
- authfile = self.configfiles.get_config_file("%s/%s" % (AUTH_PAM, app))
-
- if not authfile.exists():
- # file not found
- self.log.error(_("Unable to find PAM authentication for: %s") % app)
- return None
-
- # what kind of link is if
- link = authfile.is_link()
-
- if not link:
- # It is not a symlink...
- self.log.error(_("Unknown PAM authentication for: %s") % app)
- return None
-
- # no password
- if link.find(AUTH_LINK_CONSOLE) != -1:
- return "without_password"
-
- if link.find(AUTH_LINK_SIMPLE) != -1:
- authfile_console = self.configfiles.get_config_file("%s/%s" % (AUTH_CONSOLE, app))
- if not authfile_console.exists():
- self.log.error(_("Unable to find console authentication for: %s") % app)
- return None
- auth = authfile_console.get_shell_variable("USER")
- if auth:
- return auth
-
- # if we got here, no authentication was discovered
- self.log.error(_("Unknown authentication for: %s") % app)
-
- def set_app_auth(self, app, auth):
- ''' Configures PAM authentication scheme for an application. Valid schemes:
- - without_password: if no password is required
- - user: if user password is required
- - root: if root password is required'''
- authfile = self.configfiles.get_config_file("%s/%s" % (AUTH_PAM, app))
-
- if not authfile.exists():
- # file not found
- self.log.error(_("Unable to find PAM authentication for: %s") % app)
- return None
-
- # what kind of link is if
- link = authfile.is_link()
-
- if not link:
- # It is not a symlink...
- self.log.error(_("Unknown PAM authentication for: %s") % app)
- return None
-
- # let's set auth
- if auth == "without_password":
- if link.find(AUTH_LINK_CONSOLE) != -1:
- self.log.info(_("Configuring %s for password-less authentication") % app)
- authfile.symlink("%s/%s" % (AUTH_PAM, AUTH_LINK_CONSOLE))
- elif auth == "user" or auth == "root":
- if link.find(AUTH_LINK_SIMPLE) != -1:
- authfile.symlink("%s/%s" % (AUTH_PAM, AUTH_LINK_SIMPLE))
-
- authfile_console = self.configfiles.get_config_file("%s/%s" % (AUTH_CONSOLE, app))
- curauth = authfile.get_shell_variable("USER")
- if not curauth:
- # file not created? something wrong with the file
- self.log.error(_("Unable to find console authentication for: %s") % app)
- return None
- if auth == "user":
- newauth = "<user>"
- else:
- newauth = auth
- if newauth != curauth:
- self.log.info(_("Configuring %s for %s authentication") % (app, auth))
- authfile_console.set_shell_variable("USER", newauth)
- else:
- # if we got here, no authentication was discovered
- self.log.error(_("Unknown authentication for: %s") % app)
-
- def auth_rpmdrake(self, param):
- """Authentication for rpmdrake"""
- pass
-
- def auth_mandrivaupdate(self, param):
- """Authentication for MandrivaUpdate"""
- pass
-
- def auth_drakrpm_edit_media(self, param):
- """Authentication for drakrpm-edit-media"""
- pass
-
- def auth_drak3d(self, param):
- """Authentication for drak3d"""
- pass
-
- def auth_xfdrake(self, param):
- """Authentication for xfdrake"""
- pass
-
- def auth_drakmouse(self, param):
- """Authentication for drakmouse"""
- pass
-
- def auth_drakkeyboard(self, param):
- """Authentication for drakkeyboard"""
- pass
-
- def auth_drakups(self, param):
- """Authentication for drakups"""
- pass
-
- def auth_drakconnect(self, param):
- """Authentication for drakconnect"""
- pass
-
- def auth_drakhosts(self, param):
- """Authentication for drakhosts"""
- pass
-
- def auth_draknetcenter(self, param):
- """Authentication for draknetcenter"""
- pass
-
- def auth_drakvpn(self, param):
- """Authentication for drakvpn"""
- pass
-
- def auth_drakproxy(self, param):
- """Authentication for drakproxy"""
- pass
-
- def auth_drakgw(self, param):
- """Authentication for drakgw"""
- pass
-
- def auth_drakauth(self, param):
- """Authentication for drakauth"""
- pass
-
- def auth_drakbackup(self, param):
- """Authentication for drakbackup"""
- pass
-
- def auth_drakfont(self, param):
- """Authentication for drakfont"""
- pass
-
- def auth_draklog(self, param):
- """Authentication for draklog"""
- pass
-
- def auth_drakxservices(self, param):
- """Authentication for drakxservices"""
- pass
-
- def auth_userdrake(self, param):
- """Authentication for userdrake"""
- pass
-
- def auth_drakclock(self, param):
- """Authentication for drakclock"""
- pass
-
- def auth_drakboot(self, param):
- """Authentication for drakboot"""
- pass
-
# TODO: unfinished
def enable_apparmor(self, param):
"""Enables support for AppArmor security framework"""