Linux文件和目录读写执行权限解析
linux所属组权限

linux所属组权限Linux所属组权限指的是在Linux操作系统中,一个文件或目录所属的组对该文件或目录的权限控制。
在Linux中,每个文件或目录都有一个所有者和一个所属组,所有者是创建该文件或目录的用户,而所属组是该用户所属的组。
权限控制是Linux系统中非常重要的一部分,通过对文件或目录的权限进行设置,可以实现对文件或目录的读、写、执行等操作的控制。
本文将从不同的角度介绍Linux 所属组权限的相关内容。
一、Linux所属组权限的基本概念在Linux中,每个文件或目录都有三种不同的权限,即读权限、写权限和执行权限。
这三种权限分别对应于文件或目录的所有者、所属组和其他用户。
所属组权限即指的是对于所属组中的用户来说,对文件或目录的读、写、执行等操作的控制权限。
二、设置Linux所属组权限的方法1. 使用chmod命令设置所属组权限使用chmod命令可以对文件或目录的权限进行设置,其中包括所属组权限。
通过chmod命令,可以使用数字或符号来设置所属组的权限。
例如,使用数字表示权限时,可使用数字0~7分别表示不同的权限组合,其中0表示无权限,7表示具有读、写和执行权限。
而使用符号表示权限时,可使用“+”、“-”和“=”来设置所属组的权限。
例如,使用“+”表示增加权限,“-”表示取消权限,“=”表示直接设置权限。
2. 使用chgrp命令更改所属组使用chgrp命令可以更改文件或目录的所属组。
通过chgrp命令,可以将文件或目录的所属组更改为其他组。
例如,使用chgrp命令加上新的所属组名称,即可将文件或目录的所属组更改为指定的组。
三、Linux所属组权限的作用1. 实现文件或目录的共享在Linux中,可以通过设置所属组权限,将文件或目录共享给同一组中的其他用户。
这样,其他用户就可以通过所属组权限来对文件或目录进行读、写、执行等操作。
2. 提高文件或目录的安全性通过设置所属组权限,可以限制对文件或目录的访问。
Linux文件和目录的权限

Linux初探>Linux文件和目录的权限几个基本概念:·文件所有者(用户)owner·用户组group·其他人others·root文件属性:ls -al 查看文件及属性第一列:文件类型和权限第1个字符代表文件类型(文件、目录或链接文件等)第234个字符表示文件所有者对文件/目录的权限第567个字符表示文件所有者所在用户组对文件/目录的权限第890个字符表示文件所有者所在用户组之外的用户对文件/目录的权限权限用固定的rwx序列表示,有该权限则写相应字符,无权限则写-root拥有最高权限第二列表示有多少个文件名连接到此节点(i-node)第三列表示这个文件/目录的“所有者”账号第四列表示这个文件所属的用户组第五列为这个文件的大小,默认单位B第六列为这个文件的创建或修改日期。
中文日期为乱码可以使用“LANG=en_US”修改语言第七列为文件名,前面为“.”则为隐藏文件改变文件属性与权限:1.chgrp改变文件所属用户组语法:chgrp [-R] groupname dirname/filename参数:-R 递归,同时改变目录及其下所有子目录、文件的权限要求:groupname存在问题:能否改变用户组为文件所有者不支持的用户组。
如果可以,会是什么情况。
2.chown改变文件所有者语法:chown [-R] username dirname/filename要求:必须是存在的用户问题:改变文件所有者或,所属用户组是否随之改变。
3.chmod改变文件/目录权限数字法:用421分别表示rwx的权值,用权值和表示权限,如5代表权限r-x,7代表rwx。
用三位数表示完整权限,如755代表rwxr-xr-x。
字符法:第一组字符:u(user)文件所有者、g(group)用户组、o(others)其他人。
a (all)所有人第二组字符:+ 添加权限、- 去掉权限、=赋予权限第三组字符:r读 w写 x执行语法:chmod [-R] 权限 dirname/filename例:chmod 755 .bashrcchmod u=rwx,go=rx .bashrcchmod a+w .bashrc目录与文件的权限意义:文件:r:可读取此文件的实际内容,如读取文本文件的文字内容。
linux下修改文件权限chmod命令详细解析

