Linux操作系統(tǒng)下關(guān)于用戶和組的配置管理指南
更新時(shí)間:2008年01月09日 13:11:20 作者:
Linux操作系統(tǒng)下關(guān)于用戶和組的配置管理指南
用戶管理,主要的工作就是建立一個(gè)合法的用戶帳戶、設(shè)置和管理用戶的密碼、修改用戶帳戶的屬性以及在必要時(shí)刪除已經(jīng)廢棄的用戶帳號。
1. 增加一個(gè)新用戶
在Linux系統(tǒng)中,只有root用戶才能夠創(chuàng)建一個(gè)新用戶,如下的命令將新建一個(gè)登錄名user1的用戶。
# useradd user1
但是,這個(gè)用戶還不能夠登錄,因?yàn)檫€沒給它設(shè)置初始密碼,而沒有密碼的用戶是不能夠登錄系統(tǒng)的。在默認(rèn)情況下,將會在/home目錄下新建一個(gè)與用戶名相同的用戶主目錄。如果需要另外指定用戶主目錄的話,那么可以使用如下命令:
# useradd -d /home/xf user1
同時(shí),該用戶登錄時(shí)將獲得一個(gè)Shell程序:/bin/bash,而假如你不想讓這個(gè)用戶登錄,也就可以指定該用戶的Shell程序?yàn)椋?bin/false,這樣該用戶即使登錄,也不能夠執(zhí)行Linux下的命令:
# useradd -s /bin/false user1
在Linux中,新增一個(gè)用戶的同時(shí)會創(chuàng)建一個(gè)新組,這個(gè)組與該用戶同名,而這個(gè)用戶就是該組的成員。如果你想讓新的用戶歸屬于一個(gè)已經(jīng)存在的組,則可以使用如下命令:
# useradd -g user user1
這樣該用戶就屬于user組的一員了。而如果只是想讓其再屬于一個(gè)組,那么應(yīng)該使用:
# useradd -G user user1
完成了這一操作后,你還應(yīng)該使用passwd命令為其設(shè)置一個(gè)初始密碼。
2. 刪除一個(gè)用戶
刪除用戶,只需使用一個(gè)簡單的命令“userdel 用戶名”即可。不過最好將它留在系統(tǒng)上的文件也刪除掉,你可以使用“userdel -r 用戶名”來實(shí)現(xiàn)這一目的。
3. 修改用戶屬性
在前面我們看到了在新建一個(gè)用戶的時(shí)候如何指定它的用戶主目錄,如何指定它的Shell,如何設(shè)置它所屬的組…等等。在Linux中提供了一個(gè)命令來實(shí)現(xiàn):
usermod -g組名 -G 組名 -d 用戶主目錄 -s 用戶Shell
還有一種直接的方法,那就是修改/etc/passwd文件,在這個(gè)文件中每個(gè)用戶占用一行,它的內(nèi)容為:
用戶名:密碼:用戶ID:組ID:用戶全名:用戶主目錄:用戶Shell
不過值得注意的是,密碼這一項(xiàng)通常是用一個(gè)*號代替的,你是看不到的。
4. 增加一個(gè)組
還記得Linux的文件可以為同組的人、非同組的人設(shè)置不同的訪問權(quán)限嗎?我們可以根據(jù)自己的需要創(chuàng)建用戶組:
groupadd 組名
5. 刪除一個(gè)組
同樣的,我們有時(shí)會需要刪除一個(gè)組,它的命令就是groupdel 組名。
6. 修改組成員
如果我們需要將一個(gè)用戶加入一個(gè)組,只需編輯/etc/group文件,將用戶名寫到組名的后面。例如將newuser用戶加入到softdevelop組,只需找到softdevelop這一行:
softdevelop:x:506:user1,user2
然后在后面加上newuser,形成:
softdevelop:x:506:user1,user2,newuser
另外,在Red Hat Linux中還提供一個(gè)圖形化的用戶管理工具:userconf,通過它可以更直接地進(jìn)行用戶管理。
兩個(gè)重要文件:passwd與group
在linux的安全機(jī)制里,/etc/passwd與/etc/group這兩個(gè)文件占著非常重要的地位。它們控制著linux的用戶和組一些重要設(shè)置。
◆/etc/passwd文件說明 (用于設(shè)置用戶的屬性)
可用 vi /etc/passwd 查看
在passwd的文件里,每一行被冒號(":")分成7個(gè)部分,分別是:
[用戶名]:[密碼]:[UID]:[GID]:[身份描述]:[主目錄]:[登錄shell]
其中:
[UID]雖然是系統(tǒng)用來標(biāo)志文件歸屬,確定各種權(quán)限的標(biāo)志,但這個(gè)區(qū)域的內(nèi)容并不要求唯一的。比較常見而又與安全問題相關(guān)的一個(gè)例子是有多個(gè)UID和GID均為0的用戶帳號。注意到在該文件最后一行還有一個(gè)UID和GID為0的用戶imnotroot,雖然它聲稱自己不是root,但是它卻有和root完全相同的權(quán)限,因?yàn)橄到y(tǒng)并非根據(jù)[用戶名],而是根據(jù)UID和GID來分用戶的權(quán)力的。所以,這種情況無疑為系統(tǒng)埋下了安全的炸彈。但是,當(dāng)imnorroot做鎖定屏幕等操作的時(shí)候,如果它的密碼和root的不一樣,它將無法解鎖,因?yàn)橄到y(tǒng)只是查到第一個(gè)UID為0的用戶(自然是root)后,就不在往下查找了——它當(dāng)UID也是唯一的。
[GID]用戶默認(rèn)的組ID,這個(gè)ID可以在文件 /etc/group里查到對應(yīng)的組名。
<注意>:[UID]和[GID]小于500的一般都是系統(tǒng)自己保留,不做普通用戶和組的標(biāo)識的,所以新增加的用戶和組一般都是UID和GID大于500的。
◆/etc/group文件說明
vi /etc/group 查看其內(nèi)容
它總共分四個(gè)部分:
[組名]:[密碼域]:[GID]:[組員例表]
1. 增加一個(gè)新用戶
在Linux系統(tǒng)中,只有root用戶才能夠創(chuàng)建一個(gè)新用戶,如下的命令將新建一個(gè)登錄名user1的用戶。
# useradd user1
但是,這個(gè)用戶還不能夠登錄,因?yàn)檫€沒給它設(shè)置初始密碼,而沒有密碼的用戶是不能夠登錄系統(tǒng)的。在默認(rèn)情況下,將會在/home目錄下新建一個(gè)與用戶名相同的用戶主目錄。如果需要另外指定用戶主目錄的話,那么可以使用如下命令:
# useradd -d /home/xf user1
同時(shí),該用戶登錄時(shí)將獲得一個(gè)Shell程序:/bin/bash,而假如你不想讓這個(gè)用戶登錄,也就可以指定該用戶的Shell程序?yàn)椋?bin/false,這樣該用戶即使登錄,也不能夠執(zhí)行Linux下的命令:
# useradd -s /bin/false user1
在Linux中,新增一個(gè)用戶的同時(shí)會創(chuàng)建一個(gè)新組,這個(gè)組與該用戶同名,而這個(gè)用戶就是該組的成員。如果你想讓新的用戶歸屬于一個(gè)已經(jīng)存在的組,則可以使用如下命令:
# useradd -g user user1
這樣該用戶就屬于user組的一員了。而如果只是想讓其再屬于一個(gè)組,那么應(yīng)該使用:
# useradd -G user user1
完成了這一操作后,你還應(yīng)該使用passwd命令為其設(shè)置一個(gè)初始密碼。
2. 刪除一個(gè)用戶
刪除用戶,只需使用一個(gè)簡單的命令“userdel 用戶名”即可。不過最好將它留在系統(tǒng)上的文件也刪除掉,你可以使用“userdel -r 用戶名”來實(shí)現(xiàn)這一目的。
3. 修改用戶屬性
在前面我們看到了在新建一個(gè)用戶的時(shí)候如何指定它的用戶主目錄,如何指定它的Shell,如何設(shè)置它所屬的組…等等。在Linux中提供了一個(gè)命令來實(shí)現(xiàn):
usermod -g組名 -G 組名 -d 用戶主目錄 -s 用戶Shell
還有一種直接的方法,那就是修改/etc/passwd文件,在這個(gè)文件中每個(gè)用戶占用一行,它的內(nèi)容為:
用戶名:密碼:用戶ID:組ID:用戶全名:用戶主目錄:用戶Shell
不過值得注意的是,密碼這一項(xiàng)通常是用一個(gè)*號代替的,你是看不到的。
4. 增加一個(gè)組
還記得Linux的文件可以為同組的人、非同組的人設(shè)置不同的訪問權(quán)限嗎?我們可以根據(jù)自己的需要創(chuàng)建用戶組:
groupadd 組名
5. 刪除一個(gè)組
同樣的,我們有時(shí)會需要刪除一個(gè)組,它的命令就是groupdel 組名。
6. 修改組成員
如果我們需要將一個(gè)用戶加入一個(gè)組,只需編輯/etc/group文件,將用戶名寫到組名的后面。例如將newuser用戶加入到softdevelop組,只需找到softdevelop這一行:
softdevelop:x:506:user1,user2
然后在后面加上newuser,形成:
softdevelop:x:506:user1,user2,newuser
另外,在Red Hat Linux中還提供一個(gè)圖形化的用戶管理工具:userconf,通過它可以更直接地進(jìn)行用戶管理。
兩個(gè)重要文件:passwd與group
在linux的安全機(jī)制里,/etc/passwd與/etc/group這兩個(gè)文件占著非常重要的地位。它們控制著linux的用戶和組一些重要設(shè)置。
◆/etc/passwd文件說明 (用于設(shè)置用戶的屬性)
可用 vi /etc/passwd 查看
在passwd的文件里,每一行被冒號(":")分成7個(gè)部分,分別是:
[用戶名]:[密碼]:[UID]:[GID]:[身份描述]:[主目錄]:[登錄shell]
其中:
[UID]雖然是系統(tǒng)用來標(biāo)志文件歸屬,確定各種權(quán)限的標(biāo)志,但這個(gè)區(qū)域的內(nèi)容并不要求唯一的。比較常見而又與安全問題相關(guān)的一個(gè)例子是有多個(gè)UID和GID均為0的用戶帳號。注意到在該文件最后一行還有一個(gè)UID和GID為0的用戶imnotroot,雖然它聲稱自己不是root,但是它卻有和root完全相同的權(quán)限,因?yàn)橄到y(tǒng)并非根據(jù)[用戶名],而是根據(jù)UID和GID來分用戶的權(quán)力的。所以,這種情況無疑為系統(tǒng)埋下了安全的炸彈。但是,當(dāng)imnorroot做鎖定屏幕等操作的時(shí)候,如果它的密碼和root的不一樣,它將無法解鎖,因?yàn)橄到y(tǒng)只是查到第一個(gè)UID為0的用戶(自然是root)后,就不在往下查找了——它當(dāng)UID也是唯一的。
[GID]用戶默認(rèn)的組ID,這個(gè)ID可以在文件 /etc/group里查到對應(yīng)的組名。
<注意>:[UID]和[GID]小于500的一般都是系統(tǒng)自己保留,不做普通用戶和組的標(biāo)識的,所以新增加的用戶和組一般都是UID和GID大于500的。
◆/etc/group文件說明
vi /etc/group 查看其內(nèi)容
它總共分四個(gè)部分:
[組名]:[密碼域]:[GID]:[組員例表]
您可能感興趣的文章:
- linux用戶和組管理常見命令總結(jié)
- Linux 創(chuàng)建修改刪除用戶和組的方法
- Linux 無法使用userdel 刪除用戶和組的解決方案
- linux 用戶和組命令整理及詳細(xì)介紹
- linux 查找過濾及用戶和組管理命令的一些實(shí)例
- Linux修改用戶所屬組的方法
- Linux 中有效用戶組和初始用戶組的實(shí)現(xiàn)
- linux用戶組以及權(quán)限總結(jié)
- Linux中把用戶添加到組的4個(gè)方法總結(jié)
- 詳解Linux添加/刪除用戶和用戶組
- linux查看所有用戶和查看用戶組的方法(修改用戶組)
- linux用戶和組命令實(shí)例分析【切換、添加用戶、權(quán)限控制等】
相關(guān)文章
Linux 2.4中netfilter框架實(shí)現(xiàn)
Linux 2.4中netfilter框架實(shí)現(xiàn)...2006-10-10