用户和用户组

用户
- 用户对硬件资源的操作都需要通过操作系统,比如用户要读取硬盘中的一份关键数据。出于安全考虑,操作系统的开发者们都专门开发了安全机制,要使用操作系统必须事先输入正确的用户名与密码,根据用户给相应权限,这便是用户的由来
 
- 用户是权限的化身,通常在公司是使用普通用户管理服务器,因为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当中。
   |