linux使用者管理常用命令

helloxchen發表於2010-11-05
[轉] linux使用者管理常用命令
linux使用者管理常用命令

1)管理使用者(user)的工具或命令;
useradd 注:新增使用者
adduser 注:新增使用者
passwd 注:為使用者設定密碼
usermod 注:修改使用者命令,可以透過usermod 來修改登入名、使用者的家目錄等等;
pwcov 注:同步使用者從/etc/passwd 到/etc/shadow
pwck 注:pwck是校驗使用者配置檔案/etc/passwd 和/etc/shadow 檔案內容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 建立/etc/passwd ,然後會刪除 /etc/shadow 檔案;
finger 注:檢視使用者資訊工具
id 注:檢視使用者的UID、GID及所歸屬的使用者組
chfn 注:更改使用者資訊工具
su 注:使用者切換工具
sudo 注:sudo 是透過另一個使用者來執行命令(execute a command as another user),su 是用來切換使用者,然後透過切換到的使用者來完成相應的任務,但sudo 能後面直接執行命令,比如sudo 不需要root 密碼就可以執行root 賦與的執行只有root才能執行相應的命令;但得透過visudo 來編輯/etc/sudoers來實現;
visudo 注:visodo 是編輯 /etc/sudoers 的命令;也可以不用這個命令,直接用vi 來編輯 /etc/sudoers 的效果是一樣的;
sudoedit 注:和sudo 功能差不多;

2)管理使用者組(group)的工具或命令;
groupadd 注:新增使用者組;
groupdel 注:刪除使用者組;
groupmod 注:修改使用者組資訊
groups 注:顯示使用者所屬的使用者組
grpck
grpconv 注:透過/etc/group和/etc/gshadow 的檔案內容來同步或建立/etc/gshadow ,如果/etc/gshadow 不存在則建立;
grpunconv 注:透過/etc/group 和/etc/gshadow 檔案內容來同步或建立/etc/group ,然後刪除gshadow檔案;
///////////
建立一個新使用者

建立一個新的使用者包括兩個步驟,第一步是使用useradd命令完成一個新使用者的初始化設定工作;第二步是用passwd為這個新使用者設定密碼。例如,我們要給系統新增一個使用者叫floatboat,密碼為fan2001z,那相關的操作是:
useradd floatboat
這時候系統沒有任何顯示。接著:
passwd floatboat
系統顯示:
Changing password for user floatboat
New UNIX password:
你輸入:
fan2001z
注意,由於linux並不採用類似windows的密碼回顯(顯示為*號)——為避免你輸入密碼時被人注意到有多少位——所以,輸入的這些字元你是看不見的。
系統顯示:
Retype new UNIX password:
你再重新輸入一次密碼,然後回車確認,這時系統會顯示:
passwd:all authentication tokens updated successfully
表示你修改密碼成功了。
到這裡,新使用者的建立工作就算完成了。下面,我們再補充一些有關增加新使用者的常識:
1、 useradd所做的初始化操作已經包括在/home目錄下為floatboat帳號建立一個名為floatboat的主目錄。如果你不想使用這個預設的 目錄,而希望把他的主目錄放在/home/goal裡(還放在/home下,只是一種良好的習慣,沒有其他什麼特別的要求),可以使用useradd的參 數-d,命令如下:
useradd -d /home/goal floatboat
2、useradd的初始化操作還包括為使用者單獨建立一個與使用者名稱同名的組(floatboat組)。這叫使用者私有組的機制,與預設組機制相對 應。對使用者分組一是方便管理,二是可以明確許可權。複雜的我們將在以後的深入內容中探討。我們如果想讓此使用者加入一個已有的組的話,可以使用-g引數。例如 我們想讓floatboat加入webusers組,那麼可以使用以下命令:
useradd -g webusers floatboat
同樣的,我們還可以使用-G引數使他同時加入多個組,例如webusers和ftpusers:
useradd -G ftpusers,webusers floatboat
3、 passwd命令為一個使用者設定密碼,但它實質上是一個修改密碼的程式。只有超級使用者和使用者自己可以修改密碼,其它的普通使用者沒有給他修改密碼的權利。用 戶密碼的組成要儘量的複雜,最好包括字母、數字和特殊符號,而且最好設成6位以上。太短passwd程式不允許,只是單純的字母或單純的數字, passwd也會有意見。你都會看見passwd出現的提示的,不要害怕,仔細看看到底它是怎麼說的:)
4、你在增加一個新使用者的時候,也可以設定使用者登入的shell。預設的,系統提供了/bin/bash。你如果非要指定的話,可以使用-s 引數就可以了。例如
useradd -d /www -s /usr/bin/passwd floatboat
注意,這些引數是可以一塊使用的,如上例所示,它表示增加新使用者,並把其主目錄路徑設定在/www,登入的shell為/usr/bin/passwd。關於shell的更詳細的說明,請參考下面的修改使用者的個人設定相關內容。
5、刪除一個使用者可以使用userdel命令,直接帶使用者名稱做引數就可以了。