linux下修改⽂件权限chmod命令详细解析使⽤ Linux 的chmod命令控制谁可以访问读写或运⾏⽬标⽂件。
在 Linux 中,谁可以对⽂件或⽬录做什么是通过⼀系列权限来控制的。
权限可以控制对⽂件或⽬录执⾏的操作(读写或执⾏)。
我们可以使⽤-l(长格式)选项来ls列出⽂件和⽬录的⽂件权限。
ls -l在每⼀⾏中,第⼀个字符标识列出条⽬类型。
如果它是破折号 ( -),则它是⼀个⽂件。
如果是字母d,则是⽬录。
接下来的九个字符代表三组权限的设置。
前三个字符显⽰拥有⽂件的⽤户的权限(⽤户权限)。
中间三个字符显⽰⽤户组成员的权限(组权限)。
最后三个字符显⽰前两个类别(其他权限)以外的任何⼈的权限。
每组权限中有三个字符。
字符是权限存在与否的指⽰符。
它们是破折号 ( -) 或字母。
如果字符是破折号,则表⽰未授予权限。
如果字符是⼀个r,w或者x,该权限已被授予。
字母代表:r:读取权限。
可以打开⽂件并查看其内容。
w:写权限。
该⽂件可以被编辑、修改和删除。
x:执⾏权限。
如果⽂件是脚本或程序,则可以运⾏(执⾏)。
例如:---意味着根本没有授予任何权限。
rwx表⽰已授予完全权限。
读取、写⼊和执⾏指⽰器都存在。
设置权限的语法要使⽤chmod设置权限,我们需要告诉它:who:我们为谁设置权限。
what:我们正在做出什么改变?我们是添加还是删除权限?which:我们设置了哪些权限?我们使⽤指标来表⽰这些值,并形成简短的“权限语句”,例如u+x,其中“u”表⽰“当前⽤户”(who),“+”表⽰添加(what),“x”表⽰执⾏权限(which) .我们可以使⽤的“who”值是:u:⽤户,表⽰⽂件的所有者。
g:组,表⽰⽂件所属组的成员。
o : 其他,意思是不受u和g权限管理的⼈。
a : All,意思是以上所有。
我们可以使⽤的“what”的值包括:–:减号。
删除权限。
+:加号。
授予权限。
该权限将添加到现有权限中。
如果您想拥有此权限并且仅设置此权限,请使⽤该=选项,如下所述。
Linuxchmod命令修改文件与文件夹权限使用教程

Linux chmod命令修改文件与文件夹权限使用教程Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
在linux中要修改一个文件夹或文件的权限我们需要用到linux chmod命令来做,具体怎么使用呢?下面我写了几个简单的实例大家可参考一下方法步骤语法:chmod [who] [+ | - | =] [mode] 文件名命令中各选项的含义为u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。
它是系统默认值。
操作符号可以是:+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。
方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
实例修改文件可读写属性的方法例如:把index.html 文件修改为可写可读可执行:复制代码代码如下:chmod 777 index.html要修改目录下所有文件属性可写可读可执行:复制代码代码如下:chmod 777 *.*把文件夹名称与后缀名用*来代替就可以了。
比如:修改所有htm文件的属性:复制代码代码如下:chmod 777 *.htm修改文件夹属性的方法把目录 /images/xiao 修改为可写可读可执行复制代码代码如下:chmod 777 /images/xiao修改目录下所有的文件夹属性复制代码代码如下:chmod 777 *把文件夹名称用*来代替就可以了要修改文件夹内所有的文件和文件夹及子文件夹属性为可写可读可执行复制代码代码如下:chmod -R 777 /upload补充:Linux基本命令1.ls命令:格式::ls [选项] [目录或文件]功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
Linux下读写和执行权限的理解

