centos7 用户相关操作

版权声明:欢迎带走,但请留下出处.............. https://blog.csdn.net/kevin3101/article/details/86592203

所有命令基于centos7系统

1.新建用户

#useradd testa

2.指定用户家目录

# useradd test2 -d /tmp/

3.指定用户shell

[root@localhost ~]# useradd test3 -d /tmp/

...

[root@localhost ~]# id test3

uid=1004(test3) gid=1004(test3) groups=1004(test3)

4.设置用户不可登录

[root@localhost ~]# usermod -s /sbin/nologin test3

新建用户

# useradd -s /sbin/nologin test4

...

test4:x:1005:1005::/home/test4:/sbin/nologin

5.修改用户shell

[root@localhost ~]# usermod -s /bin/bash test3

[root@localhost ~]# cat /etc/passwd | grep test3

test3:x:1004:1004::/tmp/:/bin/bash

6.新建用户并指定过期时间

useradd -e '2019-01-20' test5

...

[root@localhost ~]# chage -l test5

Last password change : Jan 17, 2019

Password expires : never

Password inactive : never

Account expires : Jan 20, 2019

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

7.修改用户过期时间

usermod -e "2019-01-23 00:00:00" test5

...

[root@localhost ~]# chage -l test5

Last password change : Jan 17, 2019

Password expires : never

Password inactive : never

Account expires : Jan 23, 2019

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

8.锁定用户、解锁用户

usermod -L test5 #锁

usermod -U test5 #解

#锁

[root@localhost ~]# passwd -l test5

Locking password for user test5.

passwd: Success

#解锁

[root@localhost ~]# passwd -u test5

Unlocking password for user test5.

passwd: Success

9.修改用户密码

[root@localhost ~]# passwd test5

Changing password for user test5.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

10.修改自己的密码(不包括root用户)

[test5@localhost ~]$ passwd

Changing password for user test5.

Changing password for test5.

(current) UNIX password:

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

注需要遵守系统定义的密码规则

11.指定用户组

[root@localhost yum.repos.d]# useradd -g testg test6

[root@localhost yum.repos.d]# id test5

uid=1006(test5) gid=1007(testg) groups=1007(testg)

...

[root@localhost yum.repos.d]# useradd -G testg1,testg2 test7

[root@localhost yum.repos.d]# id test7

uid=1008(test7) gid=1010(test7) groups=1010(test7),1008(testg1),1009(testg2)

ps: -g 指定主组(primary group)

-G 指定组列表(supplementary Groups)多个组中间用逗号分隔

12.修改用户组

[root@localhost yum.repos.d]# usermod -g testg1 test7

[root@localhost yum.repos.d]# id test7

uid=1008(test7) gid=1008(testg1) groups=1008(testg1),1009(testg2)

...

[root@localhost yum.repos.d]# usermod -G testg1,testg2 test6

[root@localhost yum.repos.d]# id test6

uid=1007(test6) gid=1007(testg) groups=1007(testg),1008(testg1),1009(testg2)

ps: -g 指定主组(primary group)

-G 指定组列表(supplementary Groups)多个组中间用逗号分隔

13.指定用户uid

[root@localhost yum.repos.d]# useradd -u 1234 test8

[root@localhost yum.repos.d]# id test8

uid=1234(test8) gid=1234(test8) groups=1234(test8)

14.修改用户uid

[root@localhost yum.repos.d]# usermod -u 1235 test8

[root@localhost yum.repos.d]# id test8

uid=1235(test8) gid=1234(test8) groups=1234(test8)

15.切换用户身份

su - test8

16.新建用户不建立家目录

useradd -M test9

17.修改密码复杂度(密码质量)

两种实现方式:最小长度9,密码包含数字、大小写字母、特殊字符,都是基于pam_pwquality模块

a. 使用authconfig命令

authconfig

# authconfig --passminlen=9 --passminclass=1 --passmaxrepeat=0 --passmaxclassrepeat=0 --enablerequpper --enablereqlower --enablereqdigit --enablereqother --update

--passminlen=<number> 最小密码长度

--passminclass=<number> 密码中字符最小个数

--passmaxrepeat=<number> 密码中相同连续字符的最大个数

--passmaxclassrepeat=<number> 密码中同类连续字符的最大个数

--enablereqlower 使能密码中至少包含一个小写字母

--disablereqlower 失能密码中至少包含一个小写字母

