通过chmod改变文件权限

2018-08-12  本文已影响18人  心无旁骛_

一、【linux权限解释】

Linux文件一共有三种身份:
u:文件的拥有者(user)
g:文件所属的群组(group)
o:其他用户(other)

对于每个身份,又有四种权限:
r:读取文件的权限(read)
w:写入文件的权限(write)
x:执行的权限(execute)
s:特殊权限(special)

二、【如何查询文件权限属性】

通过$ls -al 文件名 指令来查询文件的属性
例如:

$ls -al /Users/xyz/Desktop/crm副本.zip 
-rw-r--r-- 1 xyz staff 746807 Jul 25 09:56 /Users/xyz/Desktop/crm副本.zip

以上7项依次表示【文件的属性-rw-r--r--】、【连接数1】、【文件的拥有者xyz】、【文件所属的群组staff】、【文件大小】、【文件创建时间】和【文件名称】

三、【文件属性解释】

在Linux系统中,文件的属性由10个字符来表示。
第一个字符表示文件的类型,其余9个字符分为三组,每组三个,分别表示文件的拥有者、群组以及其他人对该文件的访问权限。

每组依次表示读取、写入、和执行的权限,如果没有该权限,则以-显示。

对于
-rw-r--r--
分别为:
文件类型 文件拥有者的权限 群组的权限 其他人的权限
-       rw-       r--    r--

文件类型:

-    一般文件
d    文件夹(或者叫目录)
l    符号链接文件(类似windows下的快捷方式一样的东西)
b    磁盘设备文件
c    字符设备文件((和磁盘设备文件,主要是和周边硬件连接,作为系统和硬件之间的接口))
s    Socket文件((内部进程通信的一种特殊文件,也可作为和远程主机通信的管道))
p    连接文件(是一种内部进程通信的机制,一个进程把数据写入Pipe中,另一个进程则由Pipe读取数据,数据采用先进先出(FIFO)的次序,称为管道)

四、【chmod以字符形式改变文件】

给三种身份都赋予执行的权限

chmod +x 文件名

等价于

chmod a+x 文件名

也拆开写,a分别用u、g、o替换

对应:
去掉某个身份的某个权限,只需要将+变为-即可。比如

chmod u-r 文件名

五、【chmod以数字形式改变文件】

读取权限:r 或者4
写入权限:w或者2
执行权限:x或者1
可读写可执行:rwx = 4 + 2 + 1 = 7
可读写不可执行:rw- = 4 + 2 = 6
可读不可写可执行:r-x = 4 +1 = 5

常见权限形式


-rw------- (600)      只有拥有者有读写权限。
-rw-r--r-- (644)      只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700)     只有拥有者有读、写、执行权限。
-rwxr-xr-x (755)    拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711)    拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666)   所有用户都有文件读、写权限。
-rwxrwxrwx (777)  所有用户都有读、写、执行权限。

范例:

#设置所有人可以读写及执行
chmod 777 file  (等价于  chmod u=rwx,g=rwx,o=rwx file 或  chmod a=rwx file)

#设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于  chmod u=rw,g=---,o=--- file )

参考链接

上一篇下一篇

猜你喜欢

热点阅读