修改使用者的設定

對現有使用者的修改,比較常用的主要是修改密碼(使用passwd就好了),修改使用者的登入shell,修改使用者所屬的預設組,設定帳號有效期,修改使用者的說明資訊等等,偶爾也會用到修改使用者主目錄。

修改使用者的登入shell
使用chsh命令可以修改自己的shell,只有超級使用者才能用chsh username為其它使用者修改shell設定。注意,指定的shell必須是列入/etc/shells檔案中的shell,否則該使用者將不能登陸。
一般,比較常見的shells檔案包括下面這些shell:
/bin/bash2
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
而網管們還喜歡在裡面加上/usr/bin/passwd,這是為了不然使用者透過控制檯或telnet登入系統,卻可以使用修改帳戶密碼(比如在FTP裡用)。以及/bin/false,也就是不讓這個使用者登入的意思嘍^&^,連FTP也不能用。
你也可以使用usermod命令修改shell資訊,如下所示:
usermod -s /bin/bash floatboat
其中/bin/bash和floatboat應取相應的shell路徑檔名及使用者名稱。
還有一種情況,就是你為使用者設定了一個空的shell(就是""),也就是說,這個使用者沒有shell。呵呵,絕對沒有在我還未曾見過,因為這種使用者登入後,系統還是會給它一個shell用的。不信你試試:
usermod -s "" floatboat
這種使用者根據系統的不同,會有一個sh或bash進行操作,我也沒有看出功能上和其它普通使用者登入有什麼不同。


修改使用者所屬的預設組
這個功能也可以透過usermod命令來實現,使用-g引數,例如把floatboat的預設組改為nobody,可以使用如下命令:
username -g nobody floatboat
nobody在類UNIX系統中一般都意味著沒有任何許可權。

設定帳號有效期
如果使用了影子口令,則可以使用如下命令來修改一個帳號的有效期:
usermod -e MM/DD/YY username
例如把使用者floatboat的有效期定為2001年12月31日:
usermod -e 12/31/01 floatboat
如果把該使用者的有效期設為已經過去的時間,就可以暫時禁止該使用者登入系統。

修改使用者的說明資訊
修改使用者的說明資訊,最簡單的方法莫過於直接修改/etc/passwd檔案,找到對應的使用者記錄行,例如下列行:
floatboat:x:503:503::/home/floatboat:/bin/bash
你可以直接在第四個冒號和第五個冒號之間插入該使用者的說明就可以了。其實,很多使用者設定都可以在這修改,比如該行最後一部分/bin/bash就是使用者登入shell的設定。關於這個/etc/passwd檔案,我們後面將進一步的深入探討。


修改使用者主目錄
修改使用者的主目錄主要使用usermod命令的-d引數,例如:
usermod -d /www floatboat
這一行將floatboat的主目錄改到/www。如果想將現有主目錄的主要內容轉移到新的目錄,應該使用-m開關,如下所示:
usermod -d -m /www floatboat
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24790158/viewspace-1040971/,如需轉載,請註明出處,否則將追究法律責任。

相關文章