Linux用戶和用戶組以及相關權限html
注意:如下示例使用MacOS說明linux
示例一,該目錄下只有一個軟連接,顯示該目錄下的全部文件和目錄的詳細信息nginx
➜ nginx ls -al total 8 drwxr-xr-x 3 xinxingegeya staff 102 6 22 17:21 . drwxr-xr-x 18 xinxingegeya staff 612 6 21 18:20 .. lrwxr-xr-x 1 xinxingegeya staff 31 6 22 17:20 nginx.conf -> /usr/local/etc/nginx/nginx.conf
示例二,顯示指定文件的詳細信息,數據結構
➜ /etc ls -al hosts -rw-r--r-- 1 root wheel 289 6 22 11:42 hosts
這裏的ls -al和linux中顯示的有所不一樣,不過差異不大,以上的各項分別表明的含義是:this
the access permissions------(-rw-r--r--) the number of links to this file------(1)------(文件的硬連接數量) the ownership (user and unix group which own it)------(root wheel)------(文件的全部者和所屬的用戶組) size in bytes------(289)------(文件的大小) date of the last modification------(6 22 11:42)------(Month DAY_OF_MONTH TIME)------(文件的最後修改日期) the name of the directory entry------(hosts)------(目錄或文件的名字)
以下所示,unix
➜ /etc ls -al hosts -rw-r--r-- 1 root wheel 289 6 22 11:42 hosts
當使用al選項會列出文件和目錄的詳細信息,最前面的第2~10個字符是用來表示權限。第一個字符通常用來區分文件和目錄:code
d:表示是一個目錄。 -:表示這是一個普通的文件。 l:表示這是一個符號連接文件,實際上它指向另外一個文件。 b,c:分別表示區塊設備和其餘的外圍設備,是特殊類型的文件。 s,p:這些文件關係到系統的數據結構和管道,一般不多見到。
第2~10個字符又分爲三部分,htm
rw-r--r-- rw- 擁有者(user)權限 r-- 用戶組(group)權限 r-- 其餘用戶(other)權限
MacOS常見的用戶和用戶組:blog
➜ ~ dscacheutil -q group name: admin password: * gid: 80 users: root xinxingegeya name: staff password: * gid: 20 users: root xinxingegeya name: wheel password: * gid: 0 users: root
修改文件和目錄的用戶組-chgrp(change group) 示例以下,遞歸
➜ helloworld ls -al total 8 drwxr-xr-x 4 xinxingegeya staff 136 6 22 14:21 . drwxr-xr-x+ 89 xinxingegeya staff 3026 6 22 14:21 .. drwxr-xr-x 2 xinxingegeya staff 68 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya staff 6 6 22 14:20 hellworld.txt ➜ helloworld chgrp -R admin dir1 ➜ helloworld ls -al total 8 drwxr-xr-x 4 xinxingegeya staff 136 6 22 14:21 . drwxr-xr-x+ 89 xinxingegeya staff 3026 6 22 14:22 .. drwxr-xr-x 2 xinxingegeya admin 68 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya staff 6 6 22 14:20 hellworld.txt ➜ helloworld
將目錄dir1的用戶組修改成admin,命令chgrp(change group),R參數表示遞歸操做該目錄下的全部文件和目錄,
chgrp -R admin dir1
修改文件和目錄的擁有者和用戶組-chown(change owner) 示例以下,
➜ helloworld ll total 8 drwxr-xr-x 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt ➜ helloworld chown xinxingegeya:staff dir1 ➜ helloworld ll total 8 drwxr-xr-x 2 xinxingegeya staff 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
chown xinxingegeya:staff dir1
修改 dir1 目錄的擁有者爲xinxingegeya,其所在的用戶組爲staff。
當擁有者不存在時,以下
➜ helloworld chown xiaoming:staff dir1 chown: xiaoming: illegal user name
也能夠直接指定用戶組,好比,
➜ helloworld chown :admin dir1 ➜ helloworld ll total 8 drwxr-xr-x 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
修改文件和目錄的權限-chmod(change mode) 示例以下,
➜ helloworld ll total 8 drwxr-xr-x 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt ➜ helloworld chmod g+w dir1 ➜ helloworld ll total 8 drwxrwxr-x 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
給用戶組增長w權限,
chmod g+w dir1
使用符號模式能夠設置多個項目:who(用戶類型),operator(操做符)和permission(權限),每一個項目的設置能夠用逗號隔開。 命令chmod將修改who指定的用戶類型對文件的訪問權限,用戶類型由一個或者多個字母在who的位置來講明,示例以下,
➜ helloworld ll total 8 drwxrwxr-x 2 xinxingegeya admin 68 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10 6 22 14:28 hellworld.txt ➜ helloworld chmod u-x,g-x,o-x dir1 ➜ helloworld ll total 8 drw-rw-r-- 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
如下兩個命令等價,
chmod u-x,g-x,o-x dir1 chmod ugo-x dir1
chmod命令可使用八進制數來指定權限。文件或目錄的權限位是由9個權限位來控制,每三位爲一組,它們分別是文件全部者(User)的讀、寫、執行,用戶組(Group)的讀、寫、執行以及其它用戶(Other)的讀、寫、執行。歷史上,文件權限被放在一個比特掩碼中,掩碼中指定的比特位設爲1,用來講明一個類具備相應的優先級。
chmod的八進制語法的數字說明:
r 4 w 2 x 1 - 0
全部者的權限用數字表達:屬主的那三個權限位的數字加起來的總和。如rwx ,也就是4+2+1 ,應該是7。
用戶組的權限用數字表達:屬組的那個權限位數字的相加的總和。如rw- ,也就是4+2+0 ,應該是6。
其它用戶的權限數字表達:其它用戶權限位的數字相加的總和。如r-x ,也就是4+0+1 ,應該是5。
示例以下,
➜ helloworld ll total 8 drw-rw-r-- 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt ➜ helloworld chmod 644 dir1 ➜ helloworld ll total 8 drw-r--r-- 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
======END======