在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念
在linux系统中,所创建的用户帐号和其相关信息(密码除外)均是存放在/etc/passwd配置文件中。由于所有用户对passwd文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了/etc/shadow的配置文件中。
1,在passwd配置文件中,从左至右各字段的对应关系及其含义:
2,用户密码管理
在shadow配置文件中,从左至右各字段的对应关系及其含义:
3.组信息管理文件
4.组密码文件:/etc/gshadow
用户管理命令:
添加用户命令:useradd
修改用户命令:passwd
修改用户权限:usermod
删除用户:userdel
切换用户:su
添加用户时会生成一个模板文件家目录
/etc/skel
在创建一个用户时,在其家目录下 会(根据模板(模板目录下的文件))自动拷贝生成 一些文件
usermod [选项] 用户名
-u UID修改用户的UID号
-c 用户说明修改用户的说明信息
-G 组名修改用户的附加组
-g 初始组修改初始组
-L临时锁定用户 (Lock)
-U解除用户锁定(Unlock)
例子:将harry添加到admin组中
[root@centos7 app]#usermod -G admin harry
[root@centos7 app]#id harry
uid=1002(harry) gid=1003(harry) groups=1003(harry),1006(admin)
3.修改用户信息 usermod
修改用户密码状态chage
usermod与useradd类似,一个针对老用户,一个是针对新增用户的 选项一样
usermod [选项] 用户名
-u UID 修改用户的UID号
-c 用户说明 修改用户的说明信息
-G 组名 修改用户的附加组
-g 初始组 修改初始组
-L 临时锁定用户 (Lock)
-U 解除用户锁定(Unlock)
修改用户密码状态
chage [选项] 用户名
-l 列出用户的详细密码状态
-d 日期 修改密码最后一次的修改日期(shadow的第三个字段)
-m 天数 两次密码修改间隔(shadow第四个字段)
-M 天数 密码有效期(第5个字段)
-W 天数 密码过期前警告的天数(第6字段)
-I 天数 密码过期后宽限天数(第7字段)
-E 日期 密码失效时间(第8字段)
用户组管理
1.添加用户组
groupadd [选项] 组名
-g GID :指定组ID
2.修改用户组
groupmod [选项] 组名
-g GID: 修改组id
-n 新组名: 修改组名
groupmod -n newgroup_name group_name
把组名group_name 修改为newgroup_name
3.删除组名
groupdel 组名
当组是一个用户的初始组而且这个用户存在时,不可以删除这个组
必须得先删初始用户才行
有附加用户没初始用户的组可以删除
groupadd gr1
useradd -g gr1 u1
useradd -G gr1 u2
不会产生u1还个组,u1用户的初始组为gr1了
4.把用户添加入组或从组中移除
gpasswd [选项] 组名
-a 用户名: 把用户加入组(操作的是附加用户)
-d 用户名: 把用户从组中删除
suid:只能作用在二进制程序上,不能作用在脚本上(scripts)上
执行suid权限的程序时,此用户将继承此程序的所有者权限
sgid:
sgid:作用在二进制程序上,执行sgid程序时,此用户将继承此程序的所属组权限
作用在目录上:再此目录上的新文件的所属组,将自动继承目录的所属组
sticky:只能作用在目录上,普通用户只能自己删除自己的文件
下面是sgid的例子
王和马哥参与一个项目,他们应该可以读写
查看用户组
[root@centos6 app]#groupmems -l -g opts
将用户组剔除
[root@centos6 project]#usermod -G '' wang //这也是一种清除的方法
[root@centos6 app]#gpasswd -d mage opts
在添加用户到组
[root@centos6 app]#groupmems -a wang -g opts
usermod -aG opts wang
将opts设置为目录的组
[root@centos6 app]#ll project1 -d
drwxr-xr-x. 2 root root 4096 Nov 19 19:06 project1
[root@centos6 app]#chgrp opts project1
[root@centos6 app]#ll -d project1
drwxr-xr-x. 2 root opts 4096 Nov 19 19:06 project1
再将目录设置为770就是other不能访问这个目录
最后将目录设置为sgid以后谁创建文件都是ops的组
最后马哥创建文件查看
chattr +i这个是就是给文件加锁
chattr +A file就是文件查看不更新时间
acl:访问控制列表
下面是给f2使用acl
[root@centos6 app]#setfacl -m u:wang:rw f2
[root@centos6 app]#su wang
[wang@centos6 app]$cat f2
[wang@centos6 app]$
查看
[wang@centos6 app]$getfacl f2
# file: f2
# owner: root
# group: root
user::rw-
user:wang:rw-
group::r--
mask::rw-
other::---
删除权限
setfacl -x u:wang d2