使用者及檔案許可權管理

2puT發表於2016-07-26
使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
使用者及檔案許可權管理
實驗介紹
1、Linux 中建立、刪除使用者,及使用者組等操作。 2、Linux 中的檔案
許可權設定。
一、Linux 使用者管理
通過第一節課程的學習,你應該已經知道,Linux 是一個可以實現多用
戶登陸的作業系統,比如“李雷”和“韓梅梅”都可以同時登陸同一臺主
機,他們共享一些主機的資源,但他們也分別有自己的使用者空間,用
於存放各自的檔案。但實際上他們的檔案都是放在同一個物理磁碟上
的甚至同一個邏輯分割槽或者目錄裡,但是由於 Linux 的 使用者管理 和
許可權機制 ,不同使用者不可以輕易地檢視、修改彼此的檔案。
下面我們就來學習一下 Linux 下的賬戶管理的基礎知識。
1.檢視使用者
請開啟終端,輸入命令:
$ who am i
或者
$ who mom likes
輸入的第一列表示開啟當前偽終端的使用者的使用者名稱(要檢視當前登入
使用者的使用者名稱,去掉空格直接使用 whoami 即可),第二列的
pts/0 中 pts 表示偽終端,所謂偽是相對於 /dev/tty 裝置而言
的,還記得上一節講終端時的那七個使用 [Ctrl] + [Alt] + [F1]~
[F7] 進行切換的 /dev/tty 裝置麼,這是“真終端”,偽終端就是當你
在圖形使用者介面使用 /dev/tty7 時每開啟一個終端就會產生一個偽
終端, pts/0 後面那個數字就表示開啟的偽終端序號,你可以嘗試再
開啟一個終端,然後在裡面輸入 who am i ,看第二列是不是就變成
pts/1 了,第三列則表示當前偽終端的啟動時間。
who 命令其它常用引數
1 of 10
08/17/2015 07:08 PM使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
引數說明
-a 列印能列印的全部
-d 列印死掉的程式
-m 同 am i , mom likes
-q 列印當前登入使用者數及使用者名稱
-u 列印當前登入使用者登入資訊
-r 列印執行等級
2.建立使用者
在 Linux 系統裡, root 賬戶擁有整個系統至高無上的權利,比如 新
建/新增 使用者。
root 許可權,系統許可權的一種,與 SYSTEM 許可權可以理解成一個
概念,但高於 Administrator 許可權,root 是 Linux 和 UNIX 系統
中的超級管理員使用者帳戶,該帳戶擁有整個系統至高無上的權
力,所有物件他都可以操作,所以很多黑客在入侵系統的時
候,都要把許可權提升到 root 許可權,用 Windows 的方法理解也
就是將自己的非法帳戶新增到 Administrators 使用者組。更比如
安卓作業系統中(基於 Linux 核心)獲得 root 許可權之後就意味
著已經獲得了手機的最高許可權,這時候你可以對手機中的任何
檔案(包括系統檔案)執行所有增、刪、改、查的操作。
我們一般登入系統時都是以普通賬戶的身份登入的,要建立使用者需要
root 許可權,這裡就要用到 sudo 這個命令了。不過使用這個命令有兩
個大前提,一是你要知道當前登入使用者的密碼,二是當前使用者必須在
sudo 使用者組。shiyanlou 使用者的密碼就是 “shiyanlou” ,它同時也屬
於 sudo 使用者組(稍後會介紹如何檢視和新增使用者組)。現在我們新建
一個叫 lilei 的使用者:
$ sudo adduser lilei
按照提示輸入 shiyanlou 密碼(Linux 下密碼輸入通常都是不可見
的),然後是給 lilei 使用者設定密碼,後面的選項的一些內容你可以選
擇直接回車使用預設值:
2 of 10
08/17/2015 07:08 PM使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
這個命令不但可以新增使用者到系統,同時也會預設為新使用者建立 home
目錄:
$ ls /home
現在你已經建立好一個使用者,並且你可以使用你建立的使用者登入了,
使用如下命令切換登入使用者:
$ su -l lilei
退出當前使用者跟退出終端一樣可以使用 exit 命令或者使用快捷鍵
Ctrl+d 。
3.使用者組
在 Linux 裡面每個使用者都有一個歸屬(使用者組),使用者組簡單地理解
就是一組使用者的集合,它們共享一些資源和許可權,同時擁有私有資
源,就跟家的形式差不多,你的兄弟姐妹(不同的使用者)屬於同一個
家(使用者組),你們可以共同擁有這個家(共享資源),爸媽對待你
們都一樣(共享許可權),你偶爾寫寫日記,其他人未經允許不能檢視
(私有資源和許可權)。當然一個使用者是可以屬於多個使用者組的,正如
你既屬於家庭,又屬於學校或公司。
在 Linux 裡面如何知道自己屬於哪些使用者組呢?
方法一:使用groups命令
$ groups shiyanlou
3 of 10
08/17/2015 07:08 PM使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
其中冒號之前表示使用者,後面表示該使用者所屬的使用者組。這裡可以看
到 shiyanlou 使用者同時屬於 shiyanlou 和 sudo 使用者組,每次新建使用者
如果不指定使用者組的話,預設會自動建立一個與使用者名稱相同的使用者組
(差不多就相當於家長的意思,或者說是老總)。預設情況下在sudo
使用者組裡的可以使用sudo命令獲得root許可權。
方法二:檢視 /etc/group 檔案
$ cat /etc/ group | sort
這裡 cat 命令用於讀取指定檔案的內容並列印到終端輸出,後面會詳
細講它的使用。 | sort 表示將讀取的文字進行一個字典排序再輸
出,然後你將看到如下一堆輸出,你可以在最下面看到 shiyanlou 的
使用者組資訊:
沒找到,沒關係,你可以使用命令過濾掉一些你不想看到的結果:
$ cat /etc/ group | grep -E "shiyanlou|sudo"
etc/group 檔案格式說明
/etc/group 的內容包括使用者組(Group)、使用者組口令、GID 及該使用者
組所包含的使用者(User),每個使用者組一條記錄。格式如下:
4 of 10
08/17/2015 07:08 PM使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
group_name:password:GID:user_list
你看到上面的 password 欄位為一個 'x' 並不是說密碼就是它,只是表
示密碼不可見而已。
將其它使用者加入 sudo 使用者組
預設情況下新建立的使用者是不具有 root 許可權的,也不在 sudo 使用者
組,可以讓其加入sudo使用者組從而獲取 root 許可權。
$ su -l lilei
$ sudo ls
會提示 lilei 不在 sudoers 檔案中,意思就是 lilei 不在 sudo 使用者組
中,至於 sudoers 檔案(/etc/sudoers)你現在最好不要動它,操作不
慎會導致比較麻煩的後果。
使用 usermod 命令可以為使用者新增使用者組,同樣使用該命令你必需
有 root 許可權,你可以直接使用 root 使用者為其它使用者新增使用者組,或者
用其它已經在 sudo 使用者組的使用者使用 sudo 命令獲取許可權來執行該命

