linux文件权限及特殊权限

Posted 王顺子

tags:

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

使用五种方法查看文件权限

# 使用五种方法,查看文件的权限,数字形式
[root@wzh ~]# stat 123|awk -F \'[(0/]\' \'NR==4{print $3}\'
755
[root@wzh ~]# stat 123|sed -nr \'4s#.*\\(0(.*)/d.*#\\1#gp\'
755
[root@wzh ~]# ll 123 -d|tr \'rwx-\' \'4210\'| awk  -F \'\' \'{print $2+$3+$4$5+$6+$7$8+$9+$10}\' 
755
[root@wzh ~]# stat 123|head -4|tail -1|cut -d \'0\' -f2|cut -d \'/\' -f1
755
[root@wzh ~]# stat 123|grep -w \'Gid\'|grep -o \'[0-9*]\'|xargs -l4|grep -w \'5\'|cut -d \'0\' -f2,4,6
 7 5 5
[root@wzh ~]# stat 123|grep -o \'755\'
755
[root@wzh ~]# name="$(stat 123|head -4|tail -1)"&& echo ${name:10:3}
755

rwx对文件的影响

r:查看文件内容,不能写,不能执行
w:不能读,不能执行,写入使用echo >>,可以追加,写入使用vim,不能追加,只能覆盖
x:什么也干不了,因为无法读取文件内容,所以不知道执行什么内容
rw:读写不能执行
rx:读和执行,不能写
wx:和单个w一样
rwx:可读 可写 可执行

rwx对目录的影响

r:可以查看目录下的文件名,但是无法查看属性
w:啥也干不了
x:啥也干不了
rx:查看文件属性,可以进入,可以cp,不能rm 不能mv
rw:可以查看,可以写入,但是不能cp,不能rm,不能mv
rwx:可以查看,可以写入,可以cp 可以rm 可以mv
wx:可以创建,可以删除,不能查看

授权命令

# chown
chown 属主.属组 文件或目录
-R:递归更改属组和属主


# chmod
chmod 777 文件或目录
chmod u=rwx
chmod u+x

u:user 属主
g:group 属组
o:other 其他用用户
a:all 所有权限位

-R:递归授权

linux 特殊权限介绍

[root@www ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

[root@www ~]# ll /usr/bin/write
-rwxr-sr-x. 1 root tty 19624 4月  11 2018 /usr/bin/write

[root@www ~]# ll /tmp/ -d
drwxrwxrwt. 9 root root 4096 4月   3 09:49 /tmp/

SUID
全拼:set uid

在属主权限位上,本来应该是x执行权限出现了一个s

一般是针对可执行文件

如果一个可执行文件,在属主权限位的x位上有s权限,那么证明该文件有set uid特殊权限。
set uid:任何用户(除了root外)执行具有suid权限的文件时,会以该文件属主的身份去执行

![](https://img2020.cnblogs.com/blog/2082997/202007/2082997-20200712193743563-668141468.png)

## SUID授权
# chmod ugo方式
[root@www ~]# chmod u+s 文件或目录

# chmod number方式 4000
[root@www ~]# chmod 4755 aaaa
[root@www ~]# chmod 4000 aaaa

注意:当授权文件,原本属主位上有x权限时,是s,原本属主位上没有x权限时,是S

SGID
全拼:set gid权限

在属组权限位上,本来应该是x执行权限出现了一个s

一般是针对目录,也有可执行文件(大部分针对目录)

[root@www ~]# ll /usr/bin/write
-rwxr-sr-x. 1 root tty 19624 4月  11 2018 /usr/bin/write

1.针对用户组权限位修改,用户创建的目录或文件所属组和该目录的所属组一致。
2.当某个目录设置了sgid后,在该目录中新建的文件不在是创建该文件的默认所属组
3.使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。

主要目的:共享目录

## SGID授权方式
# chmod ugo方式
[root@www ~]# chmod g+s /tmp/test/

# chmod number方式  2000
[root@www ~]# chmod 2000 3

注意:当授权文件,原本属组位上有x权限时,是s,原本属组位上没有x权限时,是S

SBIT(粘滞位)
sticky(SI TI KI)粘滞

在其他用户权限位上,本来应该是x执行权限出现了一个t

普通用户对该目录拥有w和x权限,即普通用户可以在此目录中拥有写入权限,如果没有粘滞位,那么普通用户拥有w权限,就可以删除此目录下的所有文件,包括其他用户简历的文件。但是一旦被赋予了粘滞位,除了root可以删除所有文件,普通用户就算有w权限也只能删除自己建立的文件,而不能删除其他用户简历的文件。

系统中存在的/tmp目录是经典的粘滞位目录,谁都有写权限,因此安全成问题,常常是木马第一手跳板。

## SB授权方式
# chmod ugo 方式
[root@www ~]# chmod o+t SB

# chmod number方式
[root@www ~]# chmod 1755 IT

注意:当授权目录,原本其他用户权限位上有x权限时,是t,原本其他用户权限位上没有x权限时,是T

命令中的"慈禧"

# 当创建一个用户用户的时候:
1.创建用户   信息记录到 > /etc/passwd
1.1 用户相关的密码  记录到 > /etc/shadow
2.创建用户组  信息记录到 > /etc/group
2.1 用户组相关的密码 记录到 > /etc/gshadow

chattr 枷锁(root都无法操作被chattr命令加锁的文件)
i:上锁,什么都不能做,只能看
a:只能看和追加内容(不能覆盖)

lsattr 查看额外的权限

linux系统进程掩码UMASK

[root@www ~]# umask
0022

mkdir dir
0777
0022
----
0755

touch file
0666
0022
----
0644


[root@www ~]# umask 0033
[root@www ~]# umask
0033

dir:744
file:644

[root@www ~]# umask 0011
dir:766
file:666

0777
0011
----
0766

0666
0011
----
0655
0666

[root@www ~]# umask 0044
dir:733
file:622

umask计算,当umask中出现奇数时:目录计算方式不变,但是奇数位的结果要+1
0777
0033
----
0744

0666
0033
----
0633
0644



[root@www ~]# umask 0045
dir:732
0777
0045
----
0732

file:622

0666
0045
----
0622

以上是关于linux文件权限及特殊权限的主要内容,如果未能解决你的问题,请参考以下文章

linux文件的权限及特殊权限位

linux文件权限及特殊权限

linux文件系统上的特殊权限及细致权限ACL

Linux之权限设置(默认权限隐藏权限及特殊权限)

linux基础--特殊权限及文件系统访问控制列表

day09-linux特殊权限及软连接