使用者與群組
初次接觸 Linux 的朋友大概會覺得很怪異
怎麼『Linux 有這麼多使用者
還分什麼群組
有什麼用?』
這個『使用者與群組』的功能可是相當健全而好用的一個安全防護呢!怎麼說呢?由於 Linux 是個多人多工的系統 ( 已經提過若干次啰! )
因此可能常常會有多人同時使用這部主機來進行工作的情況發生
為了考慮每個人的隱私權
因此
這個『檔案擁有者』的角色就顯的相當的重要了!例如當你將你的e
mail情書轉存成檔案之後
放在您自己的家目錄
您總不希望被其他人看見自己的情書吧?這個時候
你就把該檔案設定成『只有檔案擁有者
就是我
才能看與修改這個檔案的內容』
那麼即使其他人知道你有這個相當『有趣』的檔案
不過由於您有設定適當的權限
所以其他人自然也就無法知道該檔案的內容啰!
那麼群組呢?為何要設定檔案還有所屬的群組?其實
群組最簡單的功能之一
就是當您在團隊開發資源的時候最有用啦!舉個例子來說好了
假如在我的主機上面有兩個團體
這第一個團體名稱為 testgroup 而他的成員是 test
test
test
三個
第二個團體名稱為 treatgoup 他的團員為 treat
treat
treat
這兩個團體之間是互相有競爭性質的
但是卻又要繳交同一份報告
然而每組團員又需要同時可以修改自己的團體內任何人所建立的檔案
且不能讓非自己團體以外的人看到自己的檔案內容!這個時候怎麼辦?呵呵!在 Linux 底下可就很簡單啦!我可以經由簡易的檔案權限設定
就能限制非自己團隊( 亦即是群組啰 )的其他人不能夠閱覽內容啰!而且亦可以讓自己的團隊成員可以修改我所建立的檔案!同時
如果我自己還有私人隱密的文件
仍然可以設定成讓自己的團隊成員也看不到我的檔案資料?很方便吧!另外
如果 teacher 這個帳號是 testgroup 與 treatgroup 這兩個群組的老師
他想要同時觀察兩者的進度
因此需要兩邊的群組都能夠進去觀看
這個時候
您可以設定 teacher 這個帳號
『同時支援 testgroup 與 treatgroup 這兩個群組!』
也就是說
每個人都可以有多個群組的支援呢!
這樣說或許你還不容易理解這個使用者與群組的關系吧?沒關系
我們可以使用目前『家庭』的觀念來進行解說喔!假設有一家人
家裡只有三兄弟
分別是王大毛
王二毛與王三毛三個人
而這個家庭是登記在王大毛的名下的!所以
『王大毛家有三個人
分別是王大毛
王二毛與王三毛』
而且這三個人都有自己的房間
並且共同擁有一個客廳喔!
·由於王家三個人各自擁有自己的房間
所以
王二毛雖然可以進入王三毛的房間
但是二毛不能翻三毛的抽屜喔!那樣會被三毛 K 的!因為抽屜裡面可能有三毛自己私人的東西
例如情書啦
日記啦等等的
這是『私人的空間』
所以當然不能讓二毛拿啰!
·由於共同擁有客廳
所以王家三兄弟可以在客廳打開電視機啦
翻閱報紙啦
坐在沙發上面發呆啦等等的!反正
只要是在客廳的玩意兒
三兄弟都可以使用喔!因為大家都是一家人嘛!
這樣說來應該有點曉得了喔!那個『王大毛家』就是所謂的『群組』啰
至於三兄弟就是分別為三個『使用者』
而這三個使用者是在同一個群組裡面的喔!而三個使用者雖然在同一群組內
但是我們可以設定『權限』
好讓某些使用者個人的資訊不被群組的所有人查詢
以保有個人『私人的空間』啦!而設定群組共享
則可讓大家共同分享喔!
好了
那麼今天又有個人
叫做張小豬
他是張小豬家的人
與王家沒有關系啦!這個時候
除非王家認識張小豬
然後開門讓張小豬進來王家
否則張小豬永遠沒有辦法進入王家
更不要說進到王三毛的房間啦!不過
如果張小豬透過關系認識了三毛
並且跟王三毛成為好朋友
那麼張小豬就可以透過三毛進入王家啦!呵呵!沒錯!那個張小豬就是所謂的『其他人
Others 』啰!因此
我們就可以知道啦
在 Linux 裡面
任何一個檔案都具有『User
Group 及 Others』三個權限!我們可以將上面的說明以底下的圖示來解釋
不過
這裡有個特殊的人物要來介紹的
那就是『萬能的天神』!這個天神具有無限的神力
所以他可以到達任何他想要去的地方
呵呵!那個人在 Linux 系統中的身份代號是『 root 』啦!所以要小心喔!那個 root 可是『萬能的天神』喔!
無論如何
『使用者身份』
與該使用者所支援的『群組』概念
在 Linux 的世界裡面是相當的重要的
他可以幫助您讓您的多工 Linux 環境變的更容易管理!更詳細的『身份與群組』 設定
我們將在帳號管理再進行解說
底下我們將針對檔案系統與檔案權限來進行說明
Linux 檔案屬性
大致了解了 Linux 的使用者與群組之後
接著下來
我們要來談一談
那麼這個檔案的權限要如何針對這些所謂的『使用者』與『群組』來設定該檔案的權限呢?這個部分是相當的重要的
尤其對於初學者來說
因為檔案的權限與屬性是學習 Linux 的一個相當重要的關卡
如果沒有這部份的概念
那麼您將老是聽不懂別人在講什麼呢!尤其是當您在您的螢幕前面出現了『Permission deny』的時候
不要擔心
『肯定是權限設定錯誤』啦!呵呵!好了
閒話不多聊
趕快來瞧一瞧先
嗯!既然要讓你了解 Linux 的檔案屬性
那麼有個重要的也是常用的指令就必須要先跟你說啰!那一個?!就是『 ls 』這一個 list 檔案的指令啰!在你以 root 的身份登入 Linux 之後
下達『ls
al 』看看
會看到底下的幾個咚咚
[root@tsai root]# ls
al total
drwxr
x
root root
Feb
:
drwxr
xr
x
root root
Feb
:
rw
r
r
root root
Feb
:
anaconda
ks
cfg
rw
root root
Feb
:
bash_history
rw
r
r
root root
Jun
bash_logout
rw
r
r
root root
Jul
bash_profile
rw
r
r
root root
Feb
:
bashrc
rw
r
r
root root
Jun
cshrc drwx
root root
Feb
:
gnupg
rw
root root
Feb
:
mysql_history drwx
root root
Feb
:
ssh
rw
r
r
root root
Jul
tcshrc
rw
r
r
root root
Aug
Xresources 第一欄 二 三 四 五 六 七 [檔案屬性][檔案數][擁有者][所有者群組][大小][建檔日期][檔名]
ls 是『list』的意思
與在早期的 DOS 年代的 dir 類似功能
而參數『
al』則表示列出所有的檔案(包含隱藏檔
就是檔名前面第一個字元為
的那種檔案)
如上所示
在你第一次以 root 身份登入 Linux 時
如果你輸入指令後
應該有上列的幾個東西
先解釋一下上面七個欄位個別的意思
第一欄代表這個檔案的屬性
這個地方最需要注意了!仔細看的話
你應該可以發現這一欄其實共有十個屬性
o第一個屬性代表這個檔案是『目錄
檔案或連結檔』
§當為[ d ]則是目錄
例如上表的第
行
§為[
]則是檔案
例如上表的第
行
§若是[ l ]則表示為連結檔(link file)
§若是[ b ]則表示為裝置檔裡面的可供儲存的周邊設備
§若是[ c ]則表示為裝置檔裡面的序列埠設備
例如鍵盤
滑鼠
o接下來的屬性中
三個為一組
且均為『rwx』的三個參數的組合
其中
[ r ]代表可讀
[ w ]代表可寫
[ x ]代表可執行
§ 第一組為『所有人的權限』
以第五行為例
該檔案的所有人可以讀寫
但不可執行
§第二組為『同群組的權限』
§第三組為『其他非本群組的權限』
范例
若有一個檔案的屬性為『
rwxr
xr
』
簡單的可由下面說明之
[
][rwx][r
x][r
]
為
代表這個檔名為目錄或檔案(上面為檔案)
為
擁有人的權限(上面為可讀
可寫
可執行)
為
同群組使用者權限(上面為可讀可執行)
為
其他使用者權限(上面為僅可讀)
上面的屬性情況代表一個檔案
這個檔案的擁有人可讀可寫可執行
但同群組的人僅可讀與執行
非同群組的使用者僅可讀的意思!
o除此之外
需要特別留意的是 x 這個標號!若檔名為一個目錄的時候
例如上表中的
ssh 這個目錄
drwx
root root
Feb
:
ssh
可以看到這是一個目錄
而且只有 root 可以讀寫與執行
但是若為底下的樣式時
請問非 root 的其他人是否可以進入該目錄呢?
drwxr
r
root root
Feb
:
ssh
咦!似乎好象是可以喔!因為有可讀[ r ]存在嘛!『錯!』答案是非 root 這個帳號的其他使用者均不可進入
ssh 這個目錄
為什麼呢?因為 x 與 目錄 的關系相當的重要
如果您在該目錄底下不能執行任何指令的話
那麼自然也就無法執行 ls
cd 等指令
所以啰
也就無法進入了
因此
請特別留意的是
如果您想要開放某個目錄讓一些人進來的話
請記得將該目錄的 x 屬性給開放呦!
o另外
你也必須要更加的小心的是
在 Windows 底下一個檔案是否具有執行的能力是藉由『附檔名』來執行的
例如
exe
bat
等等
但是在 Linux 底下
我們的檔案是否能執行
則是藉由是否具有 x 這個屬性來決定的!所以
跟檔名是沒有絕對的關系的!這
From:http://tw.wingwit.com/Article/program/Oracle/201311/17691.html