linux账户安全管理与技巧
一、实验简介
实验所属系列:操作系统安全 实
验对象: 本科/专科信息安全专业
相关课程及专业:信息网络安全概论、计算机网络
实验时数(学分):2学时
实验类别:实践实验类
二、实验目的
1、掌握linux管理账户的基本命令;
2、了解linux用户管理的一般原则;
三、预备知识
Linux下的帐户系统文件主要有/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow 4个。
四、实验环境
五、实验步骤
1)
管理帐户的俱行工具及功能如下:
useradd [] 添加新用户
usermod [] 修改已存在的指定用户
userdel [-r] 删除已存在的指定帐户,-r参数用于删除用户自家目录
groupadd [] 加新组
groupmod [] 修改已存在的指定组
groupdel 删除已存在的指定组
创建一个新用户user1
useradd user1
查看用户是否创建成功
创建一个新组group1
groupadd group1
创建一个新用户user2并将其加入用户组group1中
useradd -G group1 user2
创建一个新用户user3,指定登录目录为/www,不创建自家用户目录(-M)
useradd -d /www -M user3
将用户user2添加到附加组group1中
usermod -G group1 user1
至此,group1组中有user1,user2两个用户,用命令查看/etc/group文件如下图:
删除用户user3,用户uers3从用户组中消失
userdel user3
删除用户user2,同时删除自家目录
userdel -r user2
删除组group1,则组group1中的用户则被分配到其自己分配的私有组中。
groupdel group1
2)
passwd命令
passwd命令用来设置用户口令,格式为:passwd [] []
用户修改自己的用户密码可直接键入passwd,若修改其他用户密码需加用户名。超级用户还可以使用如下命令进行用户口令管理:
passwd -l //禁用用户帐户口令
passwd -S //查看用户帐户口令状态
passwd -u //恢复用户帐户口令
passwd -d //删除用户帐户口令
在创建完用户user1后,没给用户passwd口令时,账户默认为禁用状态:
给用户user1创建口令,设置为:111111
passwd user1
接下来我们再次查看user1状态时,则为如下图所示:
密码已经设置,且为MD5加密
禁用账户user1
passwd -l user1
恢复账户user1的账户口令:
passwd -u user1
删除用户账户口令
passwd -d user1
用户user1的密码即为空。
下面列出了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: 列出指定用户当前的口令时效信息,以确定帐号何时过期。
例如下面的命令要求用户user1两天内不能更改口令,并且口令最长的存活期为30天,并且口令过期前5天通知用户
chage -m 2 -M 30 -W 5 user1
可以使用如下命令查看用户user1当前的口令时效信息:chage -l user1
3)
指定密码复杂性
修改/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
验证时若出现任何与pam_tally有关的错误则停止登录
auth required pam_tally.so onerr=fail magic_root
账号验证过程中一旦发现连续5次输入密码错误,就通过pam_tally锁定此账号600秒
account required pam_tally.so deny=5 lock_time=600 magic_root reset
六、分析与思考
1)思考还有哪些加强linux账户安全的管理方法?
密码安全策略,限制简单密码,限制有效期等
开启防火墙,仅开启必要端口
关闭不必要的服务
清除不必要的系统账户
2)比较一下linux账户跟unix账户管理的异同。
Linux是一个基于Unix系统原理的操作系统,它是一个可以自由下载的系统,从外部下载,也可能干扰系统编辑,添加和扩展源代码。作为一个操作系统,Unix主要用于服务器、工作站,也可以用于个人电脑。它在创建互联网,创建计算机网络或者客户端,服务器模型方面发挥非常重要的作用。Unix系统支持多任务,与Multics对比控制简单、所有数据都纯文本形式存储、保存单根文件、可以同时访问多个账户。Linux系统也支持多任务,程序可能由一个或者多个进程组成,每个进程可能有一个或者多个进程;多用户,它可以运行多个用户程序、个人账户受适当权限保护、所以账目已经精确定义了系统控制权。
七、答题
八、实验心得体会
Linux操作系统是多用户操作系统,帐户实质上就是一个用户在系统上的标识。学习到了Linux账户包括用户账户和组账户,用户账户分为普通用户账户和超级用户账户两种。学会了如何建立与删除普通用户账户、管理组,以及账户口令的设置及删除。