Day05 权限和归属(ADMIN05)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day05 权限和归属(ADMIN05)相关的知识,希望对你有一定的参考价值。

一、基本权限

1.1 r

读取权限。允许查看内容。针对目录来说,能否ls只和r权限有关

1.2 w

写入权限。允许修改内容。针对目录来说,要对该目录修改的话,必须要有父目录的w权限

1.3 x

可执行权限。允许运行和切换。针对目录来说,能否cd目录只和x权限有关

二、权限适用对象(归属)

2.1 u

所有者、属主(user),拥有此文件/目录的用户

2.2 g

所有组、属组(group),拥有此文件/目录的组

2.3 o

其他(other)除user、group以外的用户。如果某个文件的other位拥有w权限的话,linux系统会自动高亮显示

三、文件权限格式

ls -ld /etc/
d rwx r-x r-x . 133 root root 8192 10月 30 09:38 /etc/
类型 属主 属组 其他组 ACL权限位 属主 属组

四、chmod [-R] [u,g,o]+-= file

修改权限命令
chmod -R o+w /nsd02 #把/nsd02及其以下的子文件夹增加其他人可写的权限

4.1 chmod +x file

给文件的user、group、other权限位全部加x

五、chown [-R] user:[.]group file

修改文件所属的属主和属组

六、如何判断用户具备的权限

6.1 判断用户所属的身份

linux的身份判断原则是这样的:所有者>所属组>其他人,匹配即停止
举例如下:
drwxr-xrwx. 2 zhangsan tedu 6 Oct 30 11:31 a
drw-r-xrwx. 2 natasha tedu 6 Oct 30 11:31 b
drwxr-xrwx. 2 zhangsan tedu 6 Oct 30 11:44 c
drwxr-xrwx. 2 zhangsan tedu 6 Oct 30 11:45 dd
-rwxr-xrwx. 1 zhangsan tedu 10 Oct 30 11:33 readme.txt

id natasha
uid=1001(natasha) gid=1001(natasha) 组=1001(natasha),1003(tedu)
从结果看对于目录b,natasha即是属主又是属于tedu组,那么natasha是否能cd进去呢?结果是不能,因为属主权限位没有x,没有x就无法cd。虽然属组权限位有x,但是根据身份判断原则,先判断属主,匹配即停止,所以没法cd

6.2看相应权限位的划分

ls -ld /etc/
d rwx r-x r-x . 133 root root 8192 10月 30 09:38 /etc/
类型 属主 属组 其他组 ACL权限位 属主 属组

七、特殊权限(附加权限)

7.1 Set uid

适用于可执行文件,可以让使用者具有文件属主的身份及部分权限(传递所有者身份)。
附加在所有者(u)的执行权限位(x)上,执行权限位会变成s或S
s:所有者(u)的执行权限位原来有x权限
S:所有者(u)的执行权限位原来没有x权限

举例:
#cp /usr/bin/touch /opt/haha
chmod u+s /opt/haha
ls -l /opt/haha
-rwsr-xr-x. 1 root root 62432 11月 10 19:30 haha
su - zs
$ ./haha zs.txt
$ ls -l zs.txt
-rw-rw-r--. 1 root zs 0 Nov 10 19:31 zs.txt
$test -u haha#测试是否设置了set uid
$ echo $?
0

7.2 Set gid

必考知识点
适用于可执行文件,功能与set uid相同(传递属组的身份),附加在属组(g)的执行权限位(x)上,执行权限位会变成s。该功能基本不用
适用于目录,可以使目录下新增的文件自动设置与父目录相同的属组;新增的子目录自动设置与父目录相同的属组而且子目录属组的执行权限位上,同样会变成s

举例:
mkdir /nsddir
test -g /nsddir
echo $?
1
chmod g+s /nsddir
test -g /nsddir
echo $?
0
用zhangsan、natasha创建文件,查看文件后发现继承了目录的属组
ls -l /nsddir/
总用量 4
drwxr-xrwx. 2 zhangsan tedu 6 10月 30 11:31 a
drw-r-xrwx. 2 natasha tedu 6 10月 30 11:31 b
drwxr-xrwx. 2 zhangsan tedu 6 10月 30 11:44 c
drwxr-xrwx. 2 zhangsan tedu 6 10月 30 11:45 dd
-rwxr-xrwx. 1 zhangsan tedu 10 10月 30 11:33 readme.txt

7.3 Sticky Bit

适用于开放w权限的目录,可以阻止用户滥用w权限来修改或删除其他人的文件。
附加在其他人(o)的执行权限位(x)上,执行权限位会变成t,俗称t权限

举例:
ls -ld /public/
drwxrwxrwt. 2 root root 37 10月 30 14:46 /public/
test -k /public #测试是否有T权限
echo $?
0
ls -l /public/
总用量 4
-rw-rw-r-T. 1 natasha natasha 4 10月 30 14:47 natasha.txt
-rw-rw-r-T. 1 zhangsan zhangsan 0 10月 30 14:46 zs.txt
natasha、zhangsan两个用户创建了文档,在没设置t权限的时候,他们修改双方的文件内容及删除。当设置了t权限之后,他们只能修改自己创建的文件

八、ACL访问控制列表

8.1 作用

标准权限加特殊权限的控制还是不够精细,acl可以对个别用户、个别组设置独立的权限。ACL权限高于基本权限

8.2 操作系统要求

EXT3、EXT4、XFS文件系统默认支持

8.3 getfacl

查看ACL权限命令
举例:
ls /NB/ -ld
drwxrwx---+ 2 root cw 20 10月 30 15:22 /NB/

getfacl /NB/
getfacl: Removing leading ‘/‘ from absolute path names

#file: NB/
#owner: root
#group: cw
user::rwx
user:dc:rw-
group::rwx
mask::rwx
other::---

8.4 setfacl [-R] -m u:user1[group]:rwx

设置ACL权限命令
举例:
setfacl -m u:dc:rwx,u:zhangsan:rx,u:natasha:x /test/ #为dc,zhangsan,natasha用户设置对/test目录的不同权限
getfacl /test/

getfacl: Removing leading ‘/‘ from absolute path names
#file: test/
#owner: root
#group: root
user::rwx
user:natasha:--x
user:zhangsan:r-x
user:dc:rwx
group::r-x
mask::rwx
other::r-x

dc用户权限测试:
[[email protected] ~]$ cd /test/
[[email protected] test]$ ls
aaa.txt
[[email protected] test]$ echo dcdcd> aaa.txt
-bash: aaa.txt: Permission denied
zhangsan用户权限测试:
[[email protected] public]$ cd /test/
[[email protected] test]$ echo as >aaa.txt
-bash: aaa.txt: Permission denied
[[email protected] test]$ cat aaa.txt
dcdcd
natasha用户权限测试:
[[email protected] ~]$ ls /test/
ls: cannot open directory /test/: Permission denied
[[email protected] ~]$ cd /test/
[[email protected] test]$ ls
ls: cannot open directory .: Permission denied

8.5 setfacl [-R] -x u:user

删除指定用户的ACL策略

8.6 setfacl [-R] -b

清空ACL策略

8.7 setfacl -k

删除默认策略

8.8 setfacl -d

恢复默认权限

九、LDAP目录和autofs服务

9.1 定义

轻量级目录访问协议(Lightweight Directory Access Protocol)
由服务器来集中存储并向客户端提供的信息,包括用户名、密码、通信录等

9.2 加入LDAP域

9.2.1安装客户端软件

sssd:与服务端沟通的软件
authconfig-gtk:图形配置sssd的工具

9.2.2 配置sssd软件

在虚拟机输入authconfig-gtk,打开图形化配置工具
用户账户数据库:LDAP
LDAP搜索基础DN:dc=example,dc=com
LDAP服务器:classroom.example.com
勾选用TSL加密连接
点击下载CA证书的地址:http://classroom.example.com/pub/example-ca.crt
认证方法:LDAP密码

9.3 autofs配置LDAP用户家目录漫游

autofs
作用:
当用户需要访问一个文件系统时,能自动挂载系统,不需要时能自动卸载。
需要满足两个条件:
-LDAP服务器已经把用户的家目录通过NFS共享出来了
-本地已经创建挂载点/home/guests/
安装步骤:
showmount -e classroom.example.com#查看LDAP服务器上的NFS共享
Export list for classroom:
/home/guests 172.25.0.0/255.255.0.0

yum -y install autofs#安装autofs软件包
mkdir /home/guests#创建家目录挂载点
echo ‘/home/guests /etc/guests.rule‘ >>/etc/auto.master#创建规则文件
echo ‘ldapuser0 -rw,v3 classroom.example.com:/home/guests/ldapuser0‘ >>/etc/guests.rule#在规则文件里面添加挂载目录名、权限、服务器地址:设备路径
echo ‘ -rw,v3 classroom.example.com:/home/guests/&‘ >>/etc/auto.all.rule#允许所有ldap用户登录,匹配任意用户名,&匹配任意设备路径
systemctl restart autofs && systemctl enable autofs
su - ldapuser0 -c ‘pwd‘#测试挂载是否成功
su - ldapuser0 -c ‘touch aaa‘#测试是否能写入
su - ldapuser0 -c ‘ls -l aaa‘#测试文件是否创建成功

以上是关于Day05 权限和归属(ADMIN05)的主要内容,如果未能解决你的问题,请参考以下文章

Linux运维之道之admin1.4(权限和归属,LADP认证)

Day05系统权限

Admin——权限LDAPNFS共享

Day05-项目讲师管理模块前端开发

在线教育_Day05-项目讲师管理模块前端开发

Day 5 (05/24)