用户和用户组

用户
- 用户对硬件资源的操作都需要通过操作系统,比如用户要读取硬盘中的一份关键数据。出于安全考虑,操作系统的开发者们都专门开发了安全机制,要使用操作系统必须事先输入正确的用户名与密码,根据用户给相应权限,这便是用户的由来
- 用户是权限的化身,通常在公司是使用普通用户管理服务器,因为root权限过大,容易出问题
- 每启动一个进程都会与一个用户关联
用户组
用户与组的关系
- 一对一:一个用户可以属于一个组,用户默认就在自己的主组下
- 一对多:一个用户可以属于多个组,用户只有一个主组,但可以为用户添加多个附加组
- 多对多:多个用户可以属于多个组
1 2 3 4 5 6
| 系统用户:uid在 0-999 之间的是系统用户 系统用户一般用在启动应用程序上,一般不需要登录系统。 普通用户:uid在 1000及以上的是普通用户 一般用在登录上。
|
用户与组相关文件
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 32 33 34 35 36 37 38 39 40 41
|
[root@localhost ~] tony:x:1004:1004::/home/tony:/bin/bash tony x 1001 1001 /home/tony /bin/bash
[root@localhost /] tony:!!:18978:0:99999:7::: tony !! 18978 0 99999 7
[root@localhost /] tony:x:1004: tony x 1004
[root@localhost /] tony:!:: tony ! : :
|
用户管理命令
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| 用户:相当于账号 root test
useradd [用户名] 参数: -g -r -M -u -s [root@localhost /] ps:每创建一个用户都会创建一个该用户的主组,组名与用户名相同
su - [用户名] su [用户名]
[root@localhost /] uid=0(root) gid=0(root) 组=0(root) [root@localhost /] uid=1001(test) gid=1001(test) 组=1001(test)
[root@localhost /] root [root@localhost /] root pts/0 2021-12-17 19:37 (192.168.15.1) root pts/1 2021-12-17 19:37 (192.168.15.1)
usermod [用户名] 参数: -u –g [root@localhost ~] user:x:1005:1005::/home/user:/bin/bash [root@localhost /] usermod: user user is currently used by process 9001 [root@localhost /] [root@localhost /] [root@localhost ~] [root@localhost ~] user:x:1006:1005::/home/user:/bin/bash [root@localhost /] [root@localhost /] user:x:1006:1001::/home/user:/bin/bash
userdel [用户名] 参数:-r [root@localhost /] [root@localhost /] drwx------ 3 1003 1003 92 12月 17 21:02 test1 [root@localhost /] -rw-rw---- 1 1003 mail 0 12月 17 21:02 test1 [root@localhost /] [root@localhost /] [root@localhost /]
|
手动创建用户
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 32 33 34 35
| [root@localhost opt]
[root@localhost opt]
[root@localhost ~]
[root@localhost ~] test:x:1001:1001::/home/test/:/bin/bash
[root@localhost ~]
[root@localhost /]
[root@localhost ~] [root@localhost ~] 或 [root@localhost ~]
[root@localhost home]
[root@localhost ~]
上一次登录:二 12月 14 19:05:50 CST 2021pts/0 上
[test@localhost ~]$
|
密码
- 修改或添加Linux普通用户的密码。直接影响的文件是/etc/shado
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 32 33 34
| 参数 -d -l -u -e -k -S
当用户密码不存在的时候即为增加密码,当用户密码存在时即为修改密码。
[root@localhost home] [root@localhost home] user:x:1005:1005::/home/user:/bin/bash [root@localhost home] user:!!:18701:0:99999:7::: [root@localhost home] [root@localhost ~] 更改用户 user 的密码 。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@localhost home] user:x:1005:1005::/home/user:/bin/bash [root@localhost home] user:$6$RApJMwf1$jytlisorvavpdDmuZ4RGyuFLZaHd5C0uMqXJU0dFt/Vn7Oj8tSiN7/RswvXc3LIBh6JuDOq73u2K1Uf4up476/:18979:0:99999:7:::
[root@localhost /] Changing password for user user. passwd: all authentication tokens updated successfully.
|

用户组管理命令
每个用户都有一个用户组,这样系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| 用户组:某些具有相同属性的账号的集合 root
groupadd 参数: -g -r -K -o [root@localhost /] [root@localhost /] group1:x:1005: [root@localhost /] [root@localhost /] group2:x:2001:
[root@localhost /] [root@localhost /] group4:x:996:
groupmod
参数: -g -n [root@localhost /] [root@localhost /] group1:x:2222:
[root@localhost /] [root@localhost /] new_group:x:2222:
groupdel [root@localhost /] [root@localhost /] mysql:x:27: tony:x:1004: group3:x:2005: group4:x:996: new_group:x:2222: ps:用户组在系统中删除,如果一个组被用户占用则不能删除。用户被删除,用户基本组也会被删除
知识储备: tail -f -q -v -c<数目> -n<行数>
|

SUDO提权
用于普通用提升权限的。


*4*|***0***su
su - xxx 和 su xxx之间区别
1 2 3 4 5 6
| 1、su - xxx :相当于切换一个窗口,su xxx 仅仅切换了用户
2、su - xxx : 切换用户执行的系统文件要多于 su xxx
3、su - xxx 是登录 su xxx 切换用户
|
Linux中的shell可以分为两类
1 2
| 登陆shell,需要输⼊⽤户名和密码才能进⼊Shell,⽇常接触的最多的⼀种 ⾮登陆shell,不需要输⼊⽤户和密码就能进⼊Shell,⽐如运⾏bash会开启⼀个新的会话窗⼝
|
*4*|***1***bash shell配置文件介绍
1 2 3 4 5 6 7 8 9 10
| 全局配置⽂件: /etc/profile /etc/profile.d/*.sh /etc/bashrc 个⼈配置⽂件: ~/.bash_profile ~/.bashrc profile类⽂件, 设定环境变量, 登陆前运⾏的脚本和命令。 bashrc类⽂件, 设定本地变量, 定义命令别名 PS: 如果全局配置和个⼈配置产⽣冲突,以个⼈配置为准。
|
*4*|***2***配置文件的执行顺序
1 2 3 4 5
| 如果执⾏的是登录式shell,那么配置⽂件执⾏顺序是: /etc/profile -> /etc/profile.d/*.sh -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc 如果执⾏的是⾮登录式shell,那么配置⽂件执⾏顺序是: ~/.bashrc -> /etc/bashrc -> /etc/profile.d/*.sh PS: 验证使⽤echo在每⾏添加⼀个输出即可,注意,要把输出放在⽂件的第⼀⾏。如果说要写登录执行脚本,可以配置在/.bashrc当中。
|