Linux文件/目录权限详解

一.简介
1.Linux文件/目录(本文统称文件)的权限一般有读(r),写(w),执行(x)。
2.Linux文件权限按照属主(u)、属主组(g)和其它(o)三个粒度分别授予。属主为拥有该文件的用户;属主组为拥有该文件的组;其他为除去该文件属主和属主组之外的其他用户。
3.Linux系统上,通常用chmod命令设置和修改文件权限。

二.文件权限
Linux系统上,文件的权限一般有如下几种:
1.读权限:就是对文件进行读取操作所需要的权限,通过ls或ll命令查看文件权限时,拥有该权限会显示r,否则会显示-,也可以通过数字4来表示读权限。
2.写权限:就是对文件进行写操作所需要的权限,通过ls或ll命令查看文件权限时,拥有该权限会显示w,否则会显示-,也可以通过数字2来表示写权限。
3.执行权限:就是执行文件所需要的权限,通过ls或ll命令查看文件权限时,拥有该权限会显示x,否则会显示-,也可以通过数字1来表示执行权限。
4.set位权限:包括SUID(set UID)和SGID(set GID)。获得SUID权限后,进程执行一个文件时即获得进程属主的UID,授予SUID权限后,如果属主原来拥有x权限,则属主执行权限位变为s,如果属主原来不拥有x权限,则属主执行权限位变为S。
SUID权限也可以通过数字4来表示。获得SGID权限后,进程执行一个文件时即获得进程的GID,授予GUID权限后,如果属主组原来拥有x权限,则属主组执行权限位变为s,如果属主组原来不用后x权限,则属主组执行权限位变为S。SGID权限也可以通过数字2来表示。
5.粘滞位权限:即sticky。当目录被授予粘滞位权限后,即便用户对该目录有写权限,也不能删除该目录中其他用户的文件。目录被设置粘滞位权限后,其他执行权限位由原来的x变为t。

三.权限粒度
Linux上文件权限的授予与撤销,可以针对文件的属主,文件的属主组和其他用户进行,我们通过ls或ll命令显示文件属性时,会看到权限项总共有10个位,按照从左至右的顺序,其含义分别如下:
1.第1位:文件类型。可能值及其含义分别如下:
1)d:代表目录(directroy)。
2)-:代表文件(regular file)。
3)s:代表套字文件(socket)。
4)p:代表管道(pipe)或命名管道(named pipe)文件。
5)l:代表符号链接文件(symbolic link)。
6)b:代表面向块的设备文件(block-oriented device file)。
7)c:代表面向字符的设备文件(charcter-oriented device file)。

四.权限命令
Linux系统中,权限授予与撤销一般都是通过chmod命令实现的,具体命令及其含义如下所示:
1.命令格式
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...

2.命令选项(OPTION)
1)-c或--changes:权限变更时显示变更的详细信息。
2)-f或--silent:强制不显示发部分报错信息。
3)-v或--verbose:无论权限是否变更,都会显示操作的详细信息。
4)--no-preserve-root:不特殊对待根目录'/'(默认)。  
5)--preserve-root:不能对根目录'/'进行递归操作。    
6)--reference=RFILE:用RFILE模式代替mode值。
7)-R或--recursive:对目录进行递归授权操作。
8)--help:获取帮助信息。
9)--version:获取版本信息。

3.权限模式(MODE)
ugoa+-=rwxX,...
--注:
1)ugoa:u表示文件属主;g表示文件属主组;o表示属主及组之外的人;a表示所有人。
2)+-=:+表示增加权限;-表示取消权限;=表示赋值权限。
3)rwxX:r表示可读,可通过数字4表示;w表示可写,可通过数字2表示;x表示可执行,可通过数字1表示;X表示只有文件为目录或已为某些用户授予文件的可执行权限时才可被授予X权限,授予X权限后,执行权限位形式和权限与x相同。
4)一条命令可有多个权限模式,其间用逗号分隔。

4.文件(FILE)
被授予或撤销权限的对象(文件),一条命令可对多个文件进行授权操作,多个文件用空格分隔。

五.权限应用举例
Linux上文件的授权操作,可通过字符和数字方式授权,先分别举例如下:
1.字符方式
1)授予属主对test1写权限
chmod u+w test1
2)授予属主组和其他人对test1读权限
chmod og+r test1
3)撤销所有人对test1写权限
chmod a-w test1
chmod ugo-w test1
4)授予属主对test1读写执行权限,授予属主组对test1读执行权限,授予其他人对test1执行权限
chmod u+wrx,g+rx,o=x test1
5)授予属主组对test2和test3的读和执行权限,授予其他人对test2和test3的执行权限
chmod g+rx,o+x test2 test3
6)授予属主set权限
chmod u+s test1
7)授予属主组set权限
chmod g+s test1
8)撤销属主组执行权限且授予set权限
chmod g-x,g+s test1
2.数字方式
1)授予属主对test1所有权限,属主组对test1的读和执行权限,其他人对test1的执行权限
chmod 751 test1
2)授予属主对test1读写执行和set权限,属主组对test1的读权限和set权限
chmod 6740 test1
3)授予属主对test1读写执行和set权限,属主组对test1的读权限,其他人对test1的执行权限
chmod 4741 test1
4)授予属主对test1的读写执行权限,属主组对test1的执行和set权限,其他人对test1的读权限
chmod 2714 test1
5)授予属主对dir1和dir2读写和set权限,属主组对dir1和dir2的读执行权限,其他人对dir1和dir2的执行权限,并对dir1和dir2置粘贴位权限
chmod 5651 dir1 dir2


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lhdz_bj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值