用户权限和文件权限以及练习

概念讲解

文件的属性

文件属性之三个时间

我们都或层听说过文件的三个时间,创建时间,修改时间,变化时间。

模拟实验

增删改除用户模拟环境和要求

实验一

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值