共计 4040 个字符,预计需要花费 11 分钟才能阅读完成。
用户与组治理
- 什么是用户,用户是人吗?
- 用户是干啥的?
-
用户账号
- 超级管理员:root
- 普通用户:ruochen
- 零碎 / 程序用户:零碎中为某个程序而产生的用户,这类用户个别不容许登录操作系统
-
组账号
- 定义:用户的汇合
- 根本组:与用户同名的一个组
- 附加组:将其余用户减少到某个组中,那么这个组称为其余用户的附加组
-
用户作用
- Linux 基于用户身份对资源进行访问控制
-
UID 和 GID 号
- uid(user identity):用户标识号
- gid(group identity):组标识号
- root 用户 uid 号:0
- 普通用户 uid 号:1000-60000(rhel7)500+(rhel6)
- 零碎用户 uid 号:1-999(rhel7)1-499(rhel6)
用户相干文件
-
/etc/passwd 保留用户的账号信息
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin ruochen:x:1000:1000:ruochen:/home/ruochen:/bin/bash
- 字段 1:用户账号名称
- 字段 2:‘x’ 代表明码占位符 /etc/shadow
- 字段 3:用户账号的 uid 号
- 字段 4:用户根本组账号的 gid 号
- 字段 5:用户的全名
- 字段 6:宿主目录(用户的家目录)
-
字段 7:用户登录 shell 信息
- /bin/bash(默认登录 shell)
- /sbin/nologin(不容许用户登录零碎)
-
/etc/shadow 保留用户的明码信息
root: 用户账号名称 $6$3rb.lU2l/JOMd/T5$dwR0X/HIgpbHZtIqtWQbTYyB268B80nJAnXgQ8foZsOm8eRx7wynqTdZG485k8jKu5fnbEpHJOCChpWGndXHL1: 用户明码信息,采纳哈希算法加密 18050: 上次批改明码的工夫(1970.1.1)0: 明码的最短无效天数 99999: 明码的最长无效天数 7: 明码过期正告工夫 : 明码过期后是否还容许登录 0 不容许 10 容许十天 -1 长期 : 明码过期工夫 : 保留字段(未应用)
组账号相干文件
- /etc/group 保留组账号根本信息
- /etc/gshadow 保留组账号密码信息
用户和组管理软件:
- yum install system-config-users -y
- [root@localhost ~]# system-config-users
-
查看用户信息
- [root@localhost ~]# id ruochen # id username
基于命令行的用户和组治理
创立用户
-
useradd [选项] username
- -u:为账号指定 uid
- -g:指定用户 gid
- -s:为账号指定默认的登录 shell
- -G:将用户增加到指定的从属组外面
- -c:为用户增加文本形容
- -d:为主目录指定不同于登录名的名称
- -m:创立用户的家目录(默认创立)
- -M:不创立用户的家目录
- -p passwd:为用户指定一个默认明码
- -r:创立一个零碎账号
- -e:指定用户账号的逾期工夫 YYYY-MM-DD
[root@localhost ~]# useradd susa
[root@localhost ~]# useradd -u 3000 -s /sbin/nologin user
查看用户信息
- id username
[root@localhost ~]# id user
uid=3000(user) gid=3000(user) groups=3000(user)
删除用户
- userdel -r username
[root@localhost ~]# userdel -r susa
[root@localhost ~]# id susa
id: susa: no such user
[root@localhost ~]# userdel -r user
[root@localhost ~]# id user
id: user: no such user
[root@localhost ~]#
批改用户信息
-
usermod [选项] username
- -u:从新指定用户的 uid 号
- -s:从新指定用户的登录 shell
- -G:将用户增加到附加组内
- -L:用于锁定账号,使用户无奈登录
- -U:用于解除账号锁定,使用户可能登录
[root@localhost ~]# usermod -u 2000 -s /sbin/nologin harry
[root@localhost ~]# usermod -u 2000 -s /bin/bash harry
[root@localhost ~]# id harry
uid=2000(harry) gid=1001(harry) groups=1001(harry)
为用户创立明码
- passwd username
- echo ‘passwd’ | passwd –stdin username
[root@localhost ~]# passwd harry
Changing password for user harry.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# su - harry
[harry@localhost ~]$
[root@localhost ~]# usermod -L harry
[root@localhost ~]# su - harry
Last login: Sat May 16 22:17:41 EDT 2020 on pts/1
[harry@localhost ~]$
此处曾经锁定用户了,为何还能登录?
[root@localhost ~]# usermod -U harry
[root@localhost ~]# su - harry
Last login: Sat May 16 22:18:29 EDT 2020 on pts/1
[harry@localhost ~]$
更改用户明码信息
- chage -m 0 -M 90 -W 7 -I -1 username
- -d 0:强制用户下此登录批改明码
- -E YYYY-MM-DD:指定明码的过期工夫
- -l username:列出用户以后明码设置
创立组
- groupadd [选项] groupname
- -g:指定组的 gid 号
删除组
- groupdel groupname
[root@localhost ~]# groupdel manager
创立下列用户、组和组的成员关系:
- 一个名为 manager 的组
- 一个名为 harry 的用户,其属于 manager 组,这个组是该用户的隶属组
- 一个名为 natasha 的用户,其属于 manager 组,这个组是该用户的隶属组
- 一个名为 strlt 的用户,其在零碎中没有可交互的 shell,并且该用户不是 manager 组的成员
- 用户 natasha、harry 和 strlt 的明码都要设置为 default
[root@localhost ~]# groupadd manager
[root@localhost ~]# useradd -G manager harry
[root@localhost ~]# useradd natasha
[root@localhost ~]# usermod -G manager natasha
[root@localhost ~]# useradd -s /sbin/nologin strlt
[root@localhost ~]# echo 'default' | passwd --stdin harry
Changing password for user harry.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo 'default' | passwd --stdin natasha
Changing password for user natasha.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo 'default' | passwd --stdin strlt
Changing password for user strlt.
passwd: all authentication tokens updated successfully.
查看以后登录到零碎的用户
- users, w, who
[root@localhost ~]# w
23:16:53 up | 2:23, | 3 users, | load average: 0.19, 0.17, 0.14
- | – | – | – | – |
登录工夫 | 运行工夫 | 用户总数 | 负载水平(1/5/15)
USER | TTY | LOGIN@ | IDLE | JCPU | PCPU | WHAT
- | – | – | – | – | – | – |
登录用户 | 登录所用终端 | 登录工夫(LOGIN@ == LOGIN AT)| 用户闲暇工夫 | 耗费 CPU 工夫 | 工作执行后耗费工夫 | 工作是谁
root :0 20:55 ?xdm? 7:03 0.16s gdm-session-worker [pam/gdm-pas
root pts/0 21:09 1:18m 0.32s 0.32s -bash
root pts/1 21:33 5.00s 0.22s 0.00s w
-
whoami
- 显示以后用户下的用户名
-
who am i
- 显示登录时用的用户名
-
who
- 显示以后真正登录零碎的用户(不会显示 su 切换的用户)
[root@localhost ~]# who
root :0 2020-05-16 20:55 (:0)
root pts/0 2020-05-16 21:09 (192.168.37.1)
root pts/1 2020-05-16 21:33 (:0)
[root@localhost ~]# whoami
root
[root@localhost ~]# who am i
root pts/0 2020-05-16 21:09 (192.168.37.1)
[root@localhost ~]# su - ruochen
[ruochen@localhost ~]$ who am i
root pts/0 2020-05-16 21:09 (192.168.37.1)
[ruochen@localhost ~]$ whoami
ruochen
正文完