Centos7 用户和组管理

Centos7 用户和组管理


1 配置文件:

1.1 用户和密码配置文件
passwd配置文件详解
/etc/passwd说明
root:x:0:0:root:/root:/bin/bash
/etc/passwd由―:分割成7个字段,每个字段的具体含义是:
(1) 用户名(如第一行中的root就是用户名),代表用户账号的字符串。
(2) 第二个字段存放的是该账号的口令。
(3) 这个数字代表用户标识号,也叫做uid。
(4) 表示组标识号,也叫做gid。
(5) 注释说明,该字段没有实际意义。
(6) 用户的家目录。
(7) 用户的shell。除了/bin/bash外还有/sbin/nologin比较多,它表示不允许该账号登录,建立账号时添加-s选项指定第七段的值。

shadow配置文件详解
/etc/shadow说明
root:$6$rbhmcsfi.t7PfBec::0:99999:7:::
(1) 用户名。
(2) 用户密码,这个密码已经加密,该文件属性设置为000,但是root账户是可以访问或更改的。
(3) 上次更改密码的日期,这个数字是这样计算得来的,距离1970年1月1日到上次更改密码的日期。
(4) 要过多少天才可以更改密码,默认是0,即不限制。
(5) 密码多少天后到期。默认是99999,可以理解为永远不需要改。
(6) 密码到期前的警告期限。
(7) 账号失效期限。密码已经到期后多少天失效。
(8) 账号的生命周期。跟第三段一样。
(9) 作为保留用的,没有什么意义。

1.2 用户组管理
/etc/group 配置文件
root:x:0:root,shiguanghui
组名:口令:组标识号:组内用户列表
(1) 组名:组名是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
(2) 口令:口令字段存放的是用户组加密后的口令。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。
(1) 组标识号:组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组,别称GID。
(1) 组内用户列表:是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

/etc/gshadow 配置文件
root:::root  
组名:口令:组管理者:组内用户列表  
(1) 组名: 是用户组的名称,由字母或数字构成。  
(2) 口令:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码 
(3) 组管理者:这个字段也可为空,如果有多个用户组管理者,用,号分割 
(4) 组内用户列表:如果有多个成员,用,号分割 ;

2.常用基本操作

2.1 用户和密码
useradd sgh
passwd sgh
userdel sgh

2.2 创建用户组
groupadd dev
groupadd -g dev sgh  #创建用户sgh并且添加到dev组
groupdel dev

2.3 添加用户到用户组中
gpasswd -a sgh dev
usermod -g dev sgh  # 同时dev组的用户会被清空,慎用

2.4 显示最新的n条 user或者group
tail -n2 /etc/passwd
tail -n3 /etc/group

2.5 显示当前用户详情
id sgh

3.详细介绍

3.1 用户和密码
-u          指定uid或者属用户名字
-g          指定gid或者属组名字
-d          指定用户家目录
-s          指定shell
-M          不创建家目录
-G          添加扩展组,可以一次性添加多个组,使用“,”分开

3.1.1 增加uid为2000,gid为1000的用户sgh
useradd -u 2000 -g 1000 sgh

3.1.2 指定家目录、shell
useradd -d /home/sghx -s /sbin/nologin sgh

3.1.3 创建用户同时不创建用户家目录
useradd -M sgh

3.1.4 删除用户同时删除目录
userdel -r sgh

3.2  usermod更改用户属性
chmod -R ug+w /data/code  # 将目录添加用户组可写

4. sudo命令

配置文件/etc/sudoers

4.1 添加授权用户
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
sgh     ALL=(root)      NOPASSWD:/usr/bin/ls,/user/bin/mv,/usr/bin/cp

第一部分是用户名,指定哪个用户将拥有sudo的权利
第二部分右边的ALL其实是一个用户名,即,sgh用户可以切换到哪个用户的身份,如果是ALL就表示所有用户。 sgh 可以切换到root身份;
第三部分ALL,用来指定sgh用户可以使用的命令都有哪些,如果是多个命令,用英文逗号隔开。可以在前面添加NOPASSWD 不使用密码。

4.2 添加授权用户组
%wheel ALL=(ALL) ALL 以组的形式添加。

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

%dev    ALL=(root)      NOPASSWD: ALL

5. acl权限:

5.1. 查看:

getfacl  a.txt  #查看名称为a.txt的文件的acl权限
getfacl  /root  #查看root目录下的acl权限

5.2. 操作:
5.2.1 添加

setfacl  -m  user:lee:wrx  a.txt  #使用户lee对文件a.txt的权限为wrx
setfacl  -m  group:wang:wrx  a.txt  #使组对文件a.txt的权限为wrx
setfacl  -d  -m  user:lee:wrx  /root  #使lee对/root文件夹里面的所有文件都有wrx权限
setfacl  -R  user:lee:wrx  /root  #使lee在/root文件夹下所有的文件的权限为wrx

5.2.2 修改:
setfacl  -x  user:lee:w  a.txt  #修改lee对文件a.txt的权限为w

5.2.3 删除:
setfacl  -k  #删除附加的权限

你可能感兴趣的:(linux)