1、建用戶:
adduser phpq //新建phpq用戶
passwd phpq //給phpq用戶設(shè)置密碼
2、建工作組
groupadd test //新建test工作組
3、新建用戶同時(shí)增加工作組
useradd -g test phpq //新建phpq用戶并增加到test工作組
注::-g 所屬組 -d 家目錄 -s 所用的SHELL
4、給已有的用戶增加工作組
usermod -G groupname username
或者:
gpasswd -a user group
5、臨時(shí)關(guān)閉:在/etc/shadow文件中屬于該用戶的行的第二個(gè)字段(密碼)前面加上*就可以了。想恢復(fù)該用戶,去掉*即可。
或者使用如下命令關(guān)閉用戶賬號:
passwd peter –l
重新釋放:
passwd peter –u
6、永久性刪除用戶賬號
userdel peter
groupdel peter
usermod –G peter peter (強(qiáng)制刪除該用戶的主目錄和主目錄下的所有文件和子目錄)
7、從組中刪除用戶
編輯/etc/group 找到GROUP1那一行,刪除 A
或者用命令
gpasswd -d A GROUP
8、顯示用戶信息
id user
cat /etc/passwd
Linux 用戶(user)和用戶組(group)管理概述
理解Linux的單用戶多任務(wù),多用戶多任務(wù)概念;
Linux 是一個(gè)多用戶、多任務(wù)的操作系統(tǒng);我們應(yīng)該了解單用戶多任務(wù)和多用戶多任務(wù)的概念;
1、Linux 的單用戶多任務(wù);
單用戶多任務(wù);比如我們以beinan 登錄系統(tǒng),進(jìn)入系統(tǒng)后,我要打開gedit 來寫文檔,但在寫文檔的過程中,我感覺少點(diǎn)音樂,所以又打開xmms 來點(diǎn)音樂;當(dāng)然聽點(diǎn)音樂還不行,MSN 還得打開,想知道幾個(gè)弟兄現(xiàn)在正在做什么,這樣一樣,我在用beinan 用戶登錄時(shí),執(zhí)行了gedit 、xmms以及msn等,當(dāng)然還有輸入法fcitx ;這樣說來就有點(diǎn)簡單了,一個(gè)beinan用戶,為了完成工作,執(zhí)行了幾個(gè)任務(wù);當(dāng)然beinan這個(gè)用戶,其它的人還能以遠(yuǎn)程登錄過來,也能做其它的工作。
2、Linux 的多用戶、多任務(wù);
有時(shí)可能是很多用戶同時(shí)用同一個(gè)系統(tǒng),但并不所有的用戶都一定都要做同一件事,所以這就有多用戶多任務(wù)之說;
舉個(gè)例子,比如LinuxSir.Org 服務(wù)器,上面有FTP 用戶、系統(tǒng)管理員、web 用戶、常規(guī)普通用戶等,在同一時(shí)刻,可能有的弟兄正在訪問論壇;有的可能在上傳軟件包管理子站,比如luma 或Yuking 兄在管理他們的主頁系統(tǒng)和FTP ;在與此同時(shí),可能還會(huì)有系統(tǒng)管理員在維護(hù)系統(tǒng);瀏覽主頁的用的是nobody 用戶,大家都用同一個(gè),而上傳軟件包用的是FTP用戶;管理員的對系統(tǒng)的維護(hù)或查看,可能用的是普通帳號或超級權(quán)限r(nóng)oot帳號;不同用戶所具有的權(quán)限也不同,要完成不同的任務(wù)得需要不同的用戶,也可以說不同的用戶,可能完成的工作也不一樣;
值得注意的是:多用戶多任務(wù)并不是大家同時(shí)擠到一接在一臺機(jī)器的的鍵盤和顯示器前來操作機(jī)器,多用戶可能通過遠(yuǎn)程登錄來進(jìn)行,比如對服務(wù)器的遠(yuǎn)程控制,只要有用戶權(quán)限任何人都是可以上去操作或訪問的;
3、用戶的角色區(qū)分;
用戶在系統(tǒng)中是分角色的,在Linux 系統(tǒng)中,由于角色不同,權(quán)限和所完成的任務(wù)也不同;值得注意的是用戶的角色是通過UID和識別的,特別是UID;在系統(tǒng)管理中,系統(tǒng)管理員一定要堅(jiān)守UID 唯一的特性;
root 用戶:系統(tǒng)唯一,是真實(shí)的,可以登錄系統(tǒng),可以操作系統(tǒng)任何文件和命令,擁有最高權(quán)限;
虛擬用戶:這類用戶也被稱之為偽用戶或假用戶,與真實(shí)用戶區(qū)分開來,這類用戶不具有登錄系統(tǒng)的能力,但卻是系統(tǒng)運(yùn)行不可缺少的用戶,比如bin、daemon、adm、ftp、mail等;這類用戶都系統(tǒng)自身擁有的,而非后來添加的,當(dāng)然我們也可以添加虛擬用戶;
普通真實(shí)用戶:這類用戶能登錄系統(tǒng),但只能操作自己家目錄的內(nèi)容;權(quán)限有限;這類用戶都是系統(tǒng)管理員自行添加的;
4、多用戶操作系統(tǒng)的安全;
多用戶系統(tǒng)從事實(shí)來說對系統(tǒng)管理更為方便。從安全角度來說,多用戶管理的系統(tǒng)更為安全,比如beinan用戶下的某個(gè)文件不想讓其它用戶看到,只是設(shè)置一下文件的權(quán)限,只有beinan一個(gè)用戶可讀可寫可編輯就行了,這樣一來只有beinan一個(gè)用戶可以對其私有文件進(jìn)行操作,Linux 在多用戶下表現(xiàn)最佳,Linux能很好的保護(hù)每個(gè)用戶的安全,但我們也得學(xué)會(huì)Linux 才是,再安全的系統(tǒng),如果沒有安全意識的管理員或管理技術(shù),這樣的系統(tǒng)也不是安全的。
從服務(wù)器角度來說,多用戶的下的系統(tǒng)安全性也是最為重要的,我們常用的Windows 操作系統(tǒng),它在系紡權(quán)限管理的能力只能說是一般般,根本沒有沒有辦法和Linux或Unix 類系統(tǒng)相比;
二、用戶(user)和用戶組(group)概念;
1、用戶(user)的概念;
通過前面對Linux 多用戶的理解,我們明白Linux 是真正意義上的多用戶操作系統(tǒng),所以我們能在Linux系統(tǒng)中建若干用戶(user)。比如我們的同事想用我的計(jì)算機(jī),但我不想讓他用我的用戶名登錄,因?yàn)槲业挠脩裘掠胁幌胱寗e人看到的資料和信息(也就是隱私內(nèi)容)這時(shí)我就可以給他建一個(gè)新的用戶名,讓他用我所開的用戶名去折騰,這從計(jì)算機(jī)安全角度來說是符合操作規(guī)則的;
當(dāng)然用戶(user)的概念理解還不僅僅于此,在Linux系統(tǒng)中還有一些用戶是用來完成特定任務(wù)的,比如nobody和ftp 等,我們訪問LinuxSir.Org 的網(wǎng)頁程序,就是nobody用戶;我們匿名訪問ftp 時(shí),會(huì)用到用戶ftp或nobody ;如果您想了解Linux系統(tǒng)的一些帳號,請查看 /etc/passwd ;
2、用戶組(group)的概念;
用戶組(group)就是具有相同特征的用戶(user)的集合體;比如有時(shí)我們要讓多個(gè)用戶具有相同的權(quán)限,比如查看、修改某一文件或執(zhí)行某個(gè)命令,這時(shí)我們需要用戶組,我們把用戶都定義到同一用戶組,我們通過修改文件或目錄的權(quán)限,讓用戶組具有一定的操作權(quán)限,這樣用戶組下的用戶對該文件或目錄都具有相同的權(quán)限,這是我們通過定義組和修改文件的權(quán)限來實(shí)現(xiàn)的;
舉例:我們?yōu)榱俗屢恍┯脩粲袡?quán)限查看某一文檔,比如是一個(gè)時(shí)間表,而編寫時(shí)間表的人要具有讀寫執(zhí)行的權(quán)限,我們想讓一些用戶知道這個(gè)時(shí)間表的內(nèi)容,而不讓他們修改,所以我們可以把這些用戶都劃到一個(gè)組,然后來修改這個(gè)文件的權(quán)限,讓用戶組可讀,這樣用戶組下面的每個(gè)用戶都是可讀的;
用戶和用戶組的對應(yīng)關(guān)系是:一對一、多對一、一對多或多對多;
一對一:某個(gè)用戶可以是某個(gè)組的唯一成員;
多對一:多個(gè)用戶可以是某個(gè)唯一的組的成員,不歸屬其它用戶組;比如beinan和linuxsir兩個(gè)用戶只歸屬于beinan用戶組;
一對多:某個(gè)用戶可以是多個(gè)用戶組的成員;比如beinan可以是root組成員,也可以是linuxsir用戶組成員,還可以是adm用戶組成員;
多對多:多個(gè)用戶對應(yīng)多個(gè)用戶組,并且?guī)讉€(gè)用戶可以是歸屬相同的組;其實(shí)多對多的關(guān)系是前面三條的擴(kuò)展;理解了上面的三條,這條也能理解;
三、用戶(user)和用戶組(group)相關(guān)的配置文件、命令或目錄;
1、與用戶(user)和用戶組(group)相關(guān)的配置文件;
1)與用戶(user)相關(guān)的配置文件;
/etc/passwd 注:用戶(user)的配置文件;
/etc/shadow 注:用戶(user)影子口令文件;
2)與用戶組(group)相關(guān)的配置文件;
/etc/group 注:用戶組(group)配置文件;
/etc/gshadow 注:用戶組(group)的影子文件;
2、管理用戶(user)和用戶組(group)的相關(guān)工具或命令;
1)管理用戶(user)的工具或命令;
useradd 注:添加用戶
adduser 注:添加用戶
passwd 注:為用戶設(shè)置密碼
usermod 注:修改用戶命令,可以通過usermod 來修改登錄名、用戶的家目錄等等;
pwcov 注:同步用戶從/etc/passwd 到/etc/shadow
pwck 注:pwck是校驗(yàn)用戶配置文件/etc/passwd 和/etc/shadow 文件內(nèi)容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創(chuàng)建/etc/passwd ,然后會(huì)刪除 /etc/shadow 文件;
finger 注:查看用戶信息工具
id 注:查看用戶的UID、GID及所歸屬的用戶組
chfn 注:更改用戶信息工具
su 注:用戶切換工具
sudo 注:sudo 是通過另一個(gè)用戶來執(zhí)行命令(execute a command as another user),su 是用來切換用戶,然后通過切換到的用戶來完成相應(yīng)的任務(wù),但sudo 能后面直接執(zhí)行命令,比如sudo 不需要root 密碼就可以執(zhí)行root 賦與的執(zhí)行只有root才能執(zhí)行相應(yīng)的命令;但得通過visudo 來編輯/etc/sudoers來實(shí)現(xiàn);
visudo 注:visodo 是編輯 /etc/sudoers 的命令;也可以不用這個(gè)命令,直接用vi 來編輯 /etc/sudoers 的效果是一樣的;
sudoedit 注:和sudo 功能差不多;
2)管理用戶組(group)的工具或命令;
groupadd 注:添加用戶組;
groupdel 注:刪除用戶組;
groupmod 注:修改用戶組信息
groups 注:顯示用戶所屬的用戶組
grpck
grpconv 注:通過/etc/group和/etc/gshadow 的文件內(nèi)容來同步或創(chuàng)建/etc/gshadow ,如果/etc/gshadow 不存在則創(chuàng)建;
grpunconv 注:通過/etc/group 和/etc/gshadow 文件內(nèi)容來同步或創(chuàng)建/etc/group ,然后刪除gshadow文件;
3、/etc/skel 目錄;
/etc/skel目錄一般是存放用戶啟動(dòng)文件的目錄,這個(gè)目錄是由root權(quán)限控制,當(dāng)我們添加用戶時(shí),這個(gè)目錄下的文件自動(dòng)復(fù)制到新添加的用戶的家目錄下;/etc/skel 目錄下的文件都是隱藏文件,也就是類似.file格式的;我們可通過修改、添加、刪除/etc/skel目錄下的文件,來為用戶提供一個(gè)統(tǒng)一、標(biāo)準(zhǔn)的、默認(rèn)的用戶環(huán)境;
[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)時(shí),系統(tǒng)自動(dòng)復(fù)制到新添加用戶(user)的家目錄下;如果我們通過修改 /etc/passwd 來添加用戶時(shí),我們可以自己創(chuàng)建用戶的家目錄,然后把/etc/skel 下的文件復(fù)制到用戶的家目錄下,然后要用chown 來改變新用戶家目錄的屬主;
4、/etc/login.defs 配置文件;
/etc/login.defs 文件是當(dāng)創(chuàng)建用戶時(shí)的一些規(guī)劃,比如創(chuàng)建用戶時(shí),是否需要家目錄,UID和GID的范圍;用戶的期限等等,這個(gè)文件是可以通過root來定義的;
比如Fedora 的 /etc/logins.defs 文件內(nèi)容;
# *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 注:創(chuàng)建用戶時(shí),要在目錄/var/spool/mail中創(chuàng)建一個(gè)用戶mail文件;
#MAIL_FILE .mail/p>
p># 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 注:用戶的密碼不過期最多的天數(shù);
PASS_MIN_DAYS 0 注:密碼修改之間最小的天數(shù);
PASS_MIN_LEN 5 注:密碼最小長度;
PASS_WARN_AGE 7 注:/p>
p>#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500 注:最小UID為500 ,也就是說添加用戶時(shí),UID 是從500開始的;
UID_MAX 60000 注:最大UID為60000;/p>
p>#
# 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 注:是否創(chuàng)用戶家目錄,要求創(chuàng)建;
5、/etc/default/useradd 文件;
通過useradd 添加用戶時(shí)的規(guī)則文件;
# useradd defaults file
GROUP=100
HOME=/home 注:把用戶的家目錄建在/home中;
INACTIVE=-1 注:是否啟用帳號過期停權(quán),-1表示不啟用;
EXPIRE= 注:帳號終止日期,不設(shè)置表示不啟用;
SHELL=/bin/bash 注:所用SHELL的類型;
SKEL=/etc/skel 注: 默認(rèn)添加用戶的目錄默認(rèn)文件存放位置;也就是說,當(dāng)我們用adduser添加用戶時(shí),用戶家目錄下的文件,都是從這個(gè)目錄中復(fù)制過去的;