linux用戶管理

linux用戶管理

添加新用戶

用來向Linux系統添加新用戶的主要工具是 useradd 。這個命令簡單快捷,可以一次性創建新用戶賬戶及設置用戶HOME目錄結構。 useradd 命令使用系統的默認值以及命令行參數來設置用戶賬戶。系統默認值被設置在/etc/default/useradd文件中。可以使用加入了 -D 選項的 useradd命令查看所用Linux系統中的這些默認值。

[root@localhost ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
說明 一些Linux發行版會把Linux用戶和組工具放在/usr/sbin目錄下,這個目錄可能不在 PATH 環境變量裏。如果你的Linux系統是這樣的話,可以將這個目錄添加進 PATH 環境變量,或者用絕對文件路徑名來使用這些工具。

在創建新用戶時,如果你不在命令行中指定具體的值, useradd 命令就會使用 -D 選項所顯示的那些默認值。這個例子列出的默認值如下:

  • 新用戶會被添加到GID爲 100 的公共組;

  • 新用戶的HOME目錄將會位於/home/loginname;

  • 新用戶賬戶密碼在過期後不會被禁用;

  • 新用戶賬戶未被設置過期日期;

  • 新用戶賬戶將bash shell作爲默認shell;

  • 系統會將/etc/skel目錄下的內容複製到用戶的HOME目錄下;

  • 系統爲該用戶賬戶在mail目錄下創建一個用於接收郵件的文件。

倒數第二個值很有意思。 useradd 命令允許管理員創建一份默認的HOME目錄配置,然後把它作爲創建新用戶HOME目錄的模板。這樣就能自動在每個新用戶的HOME目錄裏放置默認的系統文件。

使用默認系統參數創建一個新用戶賬戶,然後檢查所創建的用戶HOME目錄。

[root@localhost ~]# useradd -m root1
[root@localhost ~]# ls -al /home/root1/
總用量 20
drwx------. 2 root1 root1 4096 1月  12 23:01 .
drwxr-xr-x. 3 root  root  4096 1月  12 23:01 ..
-rw-r--r--. 1 root1 root1   18 10月 31 2018 .bash_logout
-rw-r--r--. 1 root1 root1  193 10月 31 2018 .bash_profile
-rw-r--r--. 1 root1 root1  231 10月 31 2018 .bashrc

默認情況下, useradd 命令不會創建HOME目錄,但是 -m 命令行選項會使其創建HOME目錄。你能在此例中看到, useradd 命令創建了新HOME目錄,並將/etc/skel目錄中的文件複製了過來。記得及時使用man useradd 或者 info useradd命令查看操作。

刪除用戶

如果你想從系統中刪除用戶, userdel 可以滿足這個需求。默認情況下, userdel 命令會只刪除/etc/passwd文件中的用戶信息,而不會刪除系統中屬於該賬戶的任何文件。

如果加上 -r 參數, userdel 會刪除用戶的HOME目錄以及郵件目錄。然而,系統上仍可能存有已刪除用戶的其他文件。這在有些環境中會造成問題。

[root@localhost ~]# userdel -r root1(用戶名稱)

警告 在有大量用戶的環境中使用 -r 參數時要特別小心。你永遠不知道用戶是否在其HOME目錄下存放了其他用戶或其他程序要使用的重要文件。記住,在刪除用戶的HOME目錄之前一定要檢查清楚!

修改用戶

Linux提供了一些不同的工具來修改已有用戶賬戶的信息。

命令 描述
usermod 修改用戶賬戶的字段,還可以指定主要組以及附加組的所屬關係
passwd 修改已有用戶的密碼
chpasswd 從文件中讀取登錄名密碼對,並更新密碼
chage 修改密碼的過期日期
chfn 修改用戶賬戶的備註信息
chsh 修改用戶賬戶的默認登錄shell
usermod

usermod 命令是用戶賬戶修改工具中最強大的一個。它能用來修改/etc/passwd文件中的大部分字段,只需用與想修改的字段對應的命令行參數就可以了。參數大部分跟 useradd 命令的參數一樣(比如, -c 修改備註字段, -e 修改過期日期, -g 修改默認的登錄組)。除此之外,還有另外一些可能派上用場的選項。

  • -l 修改用戶賬戶的登錄名。

  • -L 鎖定賬戶,使用戶無法登錄。

  • -p 修改賬戶的密碼。

  • -U 解除鎖定,使用戶能夠登錄。

-L 選項尤其實用。它可以將賬戶鎖定,使用戶無法登錄,同時無需刪除賬戶和用戶的數據。

要讓賬戶恢復正常,只要用 -U 選項就行了。

passwd 和 chpasswd

改變用戶密碼的一個簡便方法就是用 passwd 命令。

如果只用 passwd 命令,它會改你自己的密碼。系統上的任何用戶都能改自己的密碼,但只有root用戶纔有權限改別人的密碼。

-e 選項能強制用戶下次登錄時修改密碼。你可以先給用戶設置一個簡單的密碼,之後再強制在下次登錄時改成他們能記住的更復雜的密碼。

如果需要爲系統中的大量用戶修改密碼, chpasswd 命令可以事半功倍。 chpasswd 命令能從標準輸入自動讀取登錄名和密碼對(由冒號分割)列表,給密碼加密,然後爲用戶賬戶設置。你也可以用重定向命令來將含有 userid:passwd 對的文件重定向給該命令。

chsh 、 chfn 和 chage

chsh 、 chfn 和 chage 工具專門用來修改特定的賬戶信息。 chsh 命令用來快速修改默認的用戶登錄shell。使用時必須用shell的全路徑名作爲參數,不能只用shell名。

chfn 命令提供了在/etc/passwd文件的備註字段中存儲信息的標準方法。 chfn 命令會將用於Unix的 finger 命令的信息存進備註字段,而不是簡單地存入一些隨機文本(比如名字或暱稱之類的),或是將備註字段留空。 finger 命令可以非常方便地查看Linux系統上的用戶信息。

[root@localhost ~]# finger rich
Login: rich Name: Rich Blum
Directory: /home/rich Shell: /bin/bash
On since Thu Sep 20 18:03 (EDT) on pts/0 from 192.168.1.2
No mail.
No Plan.
說明 出於安全性考慮,很多Linux系統管理員會在系統上禁用 finger 命令,不少Linux發行版甚至都沒有默認安裝該命令。
發佈了237 篇原創文章 · 獲贊 198 · 訪問量 40萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章