Ubuntu下的使用者和許可權(三),ubuntu下使用者權限
七、增刪群組相關的命令
同樣的我們要先介紹兩個重要的設定檔:/etc/group和/etc/gshadow,前面那個其實和/etc/passwd一樣,而後者就是群組的密碼錶了。先看看長啥樣:
root:x:0:
adm:x:4:m,syslog
m:x:1000:
這是截取的/etc/group的一部分,每行被冒號分成四段,第一段是群組名;第二段是密碼; 第三段是gid;第四段就是該組下面的成員了。
我們看到root和m群組第四段是空的,而adm群組的第四段有兩個成員,為什麼會有這種區別呢?原來每個使用者加入的群組分為主要群組和次要群組,主要群組是指使用者賬戶剛建立的時候綁定的那個群組,只要看一下/etc/passwd裡面的第四段就可以知道該使用者的主要群組是哪個,來看使用者m的資訊 m:x:1000:1000:m,,,:/home/m:/bin/bash 顯然使用者m的主要群組是m。那麼每個賬戶的名字是不會出現在/etc/group中主要群組的第四段的,因為在某種程度上這是不言而喻或預設的;若某個使用者出現在第四段了,那意味著該群組不是其主要群組。
還有一個概念叫有效群組,雖然一個使用者可以加入多個群組並擁有相應許可權,但這是針對已經存在的檔案或目錄而言。若果某使用者要建立一個檔案或目錄,那它屬於該使用者的哪個群組呢?答案是有效群組,即此時該使用者所在的那個組。我們知道某一時刻,一個使用者只能在一個組內活動,即使他擁有其他群組的許可權。打個比方,一個領導管理三個部門即擁有三個群組的許可權,但是每個時刻他只能坐在某一個特定部門的辦公室,卻不能分身同時坐在三個辦公室,即使他擁有另外兩個辦公室的進入權。
用groups命令可以查看目前使用者所屬的所有群組,其中第一個就是該使用者的有效群組。用newgrp命令可以切換有效群組,類似領導要去另一個辦公室。然後又是預設情況,即某使用者一登陸linux時,有效群組是哪個呢?類似於每天領導第一個去的辦公室是哪個?答案是上面的主要群組,在這裡它被稱為初始群組,但無論哪個名字,說的都是/etc/passwd的第四段那個群組。
root:*::
daemon:*::
m:!::
這是截取的/etc/gshadow的一部分,每行也是被冒號分成四段,分別是群組名、密碼、群組管理員、成員。密碼段若是!或*,則表示改組無法登入,即無法用newgrp切換。
增加群組命令
groupadd -g/r groupname -g後面跟gid,加上-r 表示建立的是系統群組,即/etc/gshadow的第二欄會變成星號或歎號。
修改群組命令 :groupmod 類似與usermod,即——groupmod [-g gid] [-n group_name]
刪除群組命令:groupdel groupname ,但是這個命令有些要注意的地方,因為某些情況下會失敗,原因是還有使用者的初始群組是該群組,所以要先解除這種綁定,即修改該使用者在/etc/passwd的gid或直接刪除該使用者。
八、其他命令
1)除了上面的groups可以查看群組的資訊外,還有一個id命令,可以查看更多資訊,直接在終端輸入id就好,不必加參數。
2)passwd命令 passwd [-lunxwS] username
-l :將 username 這個帳號的密碼鎖住 (lock),在 /etc/shadow 內的密碼欄修訂~
-u :將 -l 的 lock 解開!
-n :後面接天數 (數字) ,最短天數;亦即是 /etc/shadow 內的第四欄;
-x :後面接天數 (數字) ,最長天數;亦即是 /etc/shadow 內的第五欄;
-w :後面接天數 (數字) ,警告天數;亦即是 /etc/shadow 內的第六欄;
-S :顯示目前這個 username 的相關資訊。
ubuntu下怎提自己使用者的許可權?
sudo gnome-open+檔案夾試試
給個例子:
sudo gnome-open /usr/share/fonts/
ubuntu下/var/www的許可權問題
Ubuntu下修改目錄許可權需要先用 sudo 來獲得管理員權限,格式如下:
sudo chmod 600 ××× (只有所有者有讀和寫的許可權)
sudo chmod 644 ××× (所有者有讀和寫的許可權,組使用者只有讀的許可權)
sudo chmod 700 ××× (只有所有者有讀和寫以及執行的許可權)
sudo chmod 666 ××× (每個人都有讀和寫的許可權)
sudo chmod 777 ××× (每個人都有讀和寫以及執行的許可權)
其中×××指檔案名稱(也可以是檔案夾名,不過要在chmod後加-ld)。
解釋一下,其實整個命令的形式是
sudo chmod -(代表類型)×××(所有者)×××(組使用者)×××(其他使用者)
三位元的每一位都表示一個使用者類型的使用權限設定。取值是0~7,即二進位的[000]~[111]。
這個三位的位元的每一位分別表示讀、寫、執行許可權。
如000表示三項許可權均無,而100表示唯讀。這樣,我們就有了下面的對應:
0 [000] 無任何許可權
4 [100] 唯讀許可權
6 [110] 讀寫權限
7 [111] 讀寫執行許可權