♡ \color{pink}{\heartsuit} ♡
我们使用ls命令时经常会看到这样的一串字符drwxrxrx,是不是很熟悉,但却不太懂。。
我们可以将它分成这样(d rwx r-x r-x)4个分段来理解。
权限修改
rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。
示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------
第一位:-就代表是文件,d代表是文件夹
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在的组,组员的权限
第三段(最后3位):代表的是其他用户的权限
421 421 421
- rw- --- ---
chmod +x aaa.txt
或者采用8421法
chmod 100 aaa.txt
chmod是用来设置文件夹和文件权限的,比如我们系统中的文件不可读写,需要用来设置777权限;
chown是用来设置用户组的,比如授权某用户组,方便控制用户权限。
Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以借以控制文件如何被他人所调用。
查看某路径下用(ls -l)查看全部文件的具体属性列表时。会看到文件的操作权限。类似“drwxr-xr-x”的字符串,如上图。
我们将这串字符(d rwx r-x r-x)分为4个分段来理解
结构为:
“d + 文件全部者操作权限 + 文件全部者所在组操作权限 + 其余人的操作权限”:
r 表示可读取,w 表示可写入,x 表示可执行。上面提到的8421法,通常用于表示文件的读取、写入、执行权限:
♢ \color{pink}{\diamondsuit} ♢ 1:执行
♢ \color{pink}{\diamondsuit} ♢ 2:写入
♢ \color{pink}{\diamondsuit} ♢ 4:读取
比如你是不是在使用Linux命令时经常会看到755这个数字,这个3位数分别相应前面所说的分段:7对应第二段(rwx),5对应第三段(rx),5对应第四段(rx)
含义:
7:表示文件全部者的权限,4+2+1=7,即文件全部者对该文件有读、写、运行的权限
5:表示文件全部者所在组的权限:4+1=5。即文件全部者所在组对文件有读、运行权限,没有写权限。
5:同理,表示其余人的权限,其他人对该文件只有读、运行权限,没有写权限。
该命令的使用权限:root
chown 用来更改某个目录或文件的用户名和用户组的权限
chown 用户名:组名 文件路径(可以是绝对路径也可以是相对路径)
例如:
把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组)
chown root:root /tmp/tmp1
再举个例子:
把tmp下的tmp1下的所有文件的属组都改成root和root。
chown -R root:root /tmp/tmp1
语法 :
chown [-cfhvR] [--help] [--version] user[] file...
说明 : Linux/Unix 是多人多作业系统,全部的档案皆有拥有者。利用chown能够将档案的拥有者加以改变。
一般来说,这个指令仅仅有是由系统管理者(root)所使用。一般使用者没有权限能够改变别人的档案拥有者,也没有权限能够将自己的档案拥有者改设为别人。
只有系统管理者(root)才有这种权限。
参数 :
这样说可能有些还不明白,没关系我们举例子帮助理解
举个例子 :
将档案 file1.txt 的拥有者设为 users 群体的使用者 yoyo
chown yoyo:users file1.txt
将眼下文件夹下的全部档案与子文件夹的拥有者皆设为 users 群体的使用者 yoyo
chown -R yoyo:users *
例子 | 等价于 | 含义 |
---|---|---|
-rw------- | 600 | 只有属主有读写权限 |
-rw-r–r-- | 644 | 只有属主有读写权限;而属组用户和其它用户只有读权限 |
-rwx------ | 700 | 只有属主有读、写、运行权限 |
-rwxr-xr-x | 755 | 属主有读、写、运行权限。而属组用户和其它用户只有读、运行权限 |
-rwx–x--x | 711 | 属主有读、写、运行权限;而属组用户和其它用户只有运行权限 |
-rw-rw-rw- | 666 | 全部用户都有文件读、写权限(这样的做法不可取) |
-rwxrwxrwx | 777 | 全部用户都有读、写、运行权限(更不可取的做法) |
下面是对文件夹的两个普通设定:
drwx------ | 700 | 只有有属主可在文件夹中读、写 |
---|---|---|
drwxr-xr-x | 755 | 全部用户可读该文件夹,但只有属主才干改变文件夹中的内容 |
该命令的使用权限 : 全部使用者
用来修改某个目录或文件的访问权限
语法:
chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为: 操作对象who可是下述字母中的任一个或者它们的组合:
参数 | 表示 | 含义 |
---|---|---|
u | user | 即文件或目录的所有者 |
g | group | 即与文件属主有相同组ID的所有用户 |
o | others | 表示“其他用户” |
a | all | 表示“所有用户”系统默认值 |
操作符号可以是:
其他参数说明:
设置 mode 所表示的权限可用下述字母的任意组合:
mode | 含义 |
---|---|
r | (read)可读 |
w | (write) 可写 |
x | (executable)可执行 |
X | 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。 |
s | 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。 |
t | 保存程序的文本到交换设备上。 |
u | 与文件属主拥有一样的权限。 |
g | 与和文件属主同组的用户拥有一样的权限。 |
o | 与其他用户拥有一样的权限。 |
举例子:
将档案 file1.txt 设为全部人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为全部人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其它以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为仅仅有该档案拥有者能够运行 :
chmod u+x ex1.py
将眼下文件夹下的全部档案与子文件夹皆设为不论什么人可读取 :
chmod -R a+r *
此外chmod也能够用数字来表示权限如chmod 777 file
语法为:chmod abc file
当中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
例子:
chmod a=rwx file 等同于 chmod 777 file
chmod ug=rwx,o=x file 等同于 chmod 771 file
若用chmod 4755 filename可使此程序具有root的权限.