本文總結了Linux添加或者刪除用戶和用戶組時經常使用的一些命令和參數。
一、建用戶:
adduser phpq //新建phpq用戶
passwd phpq //給phpq用戶設置密碼php
二、建工做組
groupadd test //新建test工做組linux
三、新建用戶同時增長工做組
useradd -g test phpq //新建phpq用戶並增長到test工做組web
注::-g 所屬組 -d 家目錄 -s 所用的SHELL安全
四、給已有的用戶增長工做組
usermod -G groupname usernamebash
或者:gpasswd -a user group服務器
五、臨時關閉:在/etc/shadow文件中屬於該用戶的行的第二個字段(密碼)前面加上*就能夠了。想恢復該用戶,去掉*便可。ide
或者使用以下命令關閉用戶帳號:
passwd peter –l工具
從新釋放:
passwd peter –uui
六、永久性刪除用戶帳號
userdel peterthis
groupdel peter
usermod –G peter peter (強制刪除該用戶的主目錄和主目錄下的全部文件和子目錄)
七、從組中刪除用戶
編輯/etc/group 找到GROUP1那一行,刪除 A
或者用命令
gpasswd -d A GROUP
八、顯示用戶信息
id user
cat /etc/passwd
更詳細的用戶和用戶組的解說請參考
Linux 用戶和用戶組詳細解說
本文主要講述在Linux 系統中用戶(user)和用戶組(group)管理相應的概念;用戶(user)和用戶組(group)相關命令的列舉;其中也對單用戶多任務,多用戶多任務也作以解說。
Linux 用戶(user)和用戶組(group)管理概述
、理解Linux的單用戶多任務,多用戶多任務概念;
Linux 是一個多用戶、多任務的操做系統;咱們應該瞭解單用戶多任務和多用戶多任務的概念;
一、Linux 的單用戶多任務;
單用戶多任務;好比咱們以beinan 登陸系統,進入系統後,我要打開gedit 來寫文檔,但在寫文檔的過程當中,我感受少點音樂,因此又打開xmms 來點音樂;固然聽點音樂還不行,MSN 還得打開,想知道幾個弟兄如今正在作什麼,這樣同樣,我在用beinan 用戶登陸時,執行了gedit 、xmms以及msn等,固然還有輸入法fcitx ;這樣說來就有點簡單了,一個beinan用戶,爲了完成工做,執行了幾個任務;固然beinan這個用戶,其它的人還能以遠程登陸過來,也能作其它的工做。
二、Linux 的多用戶、多任務;
有時多是不少用戶同時用同一個系統,但並不全部的用戶都必定都要作同一件事,因此這就有多用戶多任務之說;
舉個例子,好比LinuxSir.Org 服務器,上面有FTP 用戶、系統管理員、web 用戶、常規普通用戶等,在同一時刻,可能有的弟兄正在訪問論壇;有的可能在上傳軟件包管理子站,好比luma 或Yuking 兄在管理他們的主頁系統和FTP ;在與此同時,可能還會有系統管理員在維護系統;瀏覽主頁的用的是nobody 用戶,你們都用同一個,而上傳軟件包用的是FTP用戶;管理員的對系統的維護或查看,可能用的是普通賬號或超級權限root賬號;不一樣用戶所具備的權限也不一樣,要完成不一樣的任務得須要不一樣的用戶,也能夠說不一樣的用戶,可能完成的工做也不同;
值得注意的是:多用戶多任務並非你們同時擠到一接在一臺機器的的鍵盤和顯示器前來操做機器,多用戶可能經過遠程登陸來進行,好比對服務器的遠程控制,只要有用戶權限任何人都是能夠上去操做或訪問的;
三、用戶的角色區分;
用戶在系統中是分角色的,在Linux 系統中,因爲角色不一樣,權限和所完成的任務也不一樣;值得注意的是用戶的角色是經過UID和識別的,特別是UID;在系統管理中,系統管理員必定要堅守UID 惟一的特性;
root 用戶:系統惟一,是真實的,能夠登陸系統,能夠操做系統任何文件和命令,擁有最高權限;
虛擬用戶:這類用戶也被稱之爲僞用戶或假用戶,與真實用戶區分開來,這類用戶不具備登陸系統的能力,但倒是系統運行不可缺乏的用戶,好比bin、daemon、adm、ftp、mail等;這類用戶都系統自身擁有的,而非後來添加的,固然咱們也能夠添加虛擬用戶;
普通真實用戶:這類用戶能登陸系統,但只能操做本身家目錄的內容;權限有限;這類用戶都是系統管理員自行添加的;
四、多用戶操做系統的安全;
多用戶系統從事實來講對系統管理更爲方便。從安全角度來講,多用戶管理的系統更爲安全,好比beinan用戶下的某個文件不想讓其它用戶看到,只是設置一下文件的權限,只有beinan一個用戶可讀可寫可編輯就好了,這樣一來只有beinan一個用戶能夠對其私有文件進行操做,Linux 在多用戶下表現最佳,Linux能很好的保護每一個用戶的安全,但咱們也得學會Linux 纔是,再安全的系統,若是沒有安全意識的管理員或管理技術,這樣的系統也不是安全的。
從服務器角度來講,多用戶的下的系統安全性也是最爲重要的,咱們經常使用的Windows 操做系統,它在系紡權限管理的能力只能說是通常般,根本沒有沒有辦法和Linux或Unix 類系統相比;
2、用戶(user)和用戶組(group)概念;
一、用戶(user)的概念;
經過前面對Linux 多用戶的理解,咱們明白Linux 是真正意義上的多用戶操做系統,因此咱們能在Linux系統中建若干用戶(user)。好比咱們的同事想用個人計算機,但我不想讓他用個人用戶名登陸,由於個人用戶名下有不想讓別人看到的資料和信息(也就是隱私內容)這時我就能夠給他建一個新的用戶名,讓他用我所開的用戶名去折騰,這從計算機安全角度來講是符合操做規則的;
固然用戶(user)的概念理解還不只僅於此,在Linux系統中還有一些用戶是用來完成特定任務的,好比nobody和ftp 等,咱們訪問LinuxSir.Org 的網頁程序,就是nobody用戶;咱們匿名訪問ftp 時,會用到用戶ftp或nobody ;若是您想了解Linux系統的一些賬號,請查看 /etc/passwd ;
二、用戶組(group)的概念;
用戶組(group)就是具備相同特徵的用戶(user)的集合體;好比有時咱們要讓多個用戶具備相同的權限,好比查看、修改某一文件或執行某個命令,這時咱們須要用戶組,咱們把用戶都定義到同一用戶組,咱們經過修改文件或目錄的權限,讓用戶組具備必定的操做權限,這樣用戶組下的用戶對該文件或目錄都具備相同的權限,這是咱們經過定義組和修改文件的權限來實現的;
舉例:咱們爲了讓一些用戶有權限查看某一文檔,好比是一個時間表,而編寫時間表的人要具備讀寫執行的權限,咱們想讓一些用戶知道這個時間表的內容,而不讓他們修改,因此咱們能夠把這些用戶都劃到一個組,而後來修改這個文件的權限,讓用戶組可讀,這樣用戶組下面的每一個用戶都是可讀的;
用戶和用戶組的對應關係是:一對1、多對1、一對多或多對多;
一對一:某個用戶能夠是某個組的惟一成員;
多對一:多個用戶能夠是某個惟一的組的成員,不歸屬其它用戶組;好比beinan和linuxsir兩個用戶只歸屬於beinan用戶組;
一對多:某個用戶能夠是多個用戶組的成員;好比beinan能夠是root組成員,也能夠是linuxsir用戶組成員,還能夠是adm用戶組成員;
多對多:多個用戶對應多個用戶組,而且幾個用戶能夠是歸屬相同的組;其實多對多的關係是前面三條的擴展;理解了上面的三條,這條也能理解;
3、用戶(user)和用戶組(group)相關的配置文件、命令或目錄;
一、與用戶(user)和用戶組(group)相關的配置文件;
1)與用戶(user)相關的配置文件;
/etc/passwd 注:用戶(user)的配置文件;
/etc/shadow 注:用戶(user)影子口令文件;
2)與用戶組(group)相關的配置文件;
/etc/group 注:用戶組(group)配置文件;
/etc/gshadow 注:用戶組(group)的影子文件;
二、管理用戶(user)和用戶組(group)的相關工具或命令;
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文件;
三、/etc/skel 目錄;
/etc/skel目錄通常是存放用戶啓動文件的目錄,這個目錄是由root權限控制,當咱們添加用戶時,這個目錄下的文件自動複製到新添加的用戶的家目錄下;/etc/skel 目錄下的文件都是隱藏文件,也就是相似.file格式的;咱們可經過修改、添加、刪除/etc/skel目錄下的文件,來爲用戶提供一個統1、標準的、默認的用戶環境;
[root@localhost beinan]# ls -la /etc/skel/
總用量 92
drwxr-xr-x 3 root root 4096 8月 11 23:32 .
drwxr-xr-x 115 root root 12288 10月 14 13:44 ..
-rw-r--r-- 1 root root 24 5月 11 00:15 .bash_logout
-rw-r--r-- 1 root root 191 5月 11 00:15 .bash_profile
-rw-r--r-- 1 root root 124 5月 11 00:15 .bashrc
-rw-r--r-- 1 root root 5619 2005-03-08 .canna
-rw-r--r-- 1 root root 438 5月 18 15:23 .emacs
-rw-r--r-- 1 root root 120 5月 23 05:18 .gtkrc
drwxr-xr-x 3 root root 4096 8月 11 23:16 .kde
-rw-r--r-- 1 root root 658 2005-01-17 .zshrc
/etc/skel 目錄下的文件,通常是咱們用useradd 和adduser 命令添加用戶(user)時,系統自動複製到新添加用戶(user)的家目錄下;若是咱們經過修改 /etc/passwd 來添加用戶時,咱們能夠本身建立用戶的家目錄,而後把/etc/skel 下的文件複製到用戶的家目錄下,而後要用chown 來改變新用戶家目錄的屬主;
四、/etc/login.defs 配置文件;
/etc/login.defs 文件是當建立用戶時的一些規劃,好比建立用戶時,是否須要家目錄,UID和GID的範圍;用戶的期限等等,這個文件是能夠經過root來定義的;
好比Fedora 的 /etc/logins.defs 文件內容;
# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail 注:建立用戶時,要在目錄/var/spool/mail中建立一個用戶mail文件;
#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999 注:用戶的密碼不過時最多的天數;
PASS_MIN_DAYS 0 注:密碼修改之間最小的天數;
PASS_MIN_LEN 5 注:密碼最小長度;
PASS_WARN_AGE 7 注:
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500 注:最小UID爲500 ,也就是說添加用戶時,UID 是從500開始的;
UID_MAX 60000 注:最大UID爲60000;
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 500 注:GID 是從500開始;
GID_MAX 60000
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is ORed with the -m flag on
# useradd command line.
#
CREATE_HOME yes 注:是否創用戶家目錄,要求建立;
五、/etc/default/useradd 文件;
經過useradd 添加用戶時的規則文件;
# useradd defaults file
GROUP=100
HOME=/home 注:把用戶的家目錄建在/home中;
INACTIVE=-1 注:是否啓用賬號過時停權,-1表示不啓用;
EXPIRE= 注:賬號終止日期,不設置表示不啓用;
SHELL=/bin/bash 注:所用SHELL的類型;
SKEL=/etc/skel 注: 默認添加用戶的目錄默認文件存放位置;也就是說,當咱們用adduser添加用戶時,用戶家目錄下的文件,都是從這個目錄中複製過去的;
後記:
關於用戶(user)和用戶組(group)管理內容大約就是這麼多;只要把上面所說的內容瞭解和掌握,用戶(user)和用戶組(group)管理就差很少了;因爲用戶(user)和用戶組(group)是和文件及目錄權限聯繫在一塊兒的,因此文件及目錄權限的操做也會獨立成文來給你們介紹;