歡迎您光臨本站 註冊首頁

linux視頻教程之用戶的管理

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

這次主要說一下用戶的管理以及相關的文件

先看一下 /etc/passwd 1. 賬號名稱:就是賬號名稱 !對應UID 用的!例如root 就是預設的系統管理員的賬號名稱  2. 密碼: 早期的Unix 系統的密碼是放在這個文件中的,不過由於這樣一來很容易造成數據的被竊取 後來就將數據給他改放到/etc/shadow 中了,而這裡你會看到一個x,但密碼已經被移動 到shadow這個加密過後的文件 3. UID: 這個就是使用者識別碼(ID) !通常Linux 對於UID 有幾個限制需要了解一下 0 系統管理員 當你要作另一個系統管理員賬號時,你可以將該賬號的UID 改成0 即可;1~500 保留給系 統使用的ID,其實1~65534 之間的賬號並沒有不同,也就是除了0 之外,其它的UID 並沒有不 一樣,預設500 以下給系統作為保留賬號只是一個習慣.這樣的好處是,以named 為例,這個 程序的預設所有人named 的賬號UID 是25 ,當有其它的賬號同樣是25 時,很可能會造成系統 的一些小問題!為了杜絕這樣的問題,建議保留500 以前的UID 給系統 500~65535給一般使用 者用的   4. GID:這個與/etc/group 有關!其實/etc/group 與/etc/passwd 差不多,只是他是用來規範group的   5. 說明:這個欄位基本上並沒有什麼用途,只是用來解釋這個賬號的意義而已 不過,如果您提供使用 finger 的功能時,這個欄位可以提供很多的訊息 !   6. 宿主目錄:這是使用者的宿主目錄,以上面為例, root 的宿主目錄在/root ,當root 登入之後 馬上在的所在就是/root 裡頭 如果你有個賬號的使用空間特別的大,你想要將該賬號的宿 主目錄移動到其它的硬碟去,沒有錯!可以在這裡進行修改 !預設的使用者宿主目錄 在/home/your ID name   7. Shell :所謂的shell 是用來溝通人類下達的命令與硬體之間真正動作的界面!命令解釋器 我們通常使用/bin/bash 這個shell 來進行命令的下達!這裡比較需要注意的是,有一個 shell可以用來替代成讓賬號無法登入的命令!那就是/bin/false 這個東西!這也可以用來 製作純pop 郵件賬號者的數據! /etc/shadow 1. 賬號名稱:這個跟passwd 需要對應!也就是跟passwd 相同的意思   2. 密碼:這個才是真正的密碼,是經過編碼過的密碼 !你只會看到有一些特殊符號的字母就是了! 需要特別留意的是,雖然這些加密過的密碼很難被解出來,但是 很難 不等於 不會 ,, 這個文件的預設屬性是 -rw------- 亦即只有root 才可以讀寫就是了!你得隨時注意,不要 不小心更動了這個文件的屬性呢!另外,如果是在密碼欄的第一個字元為 * 表示這個賬號並 不會被用來登入的意思. 3. 上次更動密碼的日期:這個欄位記錄了 更動密碼的那一天 的日期,不過,很奇怪呀!在我的例子中 怎麼會是11979 呢? ,這個是計算Linux 日期的時間是以1970 年1月1日 作為1 ,而1971 年1 月1 日則為366 !這個時間是從1970年01月01日算 起到最近一次修改口令的時間間隔(天數),可以通過passwd 來修改用戶的 密碼,然後查看/etc/shadow中此欄位的變化;   4. 密碼不可被更動的天數:第四個欄位記錄了這個賬號的密碼需要經過幾天才可以被變更!如果是0 的 話,表示密碼隨時可以更動的意思.這的限制是為了怕密碼被某些人一改再 改而設計的!如果設定為20 天的話,那麼當你設定了密碼之後, 20 天之內 都無法改變這個密碼 !   5. 密碼需要重新變更的天數:兩次修改口令間隔最多的天數,這個能增強管理員管理用戶口令的時效性, 應該說在增強了系統的安全性;如果是系統默認值,是在添加用戶時由 /etc/login.defs文件定義中獲取,在PASS_MAX_DAYS 中定義   6. 密碼需要變更期限前的警告期限:當賬號的密碼失效期限快要到的時候,系統會依據這個欄位的設定 發出警告 言論給這個賬號,提醒他 再過n天你的密碼就要失效了, 請儘快重新設定你的密碼 ! ,如上面的例子,則是密碼到期之前 的7 天之內,系統會警告該用戶.   7. 賬號失效期限:如果用戶過了警告期限沒有重新輸入密碼,是的密碼失效了,而該用戶在這個欄位限 定的時間內又沒有跟root 反應,讓賬號重新啟用,那麼這個賬號將暫時的失效!   8. 賬號取消日期:這個日期跟第三個欄位一樣,都是使用1970 年以來的日期設定.這個欄位表示:這 個賬號在此欄位規定的日期之後,將無法再使用.這個欄位會被使用通常應該是在收 費服務 的系統中,你可以規定一個日期讓該賬號不能再使用 !   9. 保留:一個欄位是保留的,目前為空,以備將來Linux發展之用 以上是用 : 分開的,每個部分都有相關的意思,這裡不再細說,自己看下 建立賬號的時候,如果沒有特殊的設定,通常我們只使用 useradd username 就可以建立一個名 為username 的賬號了 基本設定就在/etc/login.defs 與/etc/default/useradd 這兩個文件中! login.defs 主要內容則為 MAIL_DIR /var/spool/mail <==郵件預設目錄擺放處 PASS_MAX_DAYS 99999 <==密碼需要變更的時間 PASS_MIN_DAYS 0 <==密碼多久需要變更 PASS_MIN_LEN 5 <==密碼的最小長度(這個可以改大一些 !) PASS_WARN_AGE 7 <==密碼快要失效之前幾天發警告訊息? UID_MIN 500 <==預設帳號最小起算的UID 數目(最小為500 ) UID_MAX 60000 <==最大的UID 限制 GID_MIN 500 <==GID 限制 GID_MAX 60000 <==GID 限制 CREATE_HOME yes <==是否建立宿主目錄,預設是要建立宿主目錄(若為mail server 可以取消此項目) useradd 內容則為: GROUP=100 <==預設的使用者群組為100 ,查看一下/etc/group 時,這個群組名稱為users HOME=/home <==預設使用者的宿主目錄建立的目錄 INACTIVE=-1 <==是否不啟動,設定為-1 自然就是啟動 ! EXPIRE= <==是否需要設定 死亡 時間?如果你希望該用戶在期限到之後就不許登入,此項可以設定天數. SHELL=/bin/bash <==預設的Shell是什麼 SKEL=/etc/skel <==使用者宿主目錄的內容! /etc/group 1. 群組名稱:就是群組名稱 ! 2. 群組密碼:通常不需要設定,我們很少使用到群組登入!不過,同樣的,密碼也是被紀錄在 /etc/gshadow 當中 ! 3. 群組ID:就是所謂的GID ! 4. 支持的賬號名稱:這個群組裡面的所有的賬號 /etc/gshadow /etc/gshadow是/etc/group的加密文件,比如用戶組(Group)管理密碼就是存放在這個文件. /etc/gshadow和/etc/group是互補的兩個文件;對於大型伺服器,針對很多用戶和組 定製一些關係結構比較複雜的許可權模型,設置用戶組密碼是極有必要的. 比如我們不想讓一些非用戶組成員永久擁有用戶組的許可權和特性,這時我們可以通過密碼驗證的 方式來讓某些用戶臨時擁有一些用戶組特性,這時就要用到用戶組密碼 第一欄位:用戶組 第二欄位:用戶組密碼,這個段可以是空的或!,如果是空的或有!,表示沒有密碼; 第三欄位:用戶組管理者,這個欄位也可為空,如果有多個用戶組管理者,用,號分割; 第四欄位:組成員,如果有多個成員,用,號分割 以上都是一些相關文件,一定要了解,這很重要 下面說命令 useradd [-u UID] [-g GID] [-d HOME] [-mM] [-s shell] username 參數說明: -u :直接給予一個UID -g :直接給予一個GID (此GID 必須已經存在於/etc/group 當中) -d :直接將他的宿主目錄指向已經存在的目錄(系統不會再建立) -M :不建立宿主目錄 -s :定義其使用的shell 加一個用戶user1 不指定組 加一個用戶user2 指定組 users passwd 這個命令可以修改使用者的密碼!要注意的是, 這個命令在/bin/passwd 中 而賬號所存放的地方在/etc/passwd 中 -S 查詢指定用戶帳號的口令狀態,只有root用戶可以使用 -l 鎖定指定用戶帳號的口令,只有root用戶才能使用 例passwd -l user1 -u 解鎖指定用戶帳號 例passwd -u user1 -d 刪除指定用戶帳號的口令 如果後面接的用戶名,則是為其用戶設的密碼 如果後面什麼也不接,則是為當然用戶自己設密碼 再說一下,如果創建用戶的時候不指定組,則是為這個用戶單獨創建一個組 看,只有user1的,給user2指定組了 userdel [-r] username 參數說明: -r :將該賬號的[home directory]與[/var/spool/mail/username]一併刪除! 看,其宿主目錄還在 看,加了-r的就不在了 usermod可用來修改用戶帳號的各項設定. 參  數:  -c<備註>  修改用戶帳號的備註文字.  -d登入目錄>  修改用戶登入時的目錄.  -e<有效期限>  修改帳號的有效期限.  -f<緩衝天數>  修改在密碼過期后多少天即關閉該帳號.  -g<群組>  修改用戶所屬的群組.  -G<群組>  修改用戶所屬的附加群組.  -l<帳號名稱>  修改用戶帳號名稱.  -L  鎖定用戶密碼,使密碼無效.和 passwd -l 鎖定指定用戶帳號的口令 一樣  -s<shell>  修改用戶登入后所使用的shell.  -u<uid>  修改用戶ID. 和passwd -u 解鎖指定用戶帳號 一樣  -U  解除密碼鎖定. 看,是不可以登錄的 看,-U以後就可以了 chsh [-l] [-s shellname] 參數說明: -l :列出目前這部機器上面的能用的shell 名稱 -s :改變目前的shell 成為shellname chsh -l <==列出本機上所有能用的shell 名稱 chsh -s /bin/csh 用戶自行改變自己的預設shell chfn 這個命令說實在的,除非是你的主機有很多的用戶,否則倒真是用不著這個程序 chfn Changing finger information for test. Password: <==這裡輸入新的密碼 Name [Testing]: Testing <==這裡輸入你要顯示的 昵稱 Office []: Office Phone []: Home Phone []: id 查詢使用者的UID, GID 及所擁有的群組; groups 查詢使用者能夠支持的群組; finger 查詢使用者的一些相關訊息,例如電話號碼等. 以上命令及參數一定要會 groupadd groupadd -g 555 testing<==設定一個群組,GID為555 groupdel 需要從系統上刪除群組時,可用groupdel指令來完成這項工作.如果該群組中仍包括某些用戶, 則必須先刪除這些用戶后,才能刪除群組. 看,把test1用戶放到gtest組后,test1組就可以刪了 我們可以通過 gpasswd 來設置用戶組的密碼;不過一般的情況下,沒有必要設置用戶組的密碼 gpasswd 的用法: gpasswd 用戶組 用戶組之間的切換,應該用 newgrp 一般是怎麼用 gpasswd 語法:gpasswd[選項]<用戶名><組名> gpasswd -a 用戶帳號名 組帳號名 用於將指定用戶帳號添加到指定用戶組 gpasswd -d 該用戶帳號名 組帳號名 用於將指定用戶帳號從指定用戶組中刪除 gpasswd -A 組管理員列表 用戶組 該命令用於設置指定的用戶為用戶組的管理員 把test2用戶設為test2組的管理員 然後test2登錄,把test1用戶加入到test2組 看,這樣就成功的添加了 你可以去做其它實驗,讓一個不是組管理員的用戶去加別人,這樣看看結果 其它的參數自己去看看,一定要知道,要會做 當然還有其它的一些相關數據,這裡只是說些常用的 pwconv pwunconv grpconv grpunconv 留個作業,想想這幾個命令是幹什麼的 成功!!!!!!!!!

本文出自 「單身貴族」 博客,請務必保留此出處http://liuxin1982.blog.51cto.com/4338970/781365


[火星人 ] linux視頻教程之用戶的管理已經有443次圍觀

http://coctec.com/docs/linux/show-post-47120.html