建立与删除普通用户账户,管理组
1.创建新用户
命令: useradd 用户名
实例如下:
2.创建新组
命令: groupadd 组名
实例如下:
3.创建新用户并将其加入已有的组中
命令: useradd -G 组名 用户名
4.创建一个新用户,指定登录目录为/www,不创建自家用户目录
命令: useradd -d 路径 -M 用户名
5.将用户添加到附加组中
命令: usermod -G 组名 用户名
6.删除用户(用户uers3从用户组中消失)
命令: userdel 用户名
7.删除用户,同时删除自家目录
命令: userdel -r 用户名
8.删除组group1(组group1中的用户则被分配到其自己分配的私有组中)
命令: groupdel 组名
用户口令管理与口令时效管理
1.passwd命令
passwd命令用来设置用户口令,格式为:passwd [-lsud] 用户名
用户修改自己的用户密码可直接键入passwd,若修改其他用户密码需加用户名
超级用户还可以使用如下命令进行用户口令管理:
passwd -l //禁用用户帐户口令
passwd -S //查看用户帐户口令状态
passwd -u //恢复用户帐户口令
passwd -d //删除用户帐户口令
查看口令状态
命令: passwd -S 用户名
设置口令
在创建完用户user1后,没给用户passwd口令时,账户默认为禁用状态:
说明密码已经设置,且为MD5加密
禁用账户口令
命令: passwd -l 用户名
恢复账户口令
命令: passwd -u 用户名
删除用户账户口令
命令: passwd -d 用户名
change命令
口令时效是系统管理员用来防止机构内不良口令的一种技术。在Linux系统上,口令时效是通过chage命令来管理的,格式为:chage [-mMdlEWl]
下面列出了chage命令的选项说明:
-m days: 指定用户必须改变口令所间隔的最少天数。如果值为0,口令就不会过期。
-M days: 指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变口令。
-d days: 指定从1970年1月1日起,口令被改变的天数。
-I days: 指定口令过期后,帐号被锁前不活跃的天数。如果值为0,帐号在口令过期后就不会被锁。
-E date: 指定帐号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日后经过的天数。
-W days: 指定口令过期前要警告用户的天数。
-l: 列出指定用户当前的口令时效信息,以确定帐号何时过期
PAM可插拔验证模块
1. 指定密码复杂性
修改/etc/pam.d/system-auth配置:(注意:在root用户下进行,其余用户对这个文件只有读的权限)
vi /etc/pam.d/system-auth
限制密码最少有:2个大写字母,3个小写字母,3个数字,2个符号
文件中有一行为:
password requisite pam_cracklib.so try_first_pass retry=3
在其后追加如下参数:
ucredit=-2 lcredit=-3 dcredit=-3 ocredit=-2
2. 验证时若出现任何与pam_tally有关的错误则停止登录
auth required pam_tally.so onerr=fail magic_root
3. 账号验证过程中一旦发现连续5次输入密码错误,就通过pam_tally锁定此账号600秒
account required pam_tally.so deny=5 lock_time=600 magic_root reset
将以上三处修改完毕
系统日志
Linux日志文件路径:var/log
boot.log:引导过程日志(开机自检)
last.log:最后一次用户成功登录的时间、登录时使用的IP等信息
messages:系统和服务错误信息
secure:安全日志,用户和用户组的变化情况、用户登录认证情况
btmp:记录登录失败的用户、时间及尝试登录时使用的IP等信息
syslog:只记录警告信息,主要是系统出问题的信息,可通过lastlog命令查看
wtmp:永久记录了每个用户登录、注销及系统的启动、停机的事件,可使用last命令查看。
utmp:记录了有关当前登录的每个用户的信息,如who、w、users、finger等就需要访问这个文件
查看系统日志
口令:last [-adfnRx]
各参数的含义如下:
-a 把从何处登入系统的主机名称或ip 地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f <记录文件> 指定记录文件。
-n <显示列数>或-<显示列数> 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
不加参数则显示所有日志记录:
思考题:
1.思考还有哪些加强linux账户安全的管理方法?
为每一个账号设置使用期限,防止出现废弃账号;在系统中禁止出现没有口令的账号;定期查看系统日志等
2.比较一下linux账户跟unix账户管理的异同
异: Unix系统需要先创建组,然后才能再创建任何帐户,系统中必须使用现有组;而Linux可以直接创建用户,同时自动创建分组
同: 账户管理方面,Unix和Linux相似,都采用useradd创建用户,groupadd添加分组,用passwd进行口令设置,更改密码等操作
课后题: