2007年8月24日 星期五

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

我們都知道Linux是屬於可以單機多人多工的系統,也因為這點,經常被拿來做為Server使用,因為多人使用的關係,對於使用者管理就要更小心一些

而且,現在大多數的人都還是使用M$的系統,對於使用者的觀念有相當的差異,所以筆者才會在這篇說明(其實是之前上課的筆記心得,在此獻醜!),如有誤,還請指正

事先聲明:筆者使用的作業環境為Fedora6

首先,我們要先知道使用者/群組會存取的設定檔與資料庫

使用者資料庫:

/etc/passwd(內容如下,僅列兩組說明)

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

/etc/passwd格式說明:(以「:」做為分隔,共七項欄位)
root:x:0:0:root:/root:/bin/bash
 1 2 3 4 5   6   7

1.使用者名稱:(不可重覆)
2.密碼欄位:(加密於/etc/shadow),預設為x(空白:不用密碼;*:不可登入)
3.UserID(可重覆):從0開始,一般使用者從500開始,0~499留給系統使用
4.GroupID:位於群組資料庫的/etc/group中的GID
5.備註(Finger):也就是這個使用者的相關資料
6.使用者的家目錄:一般使用者預設在/home/"用戶名",root位於/root中
7.login shell:用戶登入時所使用的shell(可用chsh變更shell)
 (只讓使用者收發mail或不允許登入,將7欄位設 /bin/false或/sbin/nologin )

/etc/shadow(內容如下,僅列兩組說明)
root:$1$EIqku5bV$vYC9VA.NmFF47XXX2s.f448:13672:0:99999:7:::
bin:*:13672:0:99999:7:::

/etc/shadow格式說明:(以「:」做為分隔,共九項欄位)
root:$1$EIqku5bV$vYC9VA.NmFF47XXX2s.f448:13672:0:99999:7:::
 1         2          3  4  5 6 789
1.使用者名稱
2.密碼
3.密碼最後修改日(自1970/1/1至今的天數)
4.密碼最短可變更天數(預設為0)
5.密碼必須變更的天數(預設為99999-->不需變更)
6.密碼到期前幾天要通知(預設為7)
7.密碼失效期限(到期後,最多可用幾天)
8.帳戶失效日(自1970/1/1至今的天數)
9.空白(未來新增預留)

群組資料庫:

/etc/group(內容如下,僅列兩組說明)
root:::root
bin:::root,bin,daemon

/etc/group格式說明:(以「:」做為分隔,共四項欄位)
bin:::root,bin,daemon
1 23 4

1.群組名稱
2.群組密碼(/etc/gshadow):預設為x(空白:不用密碼;*:不可登入)
3.GroupID:又稱GID
4.屬於該群組的其它人:(預設是只有建立群組的人,可在此欄位加入其它人)

/etc/gshadow(內容如下,僅列兩組說明)
root:::root
bin:::root,bin,daemon

/etc/gshadow格式說明:(以「:」做為分隔,共四項欄位)
bin:::root,bin,daemon
1 2 3 4

1.群組名稱
2.群組密碼:預設為x(空白:不用密碼;!:不可登入)
3.群組管理者帳戶
4.屬於該群組的其它人:(預設是只有建立群組的人,可在此欄位加入其它人)

使用者的新增、刪除、修改分別用useradduserdelusermod,甚至透過vivim)修改設定檔都能達成;群組部份也雷同,只是把上述指令中的user改為group即可

除了這些基本的設定值外,還有很多相關設定與應用,筆者下次一併補上

最後,我還要說明一個重點,那就是useradd及userdel分別會完成那些事,瞭解整個流程後,對於新增和刪除使用者資料時,能夠具有更大的活用空間

useradd後,系統會做的事:
1.建立家目錄(/home),且權限為該使用者
2.將預設路徑(/etc/skel)下的檔案複製到使用者的家目錄資料夾內
3.將該使用者的資訊寫入/etc/passwd和/etc/shadow
4.建立與使用者名稱相同的群組,並寫入/etc/group和/etc/gshadow

userdel後,系統會做的事:
刪除使用者資料,但家目錄不會刪除,需刪除家目錄用 userdel -r username 即可