解析/etc/login.defs 配置文件
一:
感慨一下,对linux的了解还是太少。又涨了点见识,知道还有这么个文件! login.defs是设置用户帐号限制的文件,在这里我们可配置密码的最大过期天数,密码的最大长度约束等内容。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc /login.defs #*REQUIRED*
#Directorywheremailboxesreside,_or_nameoffile,relativetothe
#homedirectory.Ifyou_do_defineboth,MAIL_DIRtakesprecedence.
#QMAIL_DIRisforQmail
#
#QMAIL_DIRMaildir
MAIL_DIR/var/spool/mail注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件;
#MAIL_FILE.mail
#Passwordagingcontrols:
#
#PASS_MAX_DAYSMaximumnumberofdaysapasswordmaybeused.
#PASS_MIN_DAYSMinimumnumberofdaysallowedbetweenpasswordchanges.
#PASS_MIN_LENMinimumacceptablepasswordlength.
#PASS_WARN_AGENumberofdayswarninggivenbeforeapasswordexpires.
#
PASS_MAX_DAYS99999注:用户的密码不过期最多的天数;
PASS_MIN_DAYS0注:密码修改之间最小的天数;
PASS_MIN_LEN5注:密码最小长度;
PASS_WARN_AGE7注:
#
#Min/maxvaluesforautomaticuidselectioninuseradd
#
UID_MIN500注:最小UID为500,也就是说添加用户时,UID是从500开始的;
UID_MAX60000注:最大UID为60000;
#
#Min/maxvaluesforautomaticgidselectioningroupadd
#
GID_MIN500注:GID是从500开始;
GID_MAX60000
#
#Ifdefined,thiscommandisrunwhenremovingauser.
#Itshouldremoveanyat/cron/printjobsetc.ownedby
#theusertoberemoved(passedasthefirstargument).
#
#USERDEL_CMD/usr/sbin/userdel_local
#
#Ifuseraddshouldcreatehomedirectoriesforusersbydefault
#OnRHsystems,wedo.ThisoptionisORedwiththe-mflagon
#useraddcommandline.
#
CREATE_HOMEyes注:是否创用户家目录,要求创建;
[url=http://asmboy001.blog.51cto.com/340398/156527][/url]
二:
口令时效是一种系统机制,用于强制口令在特定的时间长度后失效。对用户来说,这可能带来了一些麻烦,但是它确保了口令会定期进行更改,是一项很好的
安全措施。默认情况下,绝大多数的Linux分装版本并没有打开口令时效,不过要想打开却非常简单。
通过编辑/etc/login.defs,你可以指定几个参数,来设置口令实效的默认设定:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
当设置口令时效的天数为99999时,实际上相当于关闭了口令时效。一个更明智的设定一般是60天——每2个月强制更改一次密码。
PASS_MIN_DAYS参数则设定了在本次密码修改后,下次允许更改密码之前所需的最少天数。PASS_WARN_AGE的设定则指明了在口令
失效前多少天开始通知用户更改密码(一般在用户刚刚登陆系统时就会收到警告通知)。
你也会编辑/etc/default/useradd文件,寻找INACTIVE和EXPIRE两个关键词:
INACTIVE=14
EXPIRE=
这会指明在口令失效后多久时间内,如果口令没有进行更改,则将账户更改为失效状态。在本例中,这个时间是14天。而EXPIRE的设置则用于为所有
新用户设定一个密码失效的明确时间(具体格式为“年份-月份-日期”)。
显然,上述这些设定更改之后,只能影响到新建立的用户。要想修改目前已存在的用户具体设置,需要使用chage工具。
# chage -M 60 joe
这条命令将设置用户joe的PASS_MAX_DAYS为60,并修改对应的shadow文件。
你可以使用chage -l的选项,列出当前的账户时效情况,而使用-m选项是设置PASS_MIN_DAYS,
用-W则是设置PASS_WARN_AGE,等等。chage工具可以让你修改特定账户的所有密码时效状态。
注意,chage仅仅适用于本地系统的账户,如果你在使用一个类似LDAP这样的认证系统时,该工具会失效。如果你在使用LDAP作为认证,而你又
打算使用chage,那么,哪怕仅仅是试图列出用户密码的时效信息,你也会发现chage根本不起作用。
制定一项策略,定义多长时间一个密码必须进行更改,然后强制执行该策略,是非常不错的一个做法。在解雇了某个雇员后,口令时效策略会保证该雇员不可
能在被解雇3个月后发现他的口令依然可用。即使系统管理员忽略了删除他的帐号,该帐号也会因密码时效策略而被自动锁定。当然,这一点并不能成为不及时删除
该雇员帐号的理由,但是这个策略的确提供了一层额外的安全防护,尤其是在过去常常忽视及时清理帐号的情况下。
阅读(1435) | 评论(0) | 转发(0) |