--enablerequpper 使能密码中至少包含一个大写字母

--disablerequpper 失能密码中至少包含一个大写字母

--enablereqdigit 使能密码中至少包含一个数字

--disablereqdigit 失能密码中至少包含一个数字

--enablereqother 使能密码中至少包含一个特殊字符

--disablereqother 失能密码中至少包含一个特殊字符

命令执行的结果是把指定的规则更新到/etc/security/pwquality.conf文件中。所以第二种方式就是直接修改该文件

b. 修改/etc/security/pwquality.conf

在文件中加入下列内容可达到与a中命令实现的同样的效果

minlen = 9 #最小长度

minclass = 1 #最小字符长度

maxrepeat = 0 #不启用检测

maxclassrepeat = 0 #不检测

lcredit = -1 #小写字母

ucredit = -1 #大写字母

dcredit = -1 #数字

ocredit = -1 #特殊字符

注: 当值为0时表示该项目的检测为disable

18.设置ssh远程用户最大失败次数

修改pam下的插件内容 /etc/pam.d/sshd

#通过ssh登录时调用的验证模块

在第一行后面增加

auth required pam_tally2.so deny=3 unlock_time=300

失败三次锁定,锁定300s后自动解锁

19.设置本地登录用户失败次数,锁定时间

同样需要pam_tally2模块

修改/etc/pam.d/login

第一行后增加

auth required pam_tally2.so deny=3 unlock_time=300

20.查看及清除用户登录失败次数

使用pam_tally2 命令,用法如下:

pam_tally2: [-f rooted-filename] [--file rooted-filename]

[-u username] [--user username]

[-r] [--reset[=n]] [--quiet]

[root@host-192-168-40-105 pam.d]# pam_tally2 -u test9

Login Failures Latest failure From

test9 4 01/22/19 10:31:37 192.168.40.109

...

清除

[root@host-192-168-40-105 pam.d]# pam_tally2 -u test9 --reset=0

Login Failures Latest failure From

test9 0

21.密码更详细的操作

chage选项与参数:

-l :列出该账号的详细密码参数;

-d :后面接日期或天数,修改 shadow 第三字段(最近一次更改密码的日期),格式 YYYY-MM-DD,

-E :后面接日期,修改 shadow 第八字段(账号失效日),格式 YYYY-MM-DD

-I :后面接天数,修改 shadow 第七字段(密码失效日期)

-m :后面接天数,修改 shadow 第四字段(密码最短保留天数)

-M :后面接天数,修改 shadow 第五字段(密码多久需要进行变更)

-W :后面接天数,修改 shadow 第六字段(密码过期前警告日期)

chage -d 0 test9 #d后面跟0,则最后一次修改的时间会被置为1970年1月1日,那这个密码则被认为是有问题的需要立即修改

实现下面几个效果

新用户首次登录需要修改密码:

chage -d 0 test9

用户三个月修改一次密码:

chage -M 90 test9

22.查看当前登录用户

[root@host-192-168-40-105 pam.d]# whoami

root

...

23.查看所有登录用户

[root@host-192-168-40-105 pam.d]# who

root pts/0 2019-01-21 17:25 (192.168.7.20)

test9 pts/1 2019-01-22 11:25 (192.168.40.109)

24.查看当前用户登录信息

[root@host-192-168-40-105 pam.d]# w

11:37:03 up 10 days, 18:17, 2 users, load average: 0.00, 0.01, 0.05

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 192.168.7.20 Mon17 7.00s 0.61s 0.61s -bash

test9 pts/1 192.168.40.109 11:25 11:25 0.00s 0.00s -bash

25. 踢掉当前登录的某个用户

[root@host-192-168-40-105 pam.d]# w

11:45:06 up 10 days, 18:25, 2 users, load average: 0.00, 0.01, 0.05

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 192.168.7.20 Mon17 2.00s 0.62s 0.62s -bash

test9 pts/1 192.168.40.109 11:25 19:28 0.00s 0.00s -bash

...

[root@host-192-168-40-105 pam.d]# pkill -kill -t pts/1

...

[root@host-192-168-40-105 pam.d]# w

11:45:29 up 10 days, 18:25, 1 user, load average: 0.00, 0.01, 0.05

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 192.168.7.20 Mon17 1.00s 0.63s 0.63s -bash

猜你喜欢

转载自blog.csdn.net/kevin3101/article/details/86592203
今日推荐