CentOS中文网

用户账号安全设置

CentOS中文网 https://www.centos.net.cn 2014-10-28 02:12 出处:网络 编辑:@iCMS
用户账号是计算机使用者的身份凭证或标识,每一个要访问系统资源的人,必须凭借他的用户账号才能进入计算机。在Linux系统中,提供了多种机制来确保用户账号的正当、安全使用。合理地规划用户账号,并合理地分配权限,

用户账号是计算机使用者的身份凭证或标识,每一个要访问系统资源的人,必须凭借他的用户账号才能进入计算机。在Linux系统中,提供了多种机制来确保用户账号的正当、安全使用。合理地规划用户账号,并合理地分配权限,是保证Linux系统安全的第一步。

1. 清理系统账号


在Linux系统中,一些程序在安装时会创建特有的用户和组,这些用户仅仅用于启动服务或运行进程,通常是不允许登录的,例如mysql、apache、named、news……。当攻击者假冒这些用户或组身份时,往往不易被管理员发现。


对于这些系统账号,首先要确保他们不能用于登录,也就是要将他们的登录shell设为/sbin/nologin,同时可以考虑将账号删除或是锁定。


根据当前服务器的具体应用情况,可以将不使用的用户和组删除。例如,很少使用的用户、组包括:news、uucp、games、gopher等。再如,假设服务器不需要启用named服务,那么就可以删除named用户、named组;如果不提供FTP服务,就可以删除ftp用户、ftp组;……。


如果不确定用户能否删除,也可以将用户锁定。例:锁定用户sync。


[root@bogon ~]# passwd -l sync

推荐采用锁定的方式。

2. 锁定账号文件


如果确定系统中的账号已经达到了稳定状态,不需要再做改动,那么可以利用chattr命令将账号文件/etc/passwd和/etc/shadow锁定。

[root@bogon ~]# chattr +i /etc/passwd /etc/shadow


[root@bogon ~]# lsattr /etc/passwd /etc/shadow


----i-------- /etc/passwd


----i-------- /etc/shadow


此时再创建用户就会出现错误提示。

[root@bogon ~]# useradd temp


useradd:无法打开密码文件


将文件解锁:

[root@bogon ~]# chattr -i /etc/passwd /etc/shadow


[root@bogon ~]# lsattr /etc/passwd /etc/shadow


------------- /etc/passwd


------------- /etc/shadow

3.设置用户密码策略


在Linux系统中,设置用户密码策略的操作要分为两种情况:针对新创建的账号,针对系统中原先已经存在的账号。


对于新创建的账号,可以通过修改配置文件/etc/login.defs来设置密码策略,该文件用来定义创建用户账号时的默认设置,比如指定用户的UID和GID的范围,账号的过期时间、是否需要创建用户家目录等等。


下面是/etc/login.defs文件的重要参数介绍:


用户账号安全设置

修改该文件中的设置,只针对新创建的用户有效。例如限制用户的密码有效期(最大天数)为30天,可以将“PASS_MAX_DAYS”的值设为30,那么所有新建用户的密码有效期都将是30天。


对于系统中已经存在的账号,可以通过chage命令设置密码策略。


chage命令的常用选项:


-M,设置用户密码最长使用时间。


-W,设置用户密码过期警告时间。


-d,设置密码修改时间。


例:将zhangsan的密码有效期更改为30天。


[root@bogon ~]# chage -M 30 zhangsan


例:将zhangsan的密码过期警告时间更改为7天。


[root@bogon ~]# chage -W 7 zhangsan


例:强制用户zhangsan在下次登录时需要更改密码。

[root@bogon ~]# chage -d 0 zhangsan

4.设置历史命令条数


通过执行history命令可以列出以前曾执行过的历史命令,这也带来了一定的安全隐患。


假如我们需要将所有用户的历史命令记录条数设置为100条,这需要修改/etc/profile文件。


/etc/profile文件用于设置用户在登录系统时自动执行某些操作,对所有用户都有效。

用户账号安全设置

例如,我们希望root用户在每次注销退出时能自动清空历史命令,可以在用户家目录的.bash_logout文件中添加一条“history –c”命令。

b

用户账号安全设置


5.设置终端自动注销


在用户通过终端登录时,可以设置一个TMOUT变量,当超过指定的时间(默认单位为秒)没有输入即自动将账号注销。设置恰当的超时时间,可以有效地避免当管理员不在时其他人员对服务器的误操作风险。


设置自动注销仍是需要修改/etc/profile文件。


例:设置账号超时10分钟自动注销。


用户账号安全设置

0

精彩评论

暂无评论...
验证码 换一张
取 消