chmod和chown的命令及区别

chmod和chown的命令及区别

  • chmod和chown的区别
  • chown用法
  • chmod命令

♡ \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和chown的区别

chmod是用来设置文件夹和文件权限的,比如我们系统中的文件不可读写,需要用来设置777权限;
chown是用来设置用户组的,比如授权某用户组,方便控制用户权限。

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以借以控制文件如何被他人所调用。
chmod和chown的命令及区别_第1张图片
查看某路径下用(ls -l)查看全部文件的具体属性列表时。会看到文件的操作权限。类似“drwxr-xr-x”的字符串,如上图。

我们将这串字符(d rwx r-x r-x)分为4个分段来理解
结构为:
d + 文件全部者操作权限 + 文件全部者所在组操作权限 + 其余人的操作权限”:

  1. 第一段:样例中字母“d”,表示文件所在文件夹
  2. 第二段:样例中字符串“rwx”,表示文件全部者对此文件的操作权限
  3. 第三段。样例中字符串“r-x”,表示文件全部者所在组对些文件的操作权限
  4. 第四段。样例中字符串“r-x”,表示除2、3两种外的其他人对此文件的操作权限

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:同理,表示其余人的权限,其他人对该文件只有读、运行权限,没有写权限。

chown用法

该命令的使用权限: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)才有这种权限

参数 :

  • user : 新的档案拥有者的使用者ID
  • group : 新的档案拥有者的使用者群体(group)
  • -c : 若该档案拥有者确实已经更改,才显示其更修改过
  • -f : 若该档案拥有者无法被更改也不要显示错误讯息
  • -h : 仅仅对于连结(link)进行变更。而非该 link 真正指向的档案
  • -v : 显示拥有者变更的具体资料
  • -R : 对眼下文件夹下的全部档案与子文件夹进行同样的拥有者变更(即以递回的方式逐个变更)
  • –help : 显示辅助说明
  • –version : 显示版本号

这样说可能有些还不明白,没关系我们举例子帮助理解

举个例子 :

将档案 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命令

该命令的使用权限 : 全部使用者

用来修改某个目录或文件的访问权限
语法

chmod [who] [+ | - | =] [mode] 文件名 

命令中各选项的含义为: 操作对象who可是下述字母中的任一个或者它们的组合:

参数 表示 含义
u user 即文件或目录的所有者
g group 即与文件属主有相同组ID的所有用户
o others 表示“其他用户”
a all 表示“所有用户”系统默认值

操作符号可以是:

  • +添加某个权限
  • -取消某个权限
  • = 赋予给定权限并取消其他所有权限(如果有的话)

其他参数说明:

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息()
  • -v : 显示权限变更的详细信息
  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个- 变更)
  • –help : 显示辅助说明
  • –version : 显示版本

设置 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的权限.

你可能感兴趣的:(Linux命令)