Linux使用者、使用者組、檔案許可權【命令實戰】 linux的許可權系統主要是由使用者、使用者組和許可權組成。 關於理論方面,可參考另一篇文章: linux下查看所有使用者及所有使用者組【理論篇】http://www.bkjia.com/os/201304/205743.html 使用者就是一個個的登入並使用linux的使用者。linux內部用UID表示。使用者組就是使用者的分組。linux內部用GID表示。許可權分為讀、寫、執行三種許可權。 linux的使用者資訊儲存在/etc/passwd檔案中,另外,/etc/shadow檔案存放的是使用者密碼相關資訊。 /etc/passwd檔案格式:使用者名稱:密碼:UID:GID:使用者資訊:HOME目錄路徑:使用者shell其中UID為0則是使用者root,1~499為系統使用者,500以上為普通使用者 /etc/shadow儲存使用者密碼資訊,包括加密後的密碼,密碼到期時間,密碼到期提示天數等。 使用者組資訊儲存在/etc/group檔案中.格式如下:使用者組名:組密碼:GID:組內帳號(多個帳號用逗號分隔) 使用者登入後,/etc/passwd檔案裡的GID為使用者的初始使用者組。使用者的初始使用者組這一事實不會再/etc/group中體現。 ———————下面是命令——————————查看目前使用者的使用者組命令:[root@local opt]#groupsroot bin daemon sys adm disk wheel輸出的資訊中,第一個使用者組為目前使用者的有效使用者組(目前使用者組) 切換有效使用者組命令:[root@local opt]#newgrp 使用者組名要離開新的有效使用者組,則輸入exit斷行符號。 建立使用者命令:[root@local opt]#useradd 使用者名稱 -g 初始使用者組 -G 其他使用者組(修改/etc/group) -c 使用者說明 -u 指定UID 建完使用者需要為使用者佈建密碼:[root@local opt]#passwd 使用者名稱 使用者要修改自己密碼命令:[root@local opt]#passwd 修改使用者資訊命令:[root@local opt]#usermod 參數 使用者名稱參數: -c 說明 -g 組名 初始使用者組-e 到期日期 格式:YYYY-MM-DD -G 組名 其他使用者組 -l 修改使用者名稱 -L 鎖定帳號(在/etc/shadow檔案中使用者對應密碼密碼串的前面加上兩個歎號(!!)) -U 解鎖 刪除使用者命令:[root@local opt]#userdel [-r] 使用者名稱其中,參數-r為刪除使用者的home目錄。其實,可能在系統其他地方也有該使用者檔案,要完整刪除一個使用者和其檔案要先找到屬於他的檔案:[root@local opt]#find / -user 使用者名稱然後刪除,再運行userdel刪除使用者。 查看可用shell命令:[root@local opt]#chsh -l修改自己的shell命令:[root@local opt]#chsh -s 查看自己或某人UID/GID資訊:[root@local opt]#id [使用者名稱]返回資訊中groups為有效使用者組 新增使用者組命令:[root@local opt]#groupadd 使用者組名 修改使用者組名命令:[root@local opt]#groupmod -n 名稱 刪除使用者組命令:[root@local opt]#groupdel 使用者組名 設定使用者組密碼命令:[root@local opt]#gpasswd 使用者組名 如果gpasswd加上參數則有其他功能 設定使用者組管理員命令:[root@local opt]#gpasswd -A 使用者名稱 使用者組名 添加某帳號到組命令:[root@local opt]#gpasswd -M 使用者名稱 使用者組名 從群組移除某帳號命令:[root@local opt]#gpasswd -d 使用者名稱 使用者組名 passwd相關參數操作:-l 鎖使用者-u 解鎖使用者-n 天數 密碼不可改天數-x 天數 密碼到期天數-w 天數 警告天數 檔案許可權知識 先看個執行個體:[root@local opt]#ls -alls -al 命令是列出目錄的所有檔案,包括隱藏檔案。隱藏檔案的檔案名稱第一個字元為'.'-rw-r--r-- 1 root root 81 08-02 14:54 gtkrc-1.2-gnome2-rw------- 1 root root 189 08-02 14:54 ICEauthority-rw------- 1 root root 35 08-05 10:02 .lesshstdrwx------ 3 root root 4096 08-02 14:54 .metacitydrwxr-xr-x 3 root root 4096 08-02 14:54 nautilus 列表的列定義如下:[許可權屬性資訊] [串連數] [擁有者] [擁有者所屬使用者組] [大小] [最後修改時間] [檔案名稱] 許可權屬性列表為10個字元:第一個字元表示檔案類型,d為目錄 -為普通檔案 l為串連 b為可儲存的介面裝置 c為鍵盤滑鼠等輸入裝置2、3、4個字元表示所有者許可權,5、6、7個字元表示所有者同組使用者權限,8、9、10為其他使用者權限第二個字元表示所有者讀許可權,如果有許可權則為r,沒有許可權則為-第三個字元表示所有者寫入權限,如果有許可權則為w,沒有許可權則為-第四個字元表示所有者執行許可權,如果有許可權則為x,沒有許可權則為- 第五個字元表示所有者同組使用者讀許可權,如果有許可權則為r,沒有許可權則為-第六個字元表示所有者同組使用者寫入權限,如果有許可權則為w,沒有許可權則為-第七個字元表示所有者同組使用者執行許可權,如果有許可權則為x,沒有許可權則為- 第八個字元表示其他非同組讀許可權,如果有許可權則為r,沒有許可權則為-第九個字元表示其他非同組寫入權限,如果有許可權則為w,沒有許可權則為-第十個字元表示其他非同組執行許可權,如果有許可權則為x,沒有許可權則為- 修改檔案所屬組命令:[root@local opt]#chgrp [-R] 組名 檔案名稱其中-R為遞迴設定 修改檔案的所有者和組命令:[root@local opt]#chown [-R] 使用者[:使用者組] 檔案名稱 修改檔案存取權限命令:[root@local opt]#chmod [-R] 0777 檔案名稱 ==========================其他命令==========================================linux 查看使用者及使用者組的方法 whois功能說明:尋找並顯示使用者資訊。語 法:whois [帳號名稱]補充說明:whois指令會去尋找並顯示指定帳號的使用者相關資訊,因為它是到Network Solutions 的WHOIS資料庫去尋找,所以該帳號名稱必須在上面註冊方能尋獲,且名稱沒有大小寫差別。---------------------------------------------------------whoami功能說明:先似乎使用者名稱稱。語 法:whoami [--help][--version]補充說明:顯示自身的使用者名稱稱,本指令相當於執行"id -un"指令。參 數:--help 線上協助。--version 顯示版本資訊。---------------------------------------------------who功能說明:顯示目前登入系統的使用者資訊。語 法:who [-Himqsw][--help][--version][am i][記錄檔案]補充說明:執行這項指令可得知目前有那些使用者登入系統,單獨執行who指令會列出登入帳號,使用的 終端機,登入時間以及從何處登入或正在使用哪個X顯示器。參 數:-H或--heading 顯示各欄位的標題資訊列。-i或-u或--idle 顯示閑置時間,若該使用者在前一分鐘之內有進行任何動作,將標示成"."號,如果該使用者已超過24小時沒有任何動作,則標示出"old"字串。-m 此參數的效果和指定"am i"字串相同。-q或--count 只顯示登入系統的帳號名稱和總人數。-s 此參數將忽略不予處理,僅負責解決who指令其他版本的相容性問題。-w或-T或--mesg或--message或--writable 顯示使用者的資訊狀態列。--help 線上協助。--version 顯示版本資訊。----------------------------------------------------w功能說明:顯示目前登入系統的使用者資訊。語 法:w [-fhlsuV][使用者名稱稱]補充說明:執行這項指令可得知目前登入系統的使用者有那些人,以及他們正在執行的程式。單獨執行w指令會顯示所有的使用者,您也可指定使用者名稱稱,僅顯示某位使用者的相關資訊。參 數:-f 開啟或關閉顯示使用者從何處登入系統。-h 不顯示各欄位的標題資訊列。-l 使用詳細格式列表,此為預設值。-s 使用簡潔格式列表,不顯示使用者登入時間,終端機階段作業和程式所耗費的CPU時間。-u 忽略執行程式的名稱,以及該程式耗費CPU時間的資訊。-V 顯示版本資訊。-----------------------------------------------------fingerfinger 命令的功能是查詢使用者的資訊,通常會顯示系統中某個使用者的使用者名稱、主目錄、停滯時間、登入時間、登入shell等資訊。如果要查詢遠程機上的使用者資訊,需要在使用者名稱後面接“@主機名稱”,採用[使用者名稱@主機名稱]的格式,不過要查詢的網路主機需要運行finger守護進程。該命令的一般格式為:finger [選項] [使用者] [使用者@主機]命令中各選項的含義如下:-s 顯示使用者的註冊名、真實姓名、終端名稱、寫狀態、停滯時間、登入時間等資訊。-l 除了用-s選項顯示的資訊外,還顯示使用者主目錄、登入shell、郵件狀態等資訊,以及使用者主目錄下的.plan、.project和.forward檔案的內容。-p 除了不顯示.plan檔案和.project檔案以外,與-l選項相同。 [例]在本地機上使用finger命令。$ finger xxqLogin: xxq Name:Directory: /home/xxq Shell: /bin/bashLast login Thu Jan 1 21:43 (CST) on tty1No mail.No Plan. $ fingerLogin Name Tty Idle Login Time Office Office Phoneroot root *1 28 Nov 25 09:17……------------------------------------------------------------------/etc/group檔案包含所有組/etc/shadow和/etc/passwd系統存在的所有使用者名稱修改目前使用者所屬組的方法usermod 或者可以直接修改 /etc/paaawd檔案即可----------------------------------------------------------------vlock(virtual console lock)功能說明:鎖住虛擬終端。語 法:vlock [-achv]補充說明:執行vlock指令可鎖住虛擬終端,避免他人使用。參 數:-a或--all 鎖住所有的終端階段作業,如果您在全螢幕的終端中使用本參數,則會將用鍵盤切換終端機的功能一併關閉。-c或--current 鎖住目前的終端階段作業,此為預設值。-h或--help 線上協助。-v或--version 顯示版本資訊。