Linux系统配置及服务管理--用户管理

用户/组基本概念

用户的作用

			查看当前登录的用户信息:
				[root@qianfeng ~]# id
				uid=0(root) gid=0(root) groups=0(root)
			查看文件的owner:
				[root@qianfeng ~]# ll /home/ 
				drwx------. 4 alice alice 4096 Jun 2 15:59 alice
				drwx------. 2 root root 16384 Jun 1 23:09 lost+found
				drwxr-xr-x 2 root root 4096 Jun 2 15:33 qianfeng
			查看运行进程的username:
				[root@qianfeng ~]# ps aux 
				USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
				root 1 0.0 0.0 19360 1536 ? Ss 13:29 0:00 /sbin/init
				root 2 0.0 0.0 0 0 ? S 13:29 0:00 [kthreadd]
				root 3 0.0 0.0 0 0 ? S 13:29 0:00 [migration/0]
				root 4 0.0 0.0 0 0 ? S 13:29 0:00 [ksoftirqd/0]

用户组信息存储的文件:

用户基本信息文件

	/etc/passwd(冒号分割为7列字段)
    root:x:0:0:root:/root:/bin/bash
    用户名:x:uid:gid:描述:HOME:shell
	root:用户名:登录系统的名字
	X:密码占位符:,具体内容不在这里
	0:UID: 用户的身份证号
	系统约定: RHEL7
    uid: 0 特权用户
    uid: 1~499 系统用户
    uid: 1000+ 普通用户
	0:GID:GROUP 组号
    root:描述:比如经理 manager
	/root:家目录:登录系统时,所在目录
	/bin/bash:登录shell:命令解释器

用户密码信息文件

/etc/shadow(8列)
root:$1$MYG2N:15636:0:99999:7:   :   :
了解即可
加密算法$id$salt$encrypted
$1: MD5
$5: SHA-256
$6: SHA-512
 root:$1$MYG2NDG6$a1wtyr5GDM2esAPjug0YP0:15636:0:99999:7:: :

1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了。
6 6 6开头的,表明是用SHA-512加密的,
1 1 1 表明是用MD5加密的
2 2 2 是用Blowfish加密的
5 5 5 是用 SHA-256加密的。

3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(软限制。到期后多少天就不能用账号了。)
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(硬限制。)
9) 保留

组信息文件

/etc/group 
root:x:0:
组名:组密码:组ID:组成员
				组成员默认为空

用户/组管理

用户:

创建用户 未指定选项

[root@qianfeng ~]# useradd user01

[root@localhost ~]# id user01
uid=1001(user01) gid=1001(user01) 组=1001(user01)

[root@qianfeng ~]# ls /var/spool/mail/user01
/var/spool/mail/user01

小结:
如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group.
==创建用户 指定选项==
[root@qianfeng ~]# useradd user02 -u 1503 //创建用户usr02,指定uid
[root@qianfeng ~]# useradd user03 -d /user03 //创建用户user03 指定家目录

删除用户

[root@qianfeng ~]# userdel -r user02

用户密码

方法一:root修改其他用户(alice)密码
[root@qianfeng ~]# passwd alice
方法二:用户(zhuzhu)登录,自己修改密码。
[zhuzhu@qianfeng ~]$ passwd

组成员管理

注意:usermode -G 组名 用户名
[root@qianfeng ~]# usermod -G hr niuniu2

其它选项管理

[root@qianfeng ~]# usermod -s /sbin/nologin niuniu2
修改登录SHELL

用户组

[root@qianfeng ~]# groupadd hr

[root@qianfeng ~]# groupadd net01 -g 2000
//添加组net01,并指定gid 2000

[root@qianfeng ~]# grep ‘net01’ /etc/group
//查看/etc/group中组net01信息

[root@qianfeng ~]# groupdel net01
//删除组net01

分类:
基本组/主组
随用户创建,自动创建的同名组
用户的基本组,显示在/etc/passwd
附加组
用户加入的其他组。
案例:

  1 useradd是创建用户的命令。
  2 usermod是修改用户的命令。
  3 groupadd是创建组的命令。
  4 -u 制定用户的UID。
  5 -g 制定用户的基本组。
  6 -G 制定用户的附加组。
  7 /etc/passwd 可以查看的是用户的基本组。
  8 /etc/group 可以查看用户的附加组。



一、创建用户AAA,同时生成基本组AAA
[root@QF ~]# useradd AAA
[root@QF ~]# grep AAA /etc/passwd
AAA:x:6001:6001::/home/AAA:/bin/bash

二、创建用户BBB,同时生成基本组BBB
[root@QF ~]# useradd BBB
[root@QF ~]# grep BBB /etc/passwd
BBB:x:6002:6002::/home/BBB:/bin/bash

三、创建组CCC
[root@qf ~]# groupadd CCC
[root@qf ~]# grep CCC /etc/group
CCC:x:7001:

四、修改用户AAA的基本组为CCC.
五、查看passwd中,用户AAA的基本组是CCC。
[root@qf ~]# usermod  AAA   -g CCC
[root@qf ~]# grep AAA /etc/passwd
AAA:x:6001:7001::/home/AAA:/bin/bash

六、修改用户BBB的附加组为CCC.
七、查看group中,用户BBB的附加组是CCC。 
[root@qf ~]# usermod  BBB   -G CCC
[root@qf ~]# grep CCC /etc/group
CCC:x:7001:BBB

提权(了解)

永久提权Switching users with su

[user01@localhost ~]$ id user01
uid=1003(user01) gid=1003(user01) 组=1003(user01)
[user01@localhost ~]$ whoami
user01
[alice@qianfeng ~]$ useradd u1
-bash: /usr/sbin/useradd: 权限不够
[alice@qianfeng ~]$ su - root
password:
[root@qianfeng ~]# useradd u1
成功

临时提权Running commands as root with sudo

sudo简介

将当前用户切换到超级用户下
然后以超级用户身份执行命令,执行完成后,直接退回到当前用户。
具体工作过程如下:
当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
–>确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
–>若密码输入成功,则开始执行sudo后续的命令

sudo配置文件语法

			##语法
			## user    MACHINE=COMMANDS
			##  用户 登录的主机=(可以变换的身份) 可以执行的命令 

目标

			创建普通用户xulei,使其具有sudo特权

示例1

			以root身份授权普通用户xulei
			[root@qianfeng ~]# vim /etc/sudoers
			%wheel ALL=(ALL) NOPASSWD: ALL
			第99行:允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令

			[root@qianfeng ~]# useradd xulei -G wheel
			[root@qianfeng ~]# id xulei
			uid=504(xulei) gid=504(xulei) 组=504(xulei),10(wheel)

			 # passwd xulei
			切换用户xulei登陆

			[xulei@qianfeng ~]$ useradd gougou10
			-bash: /usr/sbin/useradd: 权限不够
			[xulei@qianfeng ~]$ sudo useradd gougou10
			[xulei@qianfeng ~]$ id gougou10
			uid=505(gougou10) gid=505(gougou10) 组=505(gougou10)

你可能感兴趣的:(Linux)