文章目录
概念讲解
文件的属性
文件属性之三个时间
我们都或层听说过文件的三个时间,创建时间,修改时间,变化时间。
模拟实验
增删改除用户模拟环境和要求
实验一
1。假如需要新建三个用户
panda:附加组为bear
pb,附加组为bear
brown,不可登录系统用户,用户注释为“This is a new test account ” ,附加组为bear.
创建一个组:
bear,指定GID(1010)用户组密码为123456,
groupadd -g 1010 bear
gpasswd bear
useradd -G bear panda
useradd -G bear pb
useradd -r -M -G bear -s /sbin/nologin -c "This is a new test account " brown
批量新建文件:
vim /etc/group
bear:x:1010:panda,pb,brown
panda:x:1001:
pb:x:1002:
brown;x:982:
vim adduser.txt
panda:x:1001:1001::/home/panda:/bin/bash
pb:x:1004:1004::/home/pb:/bin/bash
brown:x:988:988:This is a new test account ::/sbin/nologin
newusers passwd adduser.txt
实验二
批量修改panda,pb,brown用户密码为“123456”。
vim chpd.txt
panda:123456
pb:123456
brown:123456
chpasswd <chpd.txt
实验三
修改用户pb的UID(1005),GID(1005),新附加组为pb,bear,brown,更改用户brown的个人信息为“This is old account”。
usermod -u 1005 -a -G brown pb
groupmod -g 1005 pb
usermod -c "This is old account"
实验四
删除用户pb的所有附加组
gpasswd -d pb bear
gpasswd -d pb brown
实验五
修改用户brown的个人信息为,更改chsh为非系统用户shell,并查看brown的用户个人信息。
chfn brown:
Change the account to system account
chsh brown
/bin/bash
总结
可配置/etc/passwd;/etc/shadow/;etc/group;/etc/gshadow文件内的配置信息进行修改。
用户密码复杂度设置
1.查看账户密码复杂度设置:可以看/etc/shadow文件
panda:!!:18470:3:42:7:7:18608:
用户名:
口令:
自1970年1月1日到最后一次修改时间:
最小时间时间间隔(两次修改口令之间的最小天数):
最大时间(口令有效持续的最长天数):
警告时间(密码过期前几天警告):
不活动时间(用户不登录多少天仍旧有效):
到期时间(用户到什么时间失效)
2.查看系统新建用户强制密码复杂度设置:
cat /etc/pam.d/system-auth
3.系统用户密码复杂度设置
chage
实验一
将panda用户的过期时间设置为:3天内不允许修改密码,密码有效期为42天,密码过期警告时间为7天,账号无操作7天后失效,账号有效期至2020年12月12日:
chage -m 3 -M 42 -W 7 -I 7 -E 2020-12-12 panda
文件权限管理
特殊权限管理SUID,SGID,Sticky
1.SUID
当一个可执行的二进制文件作用了SUID后,任何人在执行了该文件后都具有其所拥有人具有的权限。
chmod u(+/-)s file
2.SGID
当对一个可执行的二进制文件作用了sgid权限之后,任何人在执行该文件时临时拥有其所属组的权限。当对于一个目录作用了sgid权限之后,任何人在该目录下创建的文件的所属组与该目录的所属组相同。
chmod g(+/-)s dir
3.Sticky
当对于一个目录作用了sticky权限之后,该目录下的文件仅其文件的所属人,或目录的所属人及root才能删除。
chmod o(+/-)t dir
文件特殊属性
chattr
i 不可更改,删除,更名
a 不可追加
lsattr 显示特定属性
访问控制列表ACL
简单地来说ACL就是可以设置特定用户或者用户组对于一个文件/文件夹的操作权限. 需要掌握的命令也只有三个: getfacl, setfacl, chacl。
1,设置ACL支持
linux ACL需要内核和文件系统的支持,安装操作系统任务完成后所建立的分区默认是不支持ACL功能的,需要手动进行相关配置。(CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加)
#cat /etc/fstab
tune2fs是调整和查看linux文件系统的文件系统参数。
tune2fs –o acl /dev/sdb1
设置/dev/sdb1挂载选项,启用Posix Access Control Lists和用户指定的拓展属性,开机取消自检。
mount –o acl /dev/sdb1 /mnt/test
将 /dev/sdb1 /mnt/test 目录设置acl
ACL生效顺序:
所有者,自定义用户,所属组|自定义组,其他人
试验一:
设置ACL权限setfacl
参数:
用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
-m, --modify-acl 更改文件的访问控制列表
-M, --modify-file=file 从文件读取访问控制列表条目更改
-x, --remove=acl 根据文件中访问控制列表移除条目
-X, --remove-file=file 从文件读取访问控制列表条目并删除
-b, --remove-all 删除所有扩展访问控制列表条目
-k, --remove-default 移除默认访问控制列表
--set=acl 设定替换当前的文件访问控制列表
--set-file=file 从文件中读取访问控制列表条目设定
--mask 重新计算有效权限掩码
-n, --no-mask 不重新计算有效权限掩码
-d, --default 应用到默认访问控制列表的操作
-R, --recursive 递归操作子目录
-L, --logical 依照系统逻辑,跟随符号链接
-P, --physical 依照自然逻辑,不跟随符号链接
--restore=file 恢复访问控制列表,和“getfacl -R”作用相反
--test 测试模式,并不真正修改访问控制列表属性
-v, --version 显示版本并退出
-h, --help 显示本帮助信息
————————————————
版权声明:本文为CSDN博主「yearing1017」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jin970505/article/details/79068429
查看设置的ACL权限
cd /date;touch test.txt
getfacl test.txt
# file: test.txt
# owner: panda
# group: panda
user::rw-
group::r--
other::r--
设置并查看文件test.txt的ACL权限:
setfacl -m u:pb:rw test2.txt
getfacl test.txt
# file: data/test2.txt
# owner: root
# group: root
user::rw-
user:pb:rw-
group::r--
mask::rw-
other::r--
清楚所有ACL权限:
setfacl -b file1
复制
getfacl file | setfacl --set-file= -file2