任务一:建立与删除普通用户账户,管理组

 

    管理帐户的俱行工具及功能如下:

    useradd [] 添加新用户

    usermod [] 修改已存在的指定用户

    userdel [-r] 删除已存在的指定帐户,-r参数用于删除用户自家目录

    groupadd [] 加新组

    groupmod [] 修改已存在的指定组

    groupdel 删除已存在的指定组

1)创建一个新用户user1

    useradd user1

    查看用户是否创建成功

linux帐户安全管理与技巧_unix

 

 

 

2)创建一个新组group1

 

 

 

    groupadd group1

 

linux帐户安全管理与技巧_unix_02

 

 

 

 

 

 

 

 

 

 

 

3)创建一个新用户user2并将其加入用户组group1中

 

 

 

    useradd -G group1 user2

 

linux帐户安全管理与技巧_用户组_03

 

 

 

 

 

 

 

 

 

 

 

4)创建一个

 

 

 

用户user3,指定登录目录为/www,不创建自家用户目录(-M)

 

 

 

    useradd -d /www -M user3

 

linux帐户安全管理与技巧_删除用户_04

 

 

 

 

 

 

 

 

 

5)将用户user1添加到附加组group1中

 

 

 

    usermod -G group1 user1

 

linux帐户安全管理与技巧_linux_05

 

 

 

 

 

 linux帐户安全管理与技巧_用户组_06

 

 

 

 

 

 

 

 

 

 

 

6)删除用户user3,用户uers3从用户组中消失

 

 

 

    userdel user3 

 

linux帐户安全管理与技巧_用户组_07

 

 

 

 

 

 linux帐户安全管理与技巧_unix_08

 

 

 

 

 

 

 

 

 

7)删除用户user2,同时删除自家目录

 

 

 

    userdel -r user

 

linux帐户安全管理与技巧_默认值_09

 

 

 

 

 

 linux帐户安全管理与技巧_删除用户_10

 

 

 

 

 

 

 

8)删除组group1,则组group1中的用户则被分配到其自己分配的私有组中。

 

linux帐户安全管理与技巧_用户组_11

 

 

 

 

 

 linux帐户安全管理与技巧_用户组_12

 

 

 

 

 

任务二:用户口令管理与口令时效管理

 

 

 

(1)passwd命令

 

    passwd命令用来设置用户口令,格式为:passwd [] []

 

    用户修改自己的用户密码可直接键入passwd,若修改其他用户密码需加用户名。超级用户还可以使用如下命令进行用户口令管理:

 

    passwd -l //禁用用户帐户口令

 

    passwd -S //查看用户帐户口令状态

 

    passwd -u //恢复用户帐户口令

 

    passwd -d //删除用户帐户口令

 

    在创建完用户user1后,没给用户passwd口令时,账户默认为禁用状态:

 

linux帐户安全管理与技巧_unix_13

 

 

 

 

 

 1. 给用户user1创建口令,设置为:111111

 

passwd user1

 

linux帐户安全管理与技巧_默认值_14

 

 

 

 2. 禁用账户user1

 

passwd -l user1

 

linux帐户安全管理与技巧_linux_15

 

 

 

 

 

3. 恢复账户user1的账户口令:

 

    passwd -u user1

 

linux帐户安全管理与技巧_unix_16

 

 

 

 

 

 

 

4. 删除用户账户口令

 

    passwd -d user1

 

linux帐户安全管理与技巧_unix_17

 

 

 

 

 

 

 

2)chage命令

 

    口令时效是系统管理员用来防止机构内不良口令的一种技术。在Linux系统上,口令时效是通过chage命令来管理的,格式为:chage []

 

    下面列出了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

 

linux帐户安全管理与技巧_用户组_18

 

 

 

 

 

 

 

日志文件路径:var/log
boot.log:引导过程日志(开机自检)
last.log:最后一次用户成功登录的时间、登录时使用的IP等信息
messages:系统和服务错误信息
secure:安全日志,用户和用户组的变化情况、用户登录认证情况
btmp:记录登录失败的用户、时间及尝试登录时使用的IP等信息
syslog:只记录警告信息,主要是系统出问题的信息,可通过lastlog命令查看
wtmp:永久记录了每个用户登录、注销及系统的启动、停机的事件,可使用last命令查看。
utmp:记录了有关当前登录的每个用户的信息,如who、w、users、finger等就需要访问这个文件。

 

 

 

任务三:PAM可插拔验证模块

 

 

 

 

 

 

 

    PAM(Plugable Authentication Module,可插拔验证模块)是由Sun提出的一种认证机制。

 

pam_cracklib主要参数说明: 

    tretry=N:重试多少次后返回密码修改错误 

    difok=N:新密码必需与旧密码不同的位数 

    dcredit=N: N >= 0:密码中最多有多少个数字;N < 0密码中最少有多少个数字. 

    lcredit=N:小宝字母的个数 

    ucredit=N大宝字母的个数 

    ocredit=N:特殊字母的个数 

    minclass=N:密码组成(大/小字母,数字,特殊字符) 

 

 

 

pam_passwdqc主要参数说明:

 

 

 

mix:设置口令字最小长度,默认值是mix=disabled。

 

 

 

max:设置口令字的最大长度,默认值是max=40。

 

 

 

passphrase:设置口令短语中单词的最少个数,默认值是passphrase=3,如果为0则禁用口令短语。

 

 

 

atch:设置密码串的常见程序,默认值是match=4。

 

 

 

similar:设置当我们重设口令时,重新设置的新口令能否与旧口令相似,它可以是similar=permit允许相似或similar=deny不允许相似。

 

 

 

random:设置随机生成口令字的默认长度。默认值是random=42。设为0则禁止该功能。

 

 

 

enforce:设置约束范围,enforce=none表示只警告弱口令字,但不禁止它们使用;enforce=users将对系统上的全体非根用户实行这一限制;enforce=everyone将对包括根用户在内的全体用户实行这一限制。

 

 

 

non-unix:它告诉这个模块不要使用传统的getpwnam函数调用获得用户信息,

 

 

 

retry:设置用户输入口令字时允许重试的次数,默认值是retry=3

 

 第一步:  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

 

 linux帐户安全管理与技巧_用户组_19

 

 

 

 然后输入:WQ:W是write,写入,Q是退出

 

linux系统中如何进入退出vim编辑器,方法及区别-百度经验 (baidu.com)

 

linux帐户安全管理与技巧_unix_20

 

 

 

 

 

 验证:

 

新建用户user1,并且为它配置密码。

 

登录(su)普通用户使用passwd程序更新密码,如果输入的密码不符合要求,将不能修改

 

su - user1

 

查看状态:passwd -S user1

 

当你输入达到最大次数后就不可以输入了。

 

 

 

linux帐户安全管理与技巧_linux_21

 

 

 

 

 

 linux帐户安全管理与技巧_unix_22

 

 

 

 linux帐户安全管理与技巧_用户组_23

 

 

 

 

 

分析与思考

1)思考还有哪些加强linux账户安全的管理方法?
加长密码长度,设置复杂的密码
2)比较一下linux账户跟unix账户管理的异同。

Linux 是一个类似 Unix 的操作系统它们都支持多任务, Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux 在外观和交互上与 UNIX 非常类似。

UNIX 是商业软件,而 Linux 是开源软件

 linux帐户安全管理与技巧_unix_24