這裡我用 shiyanlou 使用者執行 sudo 命令將 lilei 新增到 sudo 使用者組,
讓它也可以使用 sudo 命令獲得 root 許可權
$
$
$
$
su shiyanlou
groups lilei
sudo usermod - G sudo lilei
groups lilei
然後你再切換會 lilei 使用者,現在就可以使用 sudo 獲取 root 許可權了。
4.刪除使用者
刪除使用者是很簡單的事:
$ sudo deluser lilei --remove-home
二、Linux 檔案許可權
1.檢視檔案許可權
5 of 10
08/17/2015 07:08 PM使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
我們之前已經很多次用到 ls 命令了,如你所見,我們用它來列出並
顯示當前目錄下的檔案,當然這是在不帶任何引數的情況下,它能做
的當然不止這麼多,現在我們就要用它來檢視檔案許可權。
使用較長格式列出檔案:
$ ls -l
你可能除了知道最後面那一項是檔名之外,其它項就不太清楚了,
那麼到底是什麼意思呢:
可能你還是不太明白,比如第一項檔案型別和許可權那一堆東西具體指
什麼,連結又是什麼,何為最後修改時間,下面一一道來:
檔案型別
關於檔案型別,這裡有一點你必需時刻牢記Linux 裡面一切皆檔案,
正因為這一點才有了裝置檔案( /dev 目錄下有各種裝置檔案,大都
跟具體的硬體裝置相關)這一說,還有 socket (網路套接字,具體
是什麼,感興趣的使用者可以自己去了解或期待實驗樓的後續相關課
程),和 pipe (管道,這個東西很重要,我們以後將會討論到,這裡
6 of 10
08/17/2015 07:08 PM使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
你先知道有它的存在即可)。軟連結檔案,連結檔案是分為兩種的,另
一種當然是“硬連結”(硬連結不常用,具體內容不作為本課程討論重
點,而軟連結等同於 Windows 上的快捷方式,你記住這一點就夠了)
檔案許可權
讀許可權,表示你可以使用 cat <file name> 之類的命令來讀取某個
檔案的內容;寫許可權,表示你可以編輯和修改某個檔案; 執行許可權,通
常指可以執行的二進位制程式檔案或者指令碼檔案,如同 Windows 上的
'exe' 字尾的檔案,不過 Linux 上不是通過檔案字尾名來區分檔案的類
型。你需要注意的一點是,一個目錄要同時具有讀許可權和執行許可權才
可以開啟,而一個目錄要有寫許可權才允許在其中建立其它檔案,這是
因為目錄檔案實際儲存著該目錄裡面的檔案的列表等資訊
所有者許可權,這一點相信你應該明白了,至於所屬使用者組許可權,是指
你所在的使用者組中的所有其它使用者對於該檔案的許可權,比如,你有一
個艾派德,那麼這個使用者組許可權就決定了你的兄弟姐妹有沒有許可權使用
它破壞它和佔有它。
連結數
連結到該檔案所在的 inode 結點的檔名數目(關於這個概念
涉及到 Linux 檔案系統的相關概念知識,不在本課程的討論範
圍,感興趣的使用者可以自己去了解)。
檔案大小
以 inode 結點大小為單位來表示的檔案大小,你可以給 ls 加上
-lh 引數來更直觀的檢視檔案的大小。
明白了檔案許可權的一些概念,我們順帶補充一下關於 ls 命令的一些
其它常用的用法:
顯示除了 '.'(當前目錄),'..' 上一級目錄之外的所有包含隱藏檔案
(Linux 下以 '.' 開頭的檔案為隱藏檔案)
$ ls - A
當然,你可以同時使用 '-A' 和 '-l' 引數:
7 of 10
08/17/2015 07:08 PM使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
$ ls - Al
檢視某一個目錄的完整屬性,而不是顯示目錄裡面的檔案屬性:
$ ls -dl <目錄名>
顯示所有檔案大小,並以普通人類能看懂的方式呈現:
$ ls - AsSh
其中小 s 為顯示檔案大小,大 S 為按檔案大小排序,若需要知道如何
按其它方式排序,請使用“man”命令查詢。
2.變更檔案所有者
假設目前是 lilei 使用者登入,新建一個檔案,命名為 “iphone6”:
$ touch iphone6
可見檔案所有者是 lilei :
現在,使用以下命令變更檔案所有者為 shiyanlou :
$
$
$
$
cd /home/lilei
ls iphone6
sudo chown shiyanlou iphone6
cp iphone6 /home/shiyanlou
現在檢視,發現 檔案所有者成功修改為 shiyanlou :
3.修改檔案許可權
如果你有一個自己的檔案不想被其他使用者讀、寫、執行,那麼就需要
對檔案的許可權做修改,這裡有兩種方式:
方式一:二進位制數字表示
8 of 10
08/17/2015 07:08 PM使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
每個檔案的三組許可權(擁有者,所屬使用者組,其他使用者,記住這個順序
是一定的)就對應這一個 "rwx",也就是一個 '7' ,所以如果我要將檔案
“iphone6”的許可權改為只有我自己可以用那麼就這樣:
為了演示,我先在檔案里加點內容:
$ echo "echo \"hello shiyanlou\"" > iphone6
然後修改許可權:
$ chmod 700 iphone6
現在,其他使用者已經不能讀這個“iphone6”檔案了:
方式二:加減賦值操作
完成上述相同的效果,你可以:
$ chmod go-rw iphone
'g''o'還有'u',分別表示group,others,user,'+','-' 就分別表示增加
和去掉相應的許可權。
三、更多
Linux 還有一些關於隱藏許可權和特殊許可權的內容,想全面瞭解 Linux 權
限管理這部分內容的使用者可以通過其他方式學習。
9 of 10
08/17/2015 07:08 PM使用者及檔案許可權管理 - 實驗樓
https://www.shiyanlou.com/courses/document/3
作業
新增一個使用者 loutest ,使用 sudo 建立檔案 /opt/forloutest ,設
置成使用者 loutest 可以讀寫。截圖並把操作過程寫入實驗報告。
動手做實驗,輕鬆學IT。
實驗樓-通過動手實踐的方式學會IT技術。
公司簡介 (/aboutus) 聯絡我們 (/contact) 常見問題 (/faq#howtostart) 加入我們 (/hire) 隱私協議 (/privacy)
會員條款 (/terms)
站長統計 (http://www.cnzz.com/stat/website.php?web_id=5902315)
蜀ICP備13019762號 (http://www.miibeian.gov.cn/)
(http://www.anquan.org/authenticate/cert/?site=www.shiyanlou.com&at=realname)
QQ群
微信
微博
(http://weibo.com/shiyanlou2013)
10 of 10
08/17/2015 07:08 PM

相關文章