用户和组管理

1、用户配置文件和密码配置文件

/etc/passwd 用户配置文件

[root@bogon ~]# cat /etc/passwd | head -n 3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

注:由:号分割成7个字段;

第1字段为用户名,代表用户账号的字符串;字符可以是大小写字母、数字、减号、点或下划线,其它字符不合法;点和减号不建议使用,且不适合用在首位;

第2字段存放该账号的口令,这里用x代替;

第3字段的数字代表用户的标识,即UID;uid取值范围是0-65535;0是root用户标识,centos7普通用户标识从1000开始;

第4字段的数字代表组标识号,即GID;与/etc/group对应;

第5字段为注释说明,没有实际意义;

第6字段为用户的家目录;

第7字段为用户的shell.

/etc/shadow 密码配置文件 只有系统管理员才能够进行修改和查看

[root@bogon /]# cat /etc/shadow | head -n 3
root:$6$p6TxpUiq$iY8XtdAe4aWUK4avvQZgY9W8luwxgcxYsogpI6sULyotu44rycY9bEh58F69HKn..8.Zwbols47zMQrKh1enZ/:
17660:0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::

注:由:号分割成9个字段;

第1字段为用户名,与/etc/passwd对应。

第2字段为用户密码,是该账号的真正密码;

第3字段为上次更改密码的日期;

第4字段为要过多少天可以更改密码;

第5字段为密码多少天后到期,到期前修改密码;

第6字段为密码到期前的告警期限;

第7字段为账号的失效期限;

第8字段为账号的生产周期;

第9字段为保留使用,没有实际意义;

2、用户和用户组管理;

新增组命令:groupadd

命令格式: groupadd [-g gid] groupname

[root@bogon /]# groupadd grp111
[root@bogon /]# tail -n1 /etc/group
grp111:x:1002:

删除组命令:groupdel

[root@bogon /]# groupdel grp111
[root@bogon /]# tail -n3 /etc/group
chrony:x:996:
grp1:x:1000:
grp2:x:1001:

新增用户命令:useradd

命令格式: useradd [-u uid] [-g gid] [-d home] [-m] [-s]

[root@bogon /]# useradd  user2
[root@bogon /]# tail -n2 /etc/passwd
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash

删除用户命令:userdel

[root@bogon /]# userdel -r user2
[root@bogon /]# tail -n2 /etc/passwd
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
user1:x:1001:1001::/home/user1:/bin/bash

如不加[-u uid] [-g gid]则按系统默认uid gid

3、usermod 更改用户属性 命令:

  • -u:修改用户ID;
  • -g<群组>:修改用户所属的群组;只允许修改1个群组;
  • -d<登入目录>:修改用户登入时的目录;
  • -s:修改用户登入后所使用的shell;
  • -e<有效期限>:修改帐号的有效期限;
  • -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
  • -l<帐号名称>:修改用户帐号名称;
  • -L:锁定用户密码,使密码无效;
  • -G<群组>;修改用户所属的附加群组;可定义多个群组;
[root@bogon ~]# tail -n2 /etc/group
grp1:x:1000:
grp2:x:1001:
[root@bogon ~]# tail -n2 /etc/passwd
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
user1:x:1001:1001::/home/user1:/bin/bash
[root@bogon ~]# id user1
uid=1001(user1) gid=1001(grp2) 组=1001(grp2)
[root@bogon ~]# usermod -u 1005 user1
[root@bogon ~]# id user1
uid=1005(user1) gid=1001(grp2) 组=1001(grp2)
[root@bogon ~]# usermod -g grp1 user1
[root@bogon ~]# id user1
uid=1005(user1) gid=1000(grp1) 组=1000(grp1)
[root@bogon ~]# 
[root@bogon ~]# usermod -G grp1,grp2 user1
[root@bogon ~]# id user1
uid=1005(user1) gid=1000(grp1) 组=1000(grp1),1001(grp2)

4、用户密码管理

passwd 命令 设置密码

  • -d:删除密码,仅有系统管理者才能使用;
  • -f:强制执行;
  • -k:设置只有在密码过期失效后,方能更新;
  • -l:锁住密码;可用大L,对应用大U解锁;
  • -s:列出密码的相关信息,仅有系统管理者才能使用;
  • -u:解开已上锁的帐号。
[root@bogon ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@bogon ~]# passwd -l user1
锁定用户 user1 的密码 。
passwd: 操作成功
[root@bogon ~]# passwd -u user1
解锁用户 user1 的密码。
passwd: 操作成功
[root@bogon ~]# passwd --stdin user1
更改用户 user1 的密码 。
Aa1233211!!
passwd:所有的身份验证令牌已经成功更新。

mkpasswd 命令:自动生成密码

系统默认没有这个命令,安装expect包才可使用;

[root@bogon ~]# yum install -y  expect
已加载插件:fastestmirror
......
 [root@bogon ~]# mkpasswd -l 12 -s 0
mnhe16zjbPDi
  • -l 指定密码位数,
  • -s 指定特殊字符个数
  • -d 指定数字个数

5、用户身份切换

  • su 命令
  • 格式:su [-] username [-]可加可不加,加表示彻底切换;普通用户下su不加参数表示切换root用户
  • sudo 命令 用其它用户来执行命令;需在root下编辑/etc/sudoers配置文件;如没visodu命令,需运行安装yum install -y sodu
[root@bogon user1]# visodu
bash: visodu: 未找到命令
[root@bogon user1]# yum install -y sudo
已加载插件:fastestmirror
......
[root@bogon user1]# visudo 
下翻到 
 ## Allow root to run any commands anywhere
 rootALL=(ALL)   ALL
在下面添加用户及开放的root命令
 ## Allow root to run any commands anywhere
 root    ALL=(ALL)   ALL
 user1   ALL=(ALL)   /usr/bin/ls, /usr/bin/mv, /usr/bin/cat, /usr/bin/cp
[root@bogon user1]# su - user1
上一次登录:四 5月 17 23:30:14 CST 2018pts/0 上
[user1@bogon ~]$ ls -ls
总用量 0

禁止root用户远程登陆

  • sshde服务配置文件 /etc/ssh/sshd_config

[root@bogon user1]# vi /etc/ssh/sshd_config

找到

#PermitRootLogin yes

改为

#PermitRootLogin no

重启sshd服务

#systemctl restart sshd.service

注:vi下可用[/]查找内容

你可能感兴趣的:(用户和组管理)