2007年8月29日 星期三

LPI心得筆記簿 ─ 使用者管理(Manage Users)(2)

筆者先前寫了有關於使用者管理(1)的心得筆記,現在來把一些比較特殊的用法也補上,雖然說這些用法不一定都用得著,可是多瞭解一點也沒有壞處,不是嗎?

更何況,有時候特別的用法在管理時,還是可以發揮出一定的功效...

雖然不太好上手,用久了還是可以讓這些成為技能中的一部份

其實,我在這裡也不是要介紹所有跟他們有關的參數,如果真的想要知道它相關的參數,可能利用man或help文件來查閱,可能會比筆者寫的詳細

useradd的其它參數:useradd [參數] username

常用的參數說明如下:

-g:設定gid(主要群組ID)
-G:增補群組ID(同時成為其它群組中的一員)
-s:設定shell(如bash...等)
-u:設定uid(使用者ID)
-d:設定使用者家目錄
-c:說明(跟/etc/passwd中的第五個欄位相同)
-e:帳戶到期日
-f:帳戶失效日

特殊用法-D(改變預設值)
說明:可以改變預設值的設定(之後新增的使用者皆套用此設定)
設定檔:/etc/default/useradd

useradd -D:查看現在的預設值(內容與/etc/default/useradd相同)
/etc/default/useradd 的內容如下
---------
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
---------

常用的參數說明:用法useradd -D [參數] username

-b:定義家目錄的前一個目錄
-s:往後加入的使用者使用的shell名稱(bash、nologin...)

這部份的附加設定是新增帳號時不增加對應的mailbox,就在此檔案中加入一條規則:CREATE_MAIL_SPOOL=no(預設的mailbox在/var/spool/mail)

gpasswd的用法(主要是用來設定群組密碼時使用)

用法:gpasswd [參數] (username) group

常用的參數說明如下:

-a:新增群組成員(例:gpasswd -a abc test --> 將abc加入test的群組中)
-d:移除群組成員(例:gpasswd -d 123 test --> 將123移出test的群組中)
-r:取消群組的密碼(一般在預設值中,不會特別加上密碼)
-R:禁止任何非群組成員利用newgroup做群組更換
  (例:gpasswd -R test ; 123$ newgroup test-->無法切換至test群組)

除了上述的常用參數與指令之外,其實也可以利用usermod來修改相關內容(用法:usermod [參數] username),其中的參數用法與useradd相同

例:usermod -s /sbin/nologin test(設定test的shell為/sbin/nologin)

然而,還有一些比較少用,或是特殊狀況下才應用得到的指令,例:pwconv、pwunconv、grpconv、grpunconv等(使用時機視狀況而定)

指令的意義如下:
pwconv/pwunconv:做passwd/shadow中的密碼欄互換
grpconv/grpunconv:做gpasswd/gshadow中的密碼欄互換

最後,筆者要提醒一下管理者/使用者在設定密碼時需注意的事項
1.密碼不該是身邊任何可見的字:很好猜...。
2.長度須足夠:Fedora有強制的長度限制為6個字元(root不在此限)。
3.組合不同類型的字元:英數+特殊符號(例:23^#xd@)。
4.不要用完整的英文字:可用字典檔破解法。
5.不要所有系統都用相同密碼:一破全開(這一點很難...唉)。
6.定期變更密碼:設定使用者密碼的到期日。
7.設定一個記得住的密碼:其實這一點會跟第5點矛盾。

其它的部份,還請各位Linux的愛好者補上吧!畢竟筆者一人能做的部份有限,如果有誤的部份,還請各位指正說明,謝謝!