Linux下读写和执行权限的理解
读取是读取,执行是执行。
读取是获得这个文件的内容。
执行是运行这个程序或者代码、shell等等。
你可以给一个图片(肯定不能运行)赋予运行权限,之后这个图片就能运行。
当然运行肯定会因为格式问题而出错,但他确实可以“运行”。
同样,一个本来可以执行的文件。
如果你不给他运行权限,哪么这个脚本就只能用来打开看看内容,而不能去执行它(虽然并不绝对……)。
这就是读取和运行的区别,
你可以认为读写是一般的管理权限,执行权限是一个特殊的功能限制权限。
Linux文件和目录的777、755、644权限解释

Linux⽂件和⽬录的777、755、644权限解释Linux⽂件和⽬录的权限1.⽂件权限在linux系统中,⽂件或⽬录的权限可以分为3种:r:4 读w:2 写x:1 执⾏(运⾏)-:对应数值0数字 4 、2 和 1表⽰读、写、执⾏权限rwx = 4 + 2 + 1 = 7 (可读写运⾏)rw = 4 + 2 = 6 (可读写不可运⾏)rx = 4 +1 = 5 (可读可运⾏不可写)⽰例:最⾼权限777:(4+2+1) (4+2+1) (4+2+1)第⼀个7:表⽰当前⽂件的拥有者的权限,7=4+2+1 可读可写可执⾏权限第⼆个7:表⽰当前⽂件的所属组(同组⽤户)权限,7=4+2+1 可读可写可执⾏权限第三个7:表⽰当前⽂件的组外权限,7=4+2+1 可读可写可执⾏权限⽰例:755:(4+2+1) (4+1) (4+1)第⼀个7:表⽰当前⽂件的拥有者的权限,7=4+2+1 可读可写可执⾏权限第⼆个5:表⽰当前⽂件的所属组(同组⽤户)权限,5=4+1 可读可执⾏权限第三个5:表⽰当前⽂件的组外权限,5=4+1 可读可执⾏权限⽰例:644:(4+2) (4) (4)第⼀个6:表⽰当前⽂件的拥有者的权限,6=4+2 可读可写不可执⾏权限第⼆个4:表⽰当前⽂件的所属组(同组⽤户)权限,4=4 可读权限第三个4:表⽰当前⽂件的组外权限,4=4 可读权限2.查看⽂件的权限(ls -l 或 ls ll 或 ls -al)总共分为7⼤列: 第⼀列:⽂件类型,1-代表普通⽂件 d-代表⽬录 第⼆列:⽂件节点数(node) 第三列:表⽰⽂件拥有者root⽤户 第四列:表⽰⽂件所属组root⽤户组 第五列:显⽰⽂件⼤⼩,默认是字节byte,可以通过命令 ls -lh 更⼈性化地查看⽂件⼤⼩ 第六列:⽂件最后修改时间 第七咧:⽂件或⽬录的名称3.设置⽂件/⽬录的权限(ls -l 或 ls ll 或 ls -al)语法: chomd 755 ⽂件名。
Linux-权限管理(文件权限)

