一:对于用户及用户组的解释
用户:由于需要对资源进行合理分配以及保护产生的划分,产生的分类
account 账号 auther 密码 author 授权 称为3A机制,最低级的加密方式
用户组:一个逻辑容器,对用户进行归类以及统一授权。划分到同一个组里的人,有相同的权利,为了方便权力的划分和下放
初始组称为主组,另外加的组叫附加组
二: 关于用户查看的方法
whoami 查看当前用户
id 查看用户id信息
-u 查看用户的用户id
-g 查看用户主组id
-G 查看用户的所有组的id
-n 显示名称
下面实验显示了名称,是因为编写了一个root
[root@localhost 桌面]# id -u root
0
[root@localhost 桌面]# id -g root
0
[root@localhost 桌面]# id -G root
0
[root@localhost 桌面]# vim /etc/group
[root@localhost 桌面]# id -G root
0 72
[root@localhost 桌面]# id -G -n root
root tcpdump
三:用户切换:
1.如果在图形里使用
gnome-session-quit
如果要强制执行的话,加--force
[xizi1314@localhost 桌面]$ gnome-session-quit --force
2.如果在命令行里 直接切换:
[xizi1314@localhost 桌面]$ su root
Password:
[root@localhost 桌面]# su xizi1314
[xizi1314@localhost 桌面]$
要加 —
[root@localhost 桌面]# su xizi1314
[xizi1314@localhost 桌面]$ pwd
/home/xizi1314/桌面
[xizi1314@localhost 桌面]$ su - xizi1314
Password:
[xizi1314@localhost ~]$ pwd
/home/xizi1314
高级用户切到普通用户不需要密码,普通用户切换到普通用户,需要密码,普通切高级也需要密码。
[root@localhost xizi1314]# su - xizi1314
[xizi1314@localhost ~]$ su - xizi1314
密码:
[xizi1314@localhost ~]$
反复的su会导致开了多个 shell,导致执行环境错乱
所以,注意在切换完身份后,要及时退出(在各种切换中,没想到已经开了这么多shell)
[root@localhost ~]# exit
注销
[xizi1314@localhost ~]$ exit
注销
[xizi1314@localhost ~]$ exit
注销
[root@localhost xizi1314]# exit
exit
[xizi1314@localhost ~]$ exit
注销
[xizi1314@localhost 桌面]$ exit
exit
[root@localhost 桌面]# exit
四:用户涉及到的系统配置文件
1. /etc/passwd 用户身份信息文件
##用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell
用户id范围:0~65535个
0 :超级用户ID
1-999:用户级ID
1000-65535以上设定规则被记录在/etc/login.defs
2./etc/group 组身份信息文件,可以看出一共有四列
如果转换用户,编写脚本如下:
完成后使用exit时,就会执行cal指令
[xizi1314@localhost 桌面]$ su - root
Password:
[root@localhost ~]# vim .bash_logout
[root@localhost ~]# exit
注销
十二月 2021
日 一 二 三 四 五 六
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
同样编写一段字符也可以在exit后显示
[xizi1314@localhost 桌面]$ su - root
Password:
[root@localhost ~]# vim .bash_logout
[root@localhost ~]# exit
注销
westos linux
注意,此处的echo就相当于c语言中的printf,什么都会显示出来的意思
3. /etc/skel/.* 用户环境配置文件模板
4. /etc/shadow 用户认证信息文件
(记录了密码的加密字符串)
5. /home/username 用户家目录
比如用户叫xizi,那家目录就叫/home/xizi
6. /var/spool/mail/username 用户邮箱文件
发邮件时,存放在这个里面
五:用户和组的新建
建立以及删除用户实验
首先监控两个文件的后三行
代码:
[xizi1314@localhost 桌面]$ watch -n 1 "tail -n 3 /etc/passwd /etc/group;ls -l /home"
想退出的话,直接使用ctrl c
新开一个shell可以看到:
注意,userdel只删除的是用户信息,但是使用过的资源依然保留
userdel -r 表示的是删除干净,包括使用过的资源
建立组同理,groupadd groupdel
六:用户建立时指定用户信息
groupadd -g 8888 westoslinux 指定名称建立组
groupdel westoslinux 删除组
useradd -u 8888 westoslinux 指定名称建立用户
注意:建立用户的同时也会自动建立一个跟用户同名的组
(默认情况下id和uid是一致的,没有附加组)
vim /etc/login.defs 设定默认建立的规则
指定主组id(出生就放到养父母家)useradd -g
[root@localhost 桌面]# groupadd -g 8888 westoslinux
[root@localhost 桌面]# useradd -g 8888 westoslinux
[root@localhost 桌面]#
输出结果如下:
uid=1001(westoslinux) gid=8888(westoslinux) 组=8888(westoslinux)
useradd -G 指定附加组的身份
指定完以后会有多个附加组的身份
[root@localhost 桌面]# useradd -G 72 westoslinux
[root@localhost 桌面]# id westoslinux
uid=1001(westoslinux) gid=1001(westoslinux) 组=1001(westoslinux),72(tcpdump)
[root@localhost 桌面]#
说明文字: useradd -c
[root@localhost 桌面]# useradd -c "westoslinux user" westoslinux
就可以看到注释词了
westoslinux:x:1001:1001:westoslinux user:/home/westoslinux:/bin/bash
指定家目录: useradd -d (这里指定haha为家目录)
[root@localhost 桌面]# useradd -d /home/haha westoslinux
==> /etc/passwd <==
tcpdump:x:72:72::/:/sbin/nologin
xizi1314:x:1000:1000:xizi1314:/home/xizi1314:/bin/bash
westoslinux:x:1001:1001::/home/haha:/bin/bash
只建立身份,不建立家目录 useradd -M
westoslinux:x:1001:1001::/home/westoslinux:/bin/bash
指定用户的shell: -s /bin/sh
两种可交互的shell (一种是/bin/sh,另一种是/bin/bash,此外还有一种,/sbin/nologin,系统自己用的,不对外开放)
[root@localhost 桌面]# useradd -s /bin/sh westoslinux
westoslinux:x:1001:1001::/home/westoslinux:/bin/sh