陈奇网络工作室

redhat7文件权限-注意

系统运输

文件权限

在linux上,所有内容都是文件,但取决于文件类型。 在linux系统上,使用不同的字符进行区分,如下所示:

文字

意义

普通文件

d

目录文件

l

链接文件

B

块设备文件

C

字符设备文件

p

管道文件

每个文件都有所有者和所有组,并具有各自的权限。 读取( r )写入( w )执行( x )不用于文件和目录rwx的含义

文件:

r读取文件内容的权限

w修改文件内容的权限

执行x文件内容的权限

目录:

r查看目录中文件的权限

w穿、删除或修改目录下文件的权限

r访问目录的权限

例如以下所示。

lwxrwxrwx.1 root root7feb 719:53 bin-usr/bin

dr-xr-xr-x.3根4096feb712:08引导

文件的特殊权限

SUID

SUID是对二进制文件设置的特殊权限,二进制文件执行者可以临时拥有所有者权限。 (只对具有执行权限的二进制文件有效。 )

命令是chmod u s文件名,用于将所有者权限从rwx更改为rws。 其中x为s表示您具有SUID权限,如果原所有者的权限为rw-,则为rws,其中-为大写s

例如,passwd命令:

[ root @ localhost/] # ll/bin/passwd

- rwsr-xr-x.1 root root 27832 Jan 302014/bin/passwd

SGID

SGID主要实现两个功能。

使执行者暂时拥有属于组的权限(设置具有执行权限的二进制文件) )。

在目录中创建的文件将自动继承更改目录的用户组

命令是chmod g s文件名,用于将所有组的权限从rwx更改为rws。 其中,x变为s表示具有SGID权限,如果原本所有组的权限都是rw-,则为rws,其中-为大写的s

例如:

创建目录test。 所有者和所属组是test。 如果将目录权限设置为777,则其他用户可以在test目录下创建自己的文件。 所有者和所属组是用户自己

如果设置了SGID,则其他用户在test目录下创建的文件所属的组将为test

[ root @ localhost/] # chmod 777/test

[root@localhost /]# ls -l /test

rwxrwxrwx.2 test test6feb 720:36 test

[ root @ localhost/] # su-ldeveloper-c touch/test/a.txt

[root@localhost /]# chmod g s /test

[root@localhost /]# ls -l /test

rwxrwsrwx.2 test test6feb 720:36 test

[ root @ localhost/] # su-ldeveloper-c touch/test/b.txt

[root@localhost /]# ls -l test/

- rw-r---r----1developer developer 0f EB 720:37a.txt

- rw-r---r----1developer test 0f EB 720:37b.txt

SBIT

如果某个目录具有SBIT权限,则只有该目录的所有者才能修改目录中的文件,而其他用户没有删除权限。

命令是chmod o t目录名,文件的他人权限部分的x执行权限被置换为t或者t,如果本来有x执行权限则写为r,如果本来没有x执行权限则写为t。

例如,对于系统的/tmp目录,所有用户都可以在/tmp目录下创建文件,但不能删除其他用户创建的文件。

文件隐藏属性

chattr命令

chattr命令以名为“chattr [参数]文件名”的格式设置文件的隐藏权限。 如果要将某些隐藏功能添加到文件中,则必须在命令后添加“参数”;如果要从文件中删除某些功能,则必须添加“-参数”。 命令参数如下表所示。

例如:

可以操作普通文件来创建、复盖、添加和删除。

[root@localhost ~]# touch aa.txt

[ root @ localhost~] # echohelloaa.txt

[ root @ localhost~] # echohelloaa.txt

[root@localhost ~]# rm -f aa.txt

如果将隐藏权限a添加到一个文件,则只能添加文件,不能复盖或删除文件

[root@localhost ~]# touch bb.txt

[ root @ localhost~] # chattr abb.txt

[ root @ localhost~] # echohellobb.txt

- bash:bb.txt:operationnotpermitted

[ root @ localhost~] # echohellobb.txt

[root@localhost ~]# rm -f bb.txt

RM:cannot remove‘bb.txt’: operationnotpermitted

lsattr命令

lsattr命令由& #039; lsattr [参数]文件& #039; 以格式显示文件的隐藏权限。 在linux系统上,必须使用lsattr命令显示文件隐藏权限

[root@localhost ~]# lsattr bb.txt

------a------ bb.txt

[root@localhost ~]# ls -l bb.txt

- rw-r---r----1root root6feb 1011:00bb.txt

文件访问控制列表

上述常规、特殊和隐藏权限的通用性-权限是为特定类型的用户设置的,如果要对指定用户进行单独的权限控制,则必须使用文件访问控制列表( ACL )。 对普通文件或目录设置ACL是指对指定用户或用户组设置文件或目录的操作权限。 如果在目录中设置了ACL,则目录中的文件会继承该ACL。 如果文件包含ACL,则文件不再继承该目录的ACL。

例如:

使用普通用户linuxprobe进入root用户的主目录时,将显示您没有权限

[ Linux probe @ localhost~~ ] $ CD/root

- bash:CD:/root:permission denied

[linuxprobe@localhost ~]$

setfacl命令

setfacl命令用户必须在& #039; setfacl [参数]文件名& #039; 格式管理文件的ACL规则。 文件的ACL提供了除所有者、所有组和其他人的读取、写入和执行权限以外的特殊权限控制。 可以使用setfacl命令控制对单个用户或用户组、单个文件或目录的读取、写入和执行权限。 目录必须有-R参数; 对文件使用-m参数; 如果要删除文件的ACL,请使用-b参数。

例如:

设置/root目录的用户权限,以允许普通用户linuxprobe访问/root目录。

[ root @ localhost~] # setfacl-rmu:Linux probe:rwx/root

[ root @ localhost~] # su-Linux probe

lastlog in:mon feb 1011:10:08 CST 2020 on pts/2

[ Linux probe @ localhost~~ ] $ CD/root /

[linuxprobe@localhost root]$ ls

anaconda-ks.CFG bb.txt initial-setup-ks.CFG

要删除ACL权限:

setfacl -b /root

getfacl命令

getfacl命令用户以“getfacl文件名”的格式显示在文件中设置的ACL信息。

[ root @ localhost~] # getfacl/root /

getfacl:removingleading\\\& quot; /\& quot; 框架solutepathnames

# file: root/

# owner: root

# group: root

user:r-x

user:linuxprobe:rwx

group:r-x

mask:rwx

other:---

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3