Linux-权限管理(⽂件权限)Linux - 权限管理(⽂件权限)⼀:基本权限1.基本权限介绍基本权限类型类型全拼释义权限位r read可读4w write可写2x execute可执⾏1权限的归属归属字母属主u属组g其他⽤户o2.设置权限修改属主、属组# 修改⽂件:1.txt的属主为:darker 属组为:human[root@localhost ~]# chown darker.human 1.txt# 修改⽂件:1.txt的属主为:darker[root@localhost ~]# chown darker 1.txt# 修改⽂件:1.txt的属组为:human[root@localhost ~]# chown .human 1.txt# 递归修改⽬录:file1的属主为:darker 属组为:human[root@localhost ~]# chown -R darker.human file1修改u、g、o对应的权限# 加减法# 修改⽂件:1.txt的权限为:属主为u 属组为w[root@localhost ~]# chmod u+x,g-w 1.txt# 赋值法# 修改⽂件:1.txt的权限为:所有⽤户为rwx[root@localhost ~]# chmod a=rwx 1.txt# 修改⽂件:1.txt的权限为:-[root@localhost ~]# chmod a=- 1.txt# 修改⽂件:1.txt的权限为:属主属组为rw 其他⽤户为r[root@localhost ~]# chmod ug=rw,o=r 1.txt# 数字# 修改⽂件:1.txt的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 7771.txt# 递归修改⽬录:file1的权限为:所有⽤户的权限为rwx[root@localhost ~]# chmod 777 file1注意:把某⼀个⾮属主⽤户添加到⽂件的属组⾥,他就拥有了该组的权限,⽽不再是其他⼈权限对⽂件/⽬录的意义⽂件:ls -l ⽂件名权限释义r可以cat读取⽂件内容w可以修改⽂件x 可以执⾏⽂件代码,如果该⽂件的代码是编译好的结果那么只有x权限即可执⾏但如果该⽂件的代码是⼀个解释型的脚本程序则需要配合r权限才可执⾏⽬录:ls -dl ⽂件名权限释义r可以ls浏览⽂件下的内容w可以在⽬录下创建新⽂件or⽬录x 可以执⾏⽬录下的程序,除了对⽬录有执⾏权限外,还要对程序⽂件有执⾏权限才⾏可以正常cd切换到⽬录下涉及到多层⽬录如/a/b/c,需要对每⼀级都有x权限才可以正常⾛到下⼀级对⽂件夹的操作(不操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件夹有r或w权限权限释义r可以浏览w可以创建、删除、移动⼦⽂件和⼦⽬录对⽂件的操作(操作⽂件内容),需要当前⽤户具备的权限对沿途所有⽂件夹有x权限对⽬标⽂件有r或w权限权限释义r可以读取⽂件内容w可以修改⽂件内容注意点:vim修改的原理是将原⽂件删掉,然后再将内容的内容覆盖写⼊了新⽂件,新⽂件名重命名为原⽂件名验证vim修改的原理# (root⽤户)切换到/usr/local⽬录[root@localhost local]# cd /usr/local# (root⽤户)递归创建test01/dir1⽬录[root@localhost local]# mkdir -p test01/dir1# (root⽤户)递归修改⽬录test01权限为733[root@localhost local]# chmod -R 733 test01# (root⽤户)在test01⽬录下创建1.txt并写⼊内容“123”[root@localhost local]# echo "123" > test01/1.txt# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt123# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:其他⽤户只有(r)读的权限[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 root root 4 Nov 2510:02 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:02:58.471562017 -0500Modify: 2020-11-2510:02:58.471562017 -0500Change: 2020-11-2510:02:58.471562017 -0500Birth: -# 切换到其他⽤户/⽤其他⽤户登录PS C:\Users\Darker> ssh darker@192.168.50.101darker@192.168.50.101's password:[darker@localhost ~]$ whoamidarker# (普通⽤户)⽤vim打开/usr/local/test01⽬录下的1.txt[darker@localhost ~]$ vim /usr/local/test01/1.txt123~~~"/usr/local/test01/1.txt" [readonly] 1L, 4C 1,1 All # [readonly] 只读# 按i进⼊插⼊模式-- INSERT -- W10: Warning: Changing a readonly file# (普通⽤户)修改1.txt的内容,强制保存并退出456Esc:wq!# 回到原来的root⽤户的窗⼝# (root⽤户)查看1.txt的内容[root@localhost local]# cat test01/1.txt456# (root⽤户)查看test01⽬录下的⽂件1.txt的详情信息:属主和属主变了[root@localhost local]# ll test01/1.txt-rw-r--r--. 1 darker darker 4 Nov 2510:21 test01/1.txt# (root⽤户)查看test01⽬录下的⽂件1.txt的iNode信息[root@localhost local]# stat test01/1.txtFile: ‘test01/1.txt’Size: 4 Blocks: 8 IO Block: 4096 regular fileDevice: fd00h/64768d Inode: 23609 Links: 1Access: (0644/-rw-r--r--) Uid: ( 1000/ darker) Gid: ( 1000/ darker)Context: unconfined_u:object_r:usr_t:s0Access: 2020-11-2510:30:54.822530748 -0500Modify: 2020-11-2510:21:17.823541511 -0500Change: 2020-11-2510:21:17.824541511 -0500Birth: -结论vim修改⽂件时:会将原⽂件删除,⽣成新的⽂件,属主和主组会变成修改的那个⽤户和⽤户所在的组⼆:特殊权限权限权限位SUID4SGID2权限权限位SBIT1SUID1.疑问普通⽤户既不是root也不属于root组,因此它对/etc/shadow⽂件没有任何权限(全是---)# 查看/etc/shadow信息[darker@localhost ~]# ll /etc/shadow----------. 1 root root 970 Nov 2407:29 /etc/shadow但是:普通⽤户为何可以⽤passwd直接修改密码?并且修改的是/etc/shadow⽂件,如何实现的?[darker@localhost ~]$ ll `which passwd`-rwsr-xr-x. 1 root root 27832 Jun 102014 /usr/bin/passwd这⾥可以看到,本应为rwx的第三个x变成了s,这就是s权限2.s权限的特殊之处SUID权限仅对⼆进制可执⾏⽂件有效(对⽬录⽆效)如果执⾏者对于该⼆进制可执⾏⽂件具有x的权限,执⾏者将具有该⽂件的所有者的权限本权限仅在执⾏该⼆进制可执⾏⽂件的过程中有效3.权限设定的⽅法字母表⽰法chmod u+s 可执⾏⽂件 # 给属主添加s权限chmod u-s 可执⾏⽂件 # 删除属主的s权限数字表⽰法(第1位4表⽰SUID,后3位表⽰普通权限 rwx)chmod 4755可执⾏⽂件 # 添加SUID权限到⼆进制可执⾏⽂件chmod 0xxx ... # 可以删除⽂件的SUID(但是⽆法删除⽬录的SUID)4.实例# (root⽤户)查看which cat[root@localhost ~]# ll `which cat`-rwxr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:没有权限(普通⽤户虽然是r-x,但是⽆法直接查看)[darker@localhost local]$ cat /etc/shadowcat: /etc/shadow: Permission denied# (root⽤户)修改 which cat 权限[root@localhost ~]# chmod u+s `which cat` # 或者 chmod 4755 `which cat`#(root⽤户)再次查看which cat[root@localhost ~]# ll `which cat`-rwsr-xr-x. 1 root root 54048 Nov 202015 /usr/bin/cat# (普通⽤户)查看/etc/shadow:有权限了[darker@localhost local]$ cat /etc/shadowroot:$6$Jvw3z/jmU1ASO4P1$vpTJ5OGEtfBOmIpjyK55k87iQPHXCC3.kKOFW9jkyslqC2DMdN7SZdT/zYRfmQ4hBAQXG6CQ4kKdRQ8eFqChf.::0:99999:7::: bin:*:16659:0:99999:7:::daemon:*:16659:0:99999:7:::adm:*:16659:0:99999:7:::lp:*:16659:0:99999:7:::...5.上例的⼯作原理环境前提:Linux中有1个⼆进制程序:cat,属组属组都是rootLinux中有⼀个系统⽂件:/etc/shadow,属组属组是: root:root有⼀个普通⽤户:darker普通⽤户:darker 属于其他⽤户,对⼆进制程序:cat 有执⾏(x)的权限普通⽤户:darker 对系统⽂件:/etc/shadow 没有任何权限默认情况下:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程该进程的属主属组是该程序的发起者:darker,也就是: darker:darkercat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:darker:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主属组不匹配,所以被拒绝访问了:Permission denied给⼆进制程序:cat 设置SUID之后:普通⽤户:darker 执⾏⼆进制程序:cat系统会创建1个:cat进程执⾏者对于该⼆进制可执⾏⽂件具有 x 的权限,执⾏者将拥有该⽂件的属组的权限该进程属主是程序的发起者:darker,属组是cat原来的:root,属主属组就是:darker:rootcat进程访问系统⽂件:/etc/shadowcat进程的属主和属主:root:darker /etc/shadow⽂件的属主和属主:root:root⼆者的属主匹配,可以正常访问SGID1.权限设定的⽅法字母表⽰法chmod g+s ⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod g-s ⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限数字表⽰法(第1位2表⽰SGID,后3位表⽰普通权限 rwx)chmod 2755⽂件/⽬录 # 给⽂件/⽬录的属组添加s权限chmod 0755⽂件/⽬录 # 删除⽂件/⽬录的属组的s权限chmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰[root@localhost ~]# ll 1.txt-rwxr-sr-x. 1 root root 3243 Nov 2515:411.txt3.SGID相关说明作⽤在⼆进制可执⾏⽂件上时:执⾏有SGID权限的程序时,该⽤户将继承该程序的属组权限作⽤在⽬录上时:该⽬录下所有⽤户新建的⽂件都会⾃动继承该⽬录的属组当⼀个⽤户对某⼀⽬录有写和执⾏权限时,该⽤户就可以在该⽬录下建⽴⽂件如果该⽬录同时⽤SGID修饰,则该⽤户在这个⽬录下建⽴的⽂件都是属于这个⽬录的属组4.实例# (root⽤户)切换到/usr/loca/⽬录并创建⽬录:test02[root@localhost ~]# cd /usr/local[root@localhost local]# mkdir test02# (root⽤户)查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-xr-x. 2 root root 6 Nov 2514:19 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:1.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/1.txt[root@localhost local]# ll /usr/local/test02/1.txt-rw-r--r--. 1 root root 0 Nov 2514:19 /usr/local/test02/1.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:2.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/2.txt[darker@localhost ~]$ ll /usr/local/test02/2.txt-rw-rw-r--. 1 darker darker 0 Nov 2514:20 /usr/local/test02/2.txt# (root⽤户)修改⽬录:test02 的权限[root@localhost local]# chmod 2773 test02# (root⽤户)再次查看⽬录:test02 的信息[root@localhost local]# ls -dl test02/drwxr-sr-x. 2 root root 6 Nov 2514:20 test02/# !测试(root⽤户)在⽬录:test02 下创建⽂件:3.txt 并查看该⽂件的信息[root@localhost local]# touch /usr/local/test02/3.txt[root@localhost local]# ll /usr/local/test02/3.txt-rw-r--r--. 1 root root 0 Nov 2514:21 /usr/local/test02/3.txt# !测试(普通⽤户)在⽬录:test02 下创建⽂件:4.txt 并查看该⽂件的信息[darker@localhost ~]$ touch /usr/local/test02/4.txt[darker@localhost ~]$ ll /usr/local/test02/4.txt-rw-rw-r--. 1 darker root 0 Nov 2514:21 /usr/local/test02/4.txtSBITSBIT 是the restricted deletion flag or sticky bit的简称,有时也称为Sticky,粘滞位SBIT 与 SUID 和 SGID 的关系并不⼤1.权限设定的⽅法字母表⽰法chmod o+t ⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod o-t ⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Sticky数字表⽰法(第1位1表⽰添加Sticky位,后3位表⽰普通权限 rwx)chmod 1755⽂件/⽬录 # 给⽂件/⽬录的其他⽤户设置Stickychmod 0755⽂件/⽬录 # 删除⽂件/⽬录的其他⽤户的Stickychmod 755⽂件/⽬录 # 同上2.⽂件权限位的表⽰⽂件other位有x权限,并且⽤t代替了,表⽰被设置了Sticky如果other位没有x权限,会显⽰为⼤写T,表⽰有故障(权限⽆效)[root@localhost local]# ls -dl test03drwxr-xr-t. 2 root root 18 Nov 2514:34 dir013.相关说明对于⼀个多⼈可写的⽬录,如果设置了sticky,则每个⽤户仅能删除和改名⾃⼰的⽂件/⽬录只能作⽤在⽬录上,普通⽂件设置⽆意义,⽽且会被Linux内核忽略⽤户在设置 Sticky 权限的⽬录下新建的⽬录不会⾃动继承Sticky权限4.实例# (root⽤户)切换到 /usr/loca/⽬录[root@localhost ~]# cd /usr/local# (root⽤户)递归创建test03⽬录及2个⼦⽬录dir1和dir2[root@localhost local]# mkdir -p test03/dir{1,2}# (root⽤户)创建2个⽤户:user01、user02[root@localhost local]# useradd user01[root@localhost local]# useradd user02# (root⽤户)分别设置dir1和dir2的属主属组为user01和user02[root@localhost local]# chown -R user01:user01 test03/dir1[root@localhost local]# chown -R user02:user02 test03/dir2# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxr-xr-x. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# (root⽤户)修改⽬录:test03 的权限[root@localhost local]# chmod 1777 test03# (root⽤户)查看⽬录:test03的信息[root@localhost local]# ls -dl test03drwxrwxrwt. 4 root root 28 Nov 2515:37 test03[root@localhost local]# ll test03total 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# 切换到普通⽤户:user01[root@localhost local]# su - user01# !测试(普通⽤户)切换到test03⽬录[user01@localhost ~]$ cd /usr/local/test03# !测试(普通⽤户)查看当前⽬录下的信息[user01@localhost test03]$ lltotal 0drwxr-xr-x. 2 user01 user01 6 Nov 2515:37 dir1drwxr-xr-x. 2 user02 user02 6 Nov 2515:37 dir2# !测试(普通⽤户)⽤户user01将dir1重命名为dir11[user01@localhost test03]$ mv dir1 dir11# !测试(普通⽤户)⽤户user01将dir2重命名为dir22[user01@localhost test03]$ mv dir2 dir22mv: cannot move ‘dir2’ to ‘dir22’: Operation not permitted# !测试(普通⽤户)⽤户user01在dir11⽬录中创建⽂件:1.txt[user01@localhost test03]$ touch dir11/1.txt# !测试(普通⽤户)⽤户user01在dir2⽬录中创建⽂件:2.txt[user01@localhost test03]$ touch dir2/2.txttouch: cannot touch ‘dir2/2.txt’: Permission denied5.注意点SBIT ⽬前只对⽬录有效,⽤来阻⽌⾮⽂件的所有者删除⽂件:⽐较常见的例⼦就是/tmp⽬录权限信息中最后⼀位t表⽰该⽬录被设置了 SBIT 权限SBIT 对⽬录的作⽤是:当⽤户在该⽬录下创建新⽂件或⽬录时,仅有⾃⼰和 root 才有权⼒删除,主要作⽤于⼀个共享的⽂件夹(⽬录)三:chattr引⾔你是否遇到过⽂件或⽬录具有可读写权限,但是使⽤root⽤户删除、修改时提⽰"Operation not permitted"的情况?可能是由chattr设置了⽂件的隐藏保护权限导致通过chattr命令修改⽂件或⽬录属性能够提⾼系统的安全性与chmod命令相⽐,chmod只是改变⽂件的读写、执⾏权限,更底层的属性控制是由chattr命令改变的。
Linux权限详解(chmod、600、644、666、700、711、755、777、4。。。

Linux权限详解(chmod、600、644、666、700、711、755、777、4。
权限简介Linux系统上对⽂件的权限有着严格的控制,⽤于如果相对某个⽂件执⾏某种操作,必须具有对应的权限⽅可执⾏成功。
Linux下⽂件的权限类型⼀般包括读,写,执⾏。
对应字母为 r、w、x。
Linux下权限的粒度有拥有者、群组、其它组三种。
每个⽂件都可以针对三个粒度,设置不同的rwx(读写执⾏)权限。
通常情况下,⼀个⽂件只能归属于⼀个⽤户和组,如果其它的⽤户想有这个⽂件的权限,则可以将该⽤户加⼊具备权限的群组,⼀个⽤户可以同时归属于多个组。
Linux上通常使⽤chmod命令对⽂件的权限进⾏设置和更改。
⼀、快速⼊门更改⽂件权限(chmod命令)⼀般使⽤格式chmod [可选项] <mode> <file...>参数说明:[可选项]-c, --changes like verbose but report only when a change is made (若该档案权限确实已经更改,才显⽰其更改动作)-f, --silent, --quiet suppress most error messages (若该档案权限⽆法被更改也不要显⽰错误讯息)-v, --verbose output a diagnostic for every file processed(显⽰权限变更的详细资料)--no-preserve-root do not treat '/' specially (the default)--preserve-root fail to operate recursively on '/'--reference=RFILE use RFILE's mode instead of MODE values-R, --recursive change files and directories recursively (以递归的⽅式对⽬前⽬录下的所有档案与⼦⽬录进⾏相同的权限变更)--help 显⽰此帮助信息--version 显⽰版本信息[mode]权限设定字串,详细格式如下:[ugoa...][[+-=][rwxX]...][,...],其中[ugoa...]u 表⽰该档案的拥有者,g 表⽰与该档案的拥有者属于同⼀个群体(group)者,o 表⽰其他以外的⼈,a 表⽰所有(包含上⾯三者)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件和目录读写执行权限解析
对于文件:(以下对文件权限的测试是在上层目录权限为777的情况下完成的)
●可读:表示可以读取复制文件的内容
●可写:表示可以修改文件的内容
●可执行:表示可以用其他解析程序对文件进行执行操作
●仅可读:只有可读权限则只能读取文件内容和复制该文件,不可改写文件内容,此时该
文件的删除移动权限由上层目录权限决定,如果其上层目录拥有删除移动的权限,可以对其进行删除移动操作。
●仅可写:如果只有可写权限而无可读执行权限,既不能读取和改写该文件内容,也不能
执行文件,且不可复制文件,此时该文件的删除移动权限由上层目录权限决定。
●仅可执行:只有可执行权限时不可读取和改写该文件内容,也不可复制该文件,好像也
并不能作为脚本执行,此时该文件的删除移动权限由上层目录权限决定。
所以,通常要对文件具有写权限,需要同时具有可读和可写,要对文件具有执行权限,需要同时具有可读和可执行。
对于目录:(以下对目录权限的测试是在所涉及文件权限为777的情况下完成的)
●可读:表示可以列出目录本身和目录下面的文件和子目录的属性,仅查看属性(ls)
●可写:表示可以往目录中添加删除文件和目录
●可执行:表示可以读取该目录下面的文件内容或者改写文件内容(在文件权限允许的情
况下)
●仅可读:目录的读权限仅允许我们读目录,获得在该目录中所有文件名的列表,不可添
加删除其中的文件或目录,也不可读取和改写其中文件的内容。
●仅可写:如果只有写权限,仍然无法往目录中添加删除或修改文件和子目录,包括复制
和移动。
要修改目录中的文件内容,不仅仅需要目录的写权限,还需要目录的执行权限。
●仅可执行:对目录没有读写权限,只有执行权限,一样可以读取和改写目录下面文件的
内容(只要你确定该路径下的该文件存在);那是否不需要目录的可写权限呢?当然不是,如果没有可写权限,无法往目录中添加删除或修改文件和子目录,包括复制和移动。