Loading

权限问题

1、重要: r、w、x权限对文件和目录的意义:

补充:

(1)w(目录):可以创建或删除目录中任意一个空目录。如果被删除的目录不

是空目录且该目录没有w权限,则该目录无法被删除。

(2)建议权限设置:

1)目录:755(drwxr-xr-x)

2)文件:644(-rw-r--r--)

3)可执行文件:755(-rwxr-xr-x)


2、高级权限:

(1)高级权限的类型

suid 4

sgid 2

sticky 1 粘滞位


文件 目录

suid 执行的时候以所有者身份执行


sgid 继承属组


sticky 谁可以删除:root、文件的所有者、目录的所有者


(2)设置特殊权限

1)字符

chmod u+s file

#用户位的x位上设置

chmod g+s dir

#用户组位的x位上设置

chmod o+t dir

#其它用户位的x位上设置


2)数字

chmod 4755 file

chmod 2755 dir

chmod 1777 dir


(3)示例:

1)示例1:suid 普通用户通过suid提权 <针对文件>

在进程文件(二进制,可执行)上增加suid权限

[root@localhost ~]# chmod u+s /bin/cat

[root@localhost ~]# ls -l /bin/cat

-rwsr-xr-x. 1 root root 54080 4月 11 2018 /bin/cat

[alice@tianyun ~]$ cat /root/install.log


2)示例2:sticky 用户只能删除自己的文件 <针对目录>

[root@localhost ~]# mkdir /home/dir1

[root@localhost ~]# chmod 777 /home/dir1

[root@localhost ~]# chmod o+t /home/dir1

[root@localhost ~]# ll -d /home/dir1

drwxrwxrwt 2 root root 21 5月 25 23:36 /home/dir1

测试:user1在/home/dir1建立文件, user2尝试删除!


=================================================================

小知识:注意以下目录的正确权限,否则会导致程序不能正常运行

[root@wangcy ~]# ll -d /tmp /var/tmp/

drwxrwxrwt. 8 root root 105 5月 25 23:51 /tmp

drwxrwxrwt. 3 root root 18 5月 25 23:29 /var/tmp/

=================================================================


3)示例3:sgid 新建文件继承目录属组 <针对目录>

[root@localhost ~]# mkdir /home/hr

[root@localhost ~]# groupadd hr

[root@localhost ~]# chgrp hr /home/hr/

[root@localhost ~]# chmod g+s /home/hr

[root@localhost ~]# ll -d /home/hr/

drwxr-sr-x 2 root hr 33 5月 25 23:52 /home/hr/

[root@localhost ~]# touch /home/hr/file92

[root@localhost ~]# mkdir -p /home/hr/test

[root@localhost ~]# ll /home/hr/

drwxr-sr-x 2 root hr 0 5月 8 21:31 test

-rw-r--r-- 1 root hr 0 5月 26 23:53 file92


3、基本权限 ACL

(1)说明

文件权限管理之: ACL设置基本权限(r、w、x)

UGO设置基本权限: 只能一个用户,一个组和其他人

ACL 设置基本权限: r,w,x


(2)ACL基本用法

[root@localhost ~]# touch /home/test.txt

[root@localhost ~]# ll /home/test.txt

-rw-r--r-- 1 root root 0 6月 8 22:07 /home/test.txt


# 查看文件的acl

[root@localhost ~]# getfacl /home/test.txt

getfacl: Removing leading '/' from absolute path names

# file: home/test.txt

# owner: root

# group: root

user::rw-

group::r--

other::r--


1)增加用户lc权限

[root@localhost ~]# setfacl -m u:lc:rwx /home/test.txt

###############################################################

#增加用户jack权限

#[root@localhost ~]# setfacl -m u:jack:- /home/test.txt

#增加其他用户权限

#[root@localhost ~]# setfacl -m o::rw /home/test.txt

#增加组用户赋权

#[root@localhost ~]# setfacl -m g:hr:r /home/test.txt

###############################################################


2)查看

[root@localhost ~]# ll /home/test.txt

-rw-rwxr--+ 1 root root 0 6月 8 22:11 /home/test.txt


[root@localhost ~]# getfacl /home/test.txt

getfacl: Removing leading '/' from absolute path names

# file: home/test.txt

# owner: root

# group: root

user::rw-

user:lc:rwx

group::r--

mask::rwx

other::r--


3)删除

#删除用户lc的acl权限

[root@localhost ~]# setfacl -x u:lc /home/test.txt

#删除所有acl权限

[root@localhost ~]# setfacl -b /home/test.txt


4)查看帮助

[root@localhost ~]# man setfacl

#复制file1的ACL权限给file2

[root@localhost ~]# getfacl file1 | setfacl --set-file=file2


(3)ACL高级用法

1)mask:

用于临时降低用户或组(除属主和其他人)的权限

建议:为了方便管理文件权限,其他人的权限置为空

[root@localhost ~]# setfacl -m m::--- /home/file100.txt


2)default: 继承(默认)

要求:希望lc能够对/home以及以后在/home下新建的文件或目录有读、写、执行权限


思路:

步骤一: 赋予lc对/home读、写、执行权限

[root@localhost ~]# setfacl -m u:lc:rwx /home


步骤二: 赋予lc对以后在/home下新建的文件或目录有读、写、执行权限 (使lc的权限继承)

[root@localhost ~]# setfacl -m d:u:lc:rwx /home

#d 表示将权限放在/home目录的 default:user:lc:rwx 上,user:lc:rwx 被下一层文件和目录所继承,如果下一层是目录,

#目录上也会显示 default:user:lc:rwx ,然后以此类推的继承下去


说明:可用 -R 进行递归操作赋权

setfacl -R -x u:lc /home

#表示清除/home目录以及/home目录下所有文件和目录的 user:lc:rwx 的 acl 权限

setfacl -R -x d:u:lc /home

#表示清除/home目录以及/home目录下所有文件夹上默认继承给下层的 default:user:lc:rwx 的acl权限


setfacl -R -b /tools

#表示清除tools目录下所有文件和目录的上有关acl权限的所有设置



示例:

[root@centos7 ~]# getfacl /home/

getfacl: Removing leading '/' from absolute path names

# file: home/

# owner: root

# group: root

user::rwx

user:lc:rwx

group::r-x

mask::rwx

other::r-x

default:user::rwx

default:user:lc:rwx

default:group::r-x

default:mask::rwx

default:other::r-x













posted @ 2021-04-26 13:01  云起时。  阅读(132)  评论(0编辑  收藏  举报