3.4 usermod命令

3.5 用户密码管理

3.6 mkpasswd命令


3.4 usermod命令

在某些情况下需要改变现的用户的属性,改变用户的home目录、登录名、密码、登录shell,截止日期等,在这种情况下“usermod命令被使用。实例如下:

#格式如下:
[root@linux1 ~]# usermod -u 1200 user       #修改用户的UID
[root@linux1 ~]# id user                    #查看这个用户的UID、gid和扩展组
uid=1200(user) gid=1000(user) 组=1000(user)
#格式:usermod -g gidname username
[root@linux1 ~]# usermod -g root user       #修改用户的GID
[root@linux1 ~]# id user
uid=1200(user) gid=0(root) 组=0(root),1000(user)
#指定家目录
[root@linux1 ~]# usermod -d /home/abc user2 #格式
[root@linux1 ~]# cat /etc/passwd            #查看passwd文件
user2:x:1201:1201::/home/abc:/bin/bash      #家目录路径改变
[root@linux1 ~]# usermod -s /sbin/nologin user2      #修改默认的执行脚本程序
[root@linux1 ~]# tail -n1 /etc/passwd                #查看修改情况
user2:x:1201:1201::/home/abc:/sbin/nologin           #这里看出是一样的

usermod -G #添加扩展组

格式:usermod -G gid_name user_name
usermod -G grp2,user5 aming #添加多个组. -g 只允许一个组

#实例:
[root@linux1 ~]# usermod -G user1 user2                   #把user1组添加到user2里面
[root@linux1 ~]# id user2
uid=1201(user2) gid=1201(user2) 组=1201(user2),1002(user1)

[root@linux1 ~]# usermod -G root,user user1                #添加多个组的方式
[root@linux1 ~]# id user1
uid=1001(user1) gid=1002(user1) 组=1002(user1),0(root),1000(user)



3.5 用户密码管理

在使用Linux系统当中,修改密码是比较常用到的。有个root修改密码,也有给普通用户设置密码等等。下面介绍passwd的一些使用方法:

修改普通用户的密码:passwd user_name

[root@linux1 ~]# passwd user
更改用户 user 的密码 。
新的 密码:
无效的密码: 密码是一个回文
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

从中使用过程中发现,密码太简单了,又设置不了,太难了,又无法记住。

tail /etc/shadow #查看shadow文件

4944c3c55e9d1bfb8fd6906504c8a65e.png-wh_

"*,!" 表示用户被锁定了,不能用,不能登录

passwd -l user #锁定用户命令

8d0e309c0c907f1db9b2bf8d8114f9e7.png-wh_

passwd -u user #解锁用户命令

79700b23cd667343a96fb4bb076c559a.png-wh_

usermod -L user #锁定用户命令 (不管是一个叹号还是两个,都是表示被锁定)

972c4dac3b72755a4d114123991c84df.png-wh_

[root@linux1 ~]# passwd --stdin user      #更改用户的密码(只需要输入一次,
更改用户 user 的密码 。
123456                                    #并且明文显示,简单密码也生效)
passwd:所有的身份验证令牌已经成功更新。

写shell脚本的时候的用法

#第一种方法:
[root@linux1 ~]# echo "111222" |passwd --stdin user  #|:管道符
更改用户 user 的密码 。                              #作用:把前面的命令传到后面的命令
passwd:所有的身份验证令牌已经成功更新。

#-e 表示可以换行
[root@linux1 ~]# echo -e "111222\nsss"
111222
sss
#更改用户的密码的另一种方式
[root@linux1 ~]# echo -e "1112222\n1231111" |passwd --stdin user
更改用户 user 的密码 。
passwd:所有的身份验证令牌已经成功更新。

建议:设定设置密码的原则:

  1. 超过10位

  2. 大小字母+数字,推荐带特殊字符

  3. 密码不要有规律性

  4. 密码不要包含:名字、生日等


3.6 mkpasswd命令

mkpasswd命令生成随机复杂密码,前提安装expect,然后执行mkpasswd命令即可生成随机的密码。

mkpasswd是 make password 缩写

[root@linux1 ~]# yum install -y expect        #安装命令
#常用用法:
[root@linux1 ~]# mkpasswd                #生成一个随机密码
1oTFl1-xc
[root@linux1 ~]# mkpasswd -l 12          #指定字符长度
j+2fvvZ7sSku
[root@linux1 ~]# mkpasswd -l 12 -s 3     #指定有几个特殊符号
1j*nh2u~C\oY
[root@linux1 ~]# mkpasswd -l 12 -s 0     #不需要特殊符
pXkvY52bsswx

个人的见解:

mkpasswd整体上来讲其实更是一个用具,实际中只能当一个工具来用,想要设置更安全的密码还是需要系管理员的安全意识要高。提高安全意识比任何工具都可靠,为什么这么认为呢?服务器的密码、各个网站的密码,虽然很强,但是如果系统管理员记不住,把密码文件放到自己的电脑上,并且设置一个简单的密码,这样其实也是不安全的。所以,还是要提高安全意识是第一位。