linux里查看所有用户和用户组
http://www.cnblogs.com/rooney/archive/2009/05/19/1459801.html
1、linux里查看所有用戶
linux里,并沒有像windows的net user,net localgroup這些方便的命令來管理用戶.
Xwindows界面的就不說了.
(1)在終端里.其實只需要查看 /etc/passwd文件就行了.
(2)看第三個參數(shù):500以上的,就是后面建的用戶了.其它則為系統(tǒng)的用戶.
或者用cat /etc/passwd |cut -f 1 -d :
2、用戶管理命令
useradd 注:添加用戶
adduser 注:添加用戶
passwd 注:為用戶設(shè)置密碼
usermod 注:修改用戶命令,可以通過usermod 來修改登錄名、用戶的家目錄等等;
pwcov 注:同步用戶從/etc/passwd 到/etc/shadow
pwck 注:pwck是校驗用戶配置文件/etc/passwd 和/etc/shadow 文件內(nèi)容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創(chuàng)建/etc/passwd ,然后會刪除 /etc/shadow 文件;
finger 注:查看用戶信息工具
id 注:查看用戶的UID、GID及所歸屬的用戶組
chfn 注:更改用戶信息工具
su 注:用戶切換工具
sudo 注:sudo 是通過另一個用戶來執(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來實現(xiàn);
visudo 注:visodo 是編輯 /etc/sudoers 的命令;也可以不用這個命令,直接用vi 來編輯 /etc/sudoers 的效果是一樣的;
sudoedit 注:和sudo 功能差不多;
3、管理用戶組(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文件
?
?
首先創(chuàng)建用戶組 test和FTP的主目錄
groupadd test
mkdir /tmp/test
然后創(chuàng)建用戶
useradd -G test –d /tmp/test –M usr1
注:G:用戶所在的組 d:表示創(chuàng)建用戶的自己目錄的位置給予指定
M:不建立默認(rèn)的自家目錄,也就是說在/home下沒有自己的目錄
useradd –G test –d /tmp/test –M usr2
接著改變文件夾的屬主和權(quán)限
chown usr1.test /tmp/test ----這表示把/tmp/test的屬主定為usr1
chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么權(quán)限都沒有
這個實驗的目的就是usr1有上傳、刪除和下載的權(quán)限
而usr2只有下載的權(quán)限沒有上傳和刪除的權(quán)限
當(dāng)然啦大家別忘了我們的主配置文件vsftpd.conf
?
?
-----------------------------------------------------------------------
修改用戶密碼或添加用戶密碼
以用戶name為例,添加用戶:useradd name,設(shè)置密碼:passwd name,然后根據(jù)提示,輸入兩次密碼即可。
????????????????刪除用戶:userdel name,其實并沒有完全刪除,只是該用戶不能登陸,其目錄下的文件還在保留。?
如:useradd username
passwd username
userdel username
?
==================http://fedora.linuxsir.org/main/?q=node/105
Linux 用戶(User)查詢篇
Posted 十一月 3rd, 2005 by 北南南北- 基礎(chǔ)入門
- Fedora
作者:北南南北
贊助:
來自:LinuxSir.Org
摘要: 本文主要介紹在用戶管理中,查詢用戶的幾種工具介紹 id 、finger、groups 以及 w、who、users ;
目錄索引
一、用戶查詢工具的原理;
二、用戶(User)和用戶組(Group)查詢工具;
1、id 工具: 查詢用戶所對應(yīng)的UID 和GID 及GID所對應(yīng)的用戶組;
2、finger 工具:用來查詢用戶信息,側(cè)重用戶家目錄、登錄SHELL等;
3、查詢登錄主機(jī)的用戶工具:w 、who 、users
4、groups 用戶所歸屬的用戶組查詢;
三、后記;
四、參與修正本文;
五、致謝;
六、相關(guān)文檔;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一、用戶查詢工具的原理;
在用戶管理中,用戶查詢是通過幾個常用的工具來完成的,比如id 、finger、groups、users ... ... ,我們都知道用戶的配置文件是/etc/passwd,用戶組的配置文件是/etc/groups 文件,我們對用戶的查詢除了通過查詢工具以外,我們還能直接查看用戶和用戶組的配置文件來達(dá)到查詢的目的;
用戶查詢工具的原理也是讀取與用戶和用戶組有關(guān)的配置文件,然后按一定的規(guī)則和條件輸出,用戶和用戶組配置文件很重要,所以您有必要先讀一下關(guān)有用戶管理的文檔:
《Linux 用戶(user)和用戶組(group)管理概述》
《用戶(user)和用戶組(group)配置文件詳解》
二、用戶(User)和用戶組(Group)查詢工具;
1、id 工具: 查詢用戶所對應(yīng)的UID 和GID 及GID所對應(yīng)的用戶組;
id 工具是用來查詢用戶信息,比如用戶所歸屬的用戶組,UID 和GID等;id 用法極為簡單;我們舉個例子說明一下;
至于有哪些參數(shù),自己查一下 id --help 或man id ;如果id后面不接任何參數(shù)和任何用戶,默認(rèn)顯示當(dāng)前操作用戶的用戶名、所歸屬的用戶組、UID和GID等;
實例一:不加任何參數(shù)和用戶名;
uid=500(beinan) gid=500(beinan) groups=500(beinan)
注解:在沒有加任何參數(shù)的情況下,查詢的是當(dāng)前操作用戶的用戶名、UID 、GID 和所處的主用戶組和附屬用戶組;在本例中,用戶名是beinan,UID是500,所歸屬的主用戶組是beinan,GID是500 ;
實例二: id 后面接用戶名;
如果我們想查詢系統(tǒng)中用戶的UID和GID 相應(yīng)的內(nèi)容,可以直接接用戶名,但用戶名必須是真實的 ,能在/etc/passwd中查到的;
uid=505(linuxsir) gid=502(linuxsir) groups=502(linuxsir),0(root),500(beinan)
注解:查詢用戶linuxsir 的信息,用戶linuxsir ,UID 為505,所歸屬的主用戶組是linuxsir,主用戶組的GID是502;同時linuxsir用戶也是GID為0的root用戶組成員,也是GID為500用戶組beinan的成員;
這個例子和實例一在用戶組方面有所不同,我們在 《Linux 用戶(user)和用戶組(group)管理概述》 中有提到;用戶和用戶組的對應(yīng)關(guān)系,可以是一對一、一對多、多對一、或多對多的交叉關(guān)系,請參考之;另外您還需要掌握《用戶(user)和用戶組(group)配置文件詳解》一文;
2、finger 工具:用來查詢用戶信息,側(cè)重用戶家目錄、登錄SHELL等;
finger 工具側(cè)重于用戶信息的查詢;查詢的內(nèi)容包括用戶名(也被稱為登錄名Login),家目錄,用戶真實的名字(Name)... ... 辦公地址、辦公電話;也包括登錄終端、寫狀態(tài)、空閉時間等;
我們最常用finger 來查詢用戶家目錄、用戶真實名、所用SHELL 類型、以及辦公地址和電話,這是以參數(shù) -l 長格式輸出的;而修改用戶的家目錄、真實名字、辦公地址及辦公電話,我們一般要能過chfn命令進(jìn)行;
語法格式:
finger [參數(shù)選項] [用戶名]
-l 采用長格式(默認(rèn)),顯示由-s選項所包含的所有信息,以及主目錄、辦公地址、辦公電話、登錄SHELL、郵件狀態(tài)、.plan、.project和.forward;
-m 禁止對用戶真實名字進(jìn)行匹配;
-p 把.plan和.project文件中的內(nèi)容省略;
-s 顯示短格式,用戶名(也被稱為登錄名Login)、真實名字(NAME)、在哪個終端登錄(Tty)、寫狀態(tài)、空閑時間(Idle)、登錄時間(Login Time)、辦公地點(diǎn)、辦公電話等;
至于finger 有哪些參數(shù),您可以通過 finger --help 或man finger 來獲取,我們在本文中以實例講述最常用的參數(shù);
實例一:不接任何參數(shù),也不指定查詢用戶名;默認(rèn)為加了-s參數(shù);
Login???? Name??????????? Tty????? Idle? Login Time?? Office???? Office Phone
beinan??? beinan sun??? tty1???? 1:39? Nov? 2 08:27
linuxsir? linuxsir open?? tty2??????? 2? Nov? 2 10:03 linuxsir o +1-389-866-771
等價命令
[beinan@localhost ~]$ finger? -s注解:不加任何參數(shù),也沒有指定查詢哪個用戶,finger 會以默認(rèn)以短格-s 來輸出登錄本機(jī)的所有用戶的用戶名(也被稱為登錄名Login)、真實名字(NAME)、在哪個終端登錄(Tty)、寫狀態(tài)、空閑時間(Idle)、登錄時間(Login Time)、辦公地點(diǎn)、辦公電話等;
在這個例子中,有beinan用戶登錄,真實名字是beinan sun (這個名字是用戶的真實名字,如果在添加用戶時沒有設(shè)置,是不會顯示的),在tty1終端登錄,空閉時間是1分39秒,登錄時間是Nov /2/08:27 ,沒有辦公室名稱,沒有辦公電話;
請對照本例中beinan用戶記錄的解說,我們來看看本例中的 linuxsir用戶信息;應(yīng)該不難。
關(guān)于寫狀態(tài),如果在Tty 后面 沒有任何輸出,表示正在寫入,如果有*出現(xiàn),表示沒有寫入或被禁止,比如下面的例子,ftp用戶沒有通過終端登錄系統(tǒng),因為Tty是*,同時Tty后面還有一個* ,表示禁止寫入或沒有寫入狀態(tài)(當(dāng)用戶沒有登錄時);
Login???? Name?????? Tty????? Idle? Login Time?? Office???? Office Phone
ftp?????? FTP User??? *???? *? No logins
我們可以以短格式的來查詢某個用戶信息以短格式輸出,比如下面的例子;
實例二:關(guān)于長格式的用戶信息的輸出 -l 參數(shù)的實例;
finger -l 如果不加用戶名的情況下,可以列出所有通過tty登錄的用戶信息;如果您想查詢某個用戶,就直接指定用戶,可以指定一個或多個;什么是tty登錄?如果您在全屏文本界面操作的話,您可以通過按CTRL+F2或CTRL+F3 或CTRL+F4等, 以幾個不同的用戶登錄到主機(jī)上,您就會看到,每個用戶都有不同的tty;
[beinan@localhost ~]$ finger -l[beinan@localhost ~]$ finger -l? beinan linuxsir?? 注:可以同時查詢幾個用戶信息,以長格式輸出; [beinan@localhost ~]$ finger beinan
Login: beinan?????????????????????????? Name: beinan sun
Directory: /home/beinan???????????????? Shell: /bin/bash
On since Wed Nov? 2 08:27 (CST) on tty1??? 2 hours 29 minutes idle
On since Wed Nov? 2 10:50 (CST) on pts/0 from :0.0
No mail.
No Plan.
在本例中,所查詢的用戶是beinan,真實名字是beinan sun ,家目錄位于 /home/beinan ,所用SHELL類型是bash ;然后就是通過哪個終端登錄的,登錄時間,是不是有mail ,有Plan 等;
實例三:參數(shù)組合的例子;
[beinan@localhost ~]$ finger -lp?? beinanLogin: beinan?????????????????????????? Name: beinan sun
Directory: /home/beinan???????????????? Shell: /bin/bash
On since Wed Nov? 2 08:27 (CST) on tty1??? 2 hours 36 minutes idle
On since Wed Nov? 2 10:50 (CST) on pts/0 from :0.0
No mail.
注解:查詢beinan用戶信息,以長格式輸出,并且不輸出.Plan和.Project的內(nèi)容;
實例四: finger -s 和w 及who的比較;
對于finger 就說這么多吧,極為簡單的工具,當(dāng)用到-s 參數(shù)時,您最好和w和who工具對照,看看finger -s 和w 及who的輸出有什么異同,w和who是查詢哪些用戶登錄主機(jī)的;而finger -s 呢,無論是登錄還是不登錄的用戶都可以查;但所查到的內(nèi)容側(cè)重有所不同;自己看看例子;
[beinan@localhost ~]$ finger -sLogin???? Name??????????? Tty????? Idle? Login Time?? Office???? Office Phone
beinan??? beinan sun????? tty1???? 3:03? Nov? 2 08:27
beinan??? beinan sun????? pts/0????????? Nov? 2 10:50 (:0.0)
linuxsir? linuxsir open?? tty2???? 1:26? Nov? 2 10:03 linuxsir o +1-389-866-771
[beinan@localhost ~]$ w
11:30:36 up? 3:04,? 3 users,? load average: 0.30, 0.15, 0.10
USER???? TTY????? FROM????????????? LOGIN@?? IDLE?? JCPU?? PCPU WHAT
beinan?? tty1???? -??????????????? 08:27??? 3:03m? 2:52?? 0.00s /bin/sh /usr/X11R6/bin/startx
linuxsir tty2???? -??????????????? 10:03??? 1:26m? 0.01s? 0.01s -bash
beinan?? pts/0??? :0.0???????????? 10:50??? 0.00s? 0.16s? 0.00s w
[beinan@localhost ~]$ who
beinan?? tty1???????? Nov? 2 08:27
linuxsir tty2???????? Nov? 2 10:03
beinan?? pts/0??????? Nov? 2 10:50 (:0.0)
3、查詢登錄主機(jī)的用戶工具:w 、who 、users
w、who和users工具,是查詢已登錄當(dāng)前主機(jī)的用戶;另外finger -s 也同樣能查詢;側(cè)重點(diǎn)不一樣;請自己對比著看;畢竟簡單,這里只是介紹 ;
[beinan@localhost ~]$ w12:09:56 up? 3:43,? 7 users,? load average: 0.16, 0.10, 0.04
USER???? TTY????? FROM????????????? LOGIN@?? IDLE?? JCPU?? PCPU WHAT
beinan?? tty1???? -??????????????? 08:27??? 3:42m? 3:09?? 0.00s /bin/sh /usr/X11R6/bin/startx
linuxsir tty2???? -??????????????? 10:03??? 2:06m? 0.01s? 0.01s -bash
beinan?? pts/0??? :0.0???????????? 11:36??? 1:09?? 0.15s? 0.15s bash
beinan?? pts/1??? :0.0???????????? 11:37??? 1:12?? 0.21s? 0.21s bash
beinan?? pts/2??? :0.0???????????? 12:02??? 6:52?? 0.09s? 0.09s bash
beinan?? pts/3??? :0.0???????????? 12:05?? 12.00s? 0.11s? 0.06s ssh xmbnnbdl@linuxsir.org -p 17007
beinan?? pts/4??? :0.0???????????? 12:06??? 0.00s? 0.21s? 0.00s w
[beinan@localhost ~]$ who
beinan?? tty1???????? Nov? 2 08:27
linuxsir tty2???????? Nov? 2 10:03
beinan?? pts/0??????? Nov? 2 11:36 (:0.0)
beinan?? pts/1??????? Nov? 2 11:37 (:0.0)
beinan?? pts/2??????? Nov? 2 12:02 (:0.0)
beinan?? pts/3??????? Nov? 2 12:05 (:0.0)
beinan?? pts/4??????? Nov? 2 12:06 (:0.0)
[beinan@localhost ~]$ users
beinan beinan beinan beinan beinan beinan linuxsir
4、groups 用戶所歸屬的用戶組查詢;
groups 用法很簡單,就是查詢用戶所歸屬哪個或哪些用戶組;
實例:
[beinan@localhost ~]$ groups beinan? 注:查詢beinan所歸屬的用戶組;beinan : beinan?? 注:beinan 是beinan用戶組下的成員;
[beinan@localhost ~]$ groups linuxsir??? 注:查詢linuxsir用戶所歸屬的用戶組;
linuxsir : linuxsir root beinan??? 注:linuxsir用戶是linuxsir用戶組、beinan用戶組、root用戶組成員;?
groups 主要是查詢用戶所歸屬的用戶組名,最好和id命令相對比;這樣對這兩個工具都有所了解;
三、后記;
本文是很簡單的文檔,花十分鐘就能看得完,但對我來說既然想寫入門級系列文檔了,再簡單也得告訴初學(xué)者,不是嗎?寫本文的時候,我已經(jīng)把查詢用戶的工具列為《Linux 用戶及用戶組管理工具介紹》的文檔中,但寫著寫著發(fā)現(xiàn)文檔太長了,所以只好把用戶的查詢做為獨(dú)立的一篇先發(fā)出來;
我的下一篇文檔計劃是接著寫用戶管理的相關(guān)工具,比如用戶的添加、刪除、修改等工具;如果順利的話,會在這兩天完成,不過這僅僅是計劃;因為在寫超級權(quán)限控制的時候,我也說過用一到兩天,而我卻寫十二天;
四、參與修正本文;
在以后本文檔中,我想讓大家來參與修正,畢竟一個人寫的東西肯定會存在問題,幾個腦袋總比一個腦袋要好的多吧;請大家多多指點(diǎn);比如本文中關(guān)于用戶查詢工具工作原理可能表達(dá)不太準(zhǔn)確或不足;另外w、who查詢在線用戶的原理沒有提到,如果哪位弟兄有時間可以把查詢在線用戶的工具獨(dú)列出來寫成文檔;謝謝;
五、致謝;
六、相關(guān)文檔;
《Linux 用戶(user)和用戶組(group)管理概述》
《用戶(user)和用戶組(group)配置文件詳解》
《Linux 用戶(User)查詢篇》
《Linux 用戶管理工具介紹》
《Linux 系統(tǒng)中的超級權(quán)限的控制》
《在Linux系統(tǒng)中,批量添加用戶的操作流程》
==============
Linux 用戶和用戶組詳細(xì)解說
本篇文章來源于 PHP資訊 原文鏈接:http://www.phpq.net/linux/linux-user-and-group.html
一、理解Linux的單用戶多任務(wù),多用戶多任務(wù)概念
Linux 是一個多用戶、多任務(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 還得打開,想知道幾個弟兄現(xiàn)在正在做什么,這樣一樣,我在用beinan 用戶登錄時,執(zhí)行了gedit 、xmms以及msn等,當(dāng)然還有輸入法fcitx ;這樣說來就有點(diǎn)簡單了,一個beinan用戶,為了完成工作,執(zhí)行了幾個任務(wù);當(dāng)然beinan這個用戶,其它的人還能以遠(yuǎn)程登錄過來,也能做其它的工作。
2、Linux 的多用戶、多任務(wù)
有時可能是很多用戶同時用同一個系統(tǒng),但并不所有的用戶都一定都要做同一件事,所以這就有多用戶多任務(wù)之說;
舉個例子,比如LinuxSir.Org 服務(wù)器,上面有FTP 用戶、系統(tǒng)管理員、web 用戶、常規(guī)普通用戶等,在同一時刻,可能有的弟兄正在訪問論壇;有的可能在上傳軟件包管理子站,比如luma 或Yuking 兄在管理他們的主頁系統(tǒng)和FTP ;在與此同時,可能還會有系統(tǒng)管理員在維護(hù)系統(tǒng);瀏覽主頁的用的是nobody 用戶,大家都用同一個,而上傳軟件包用的是FTP用戶;管理員的對系統(tǒng)的維護(hù)或查看,可能用的是普通帳號或超級權(quán)限r(nóng)oot帳號;不同用戶所具有的權(quán)限也不同,要完成不同的任務(wù)得需要不同的用戶,也可以說不同的用戶,可能完成的工作也不一樣;
值得注意的是:多用戶多任務(wù)并不是大家同時擠到一接在一臺機(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)管理員一定要堅守UID 唯一的特性;
root 用戶:系統(tǒng)唯一,是真實的,可以登錄系統(tǒng),可以操作系統(tǒng)任何文件和命令,擁有最高權(quán)限;
虛擬用戶:這類用戶也被稱之為偽用戶或假用戶,與真實用戶區(qū)分開來,這類用戶不具有登錄系統(tǒng)的能力,但卻是系統(tǒng)運(yùn)行不可缺少的用戶,比如bin、daemon、adm、ftp、mail等;這類用戶都系統(tǒng)自身擁有的,而非后來添加的,當(dāng)然我們也可以添加虛擬用戶;
普通真實用戶:這類用戶能登錄系統(tǒng),但只能操作自己家目錄的內(nèi)容;權(quán)限有限;這類用戶都是系統(tǒng)管理員自行添加的;
4、多用戶操作系統(tǒng)的安全
多用戶系統(tǒng)從事實來說對系統(tǒng)管理更為方便。從安全角度來說,多用戶管理的系統(tǒng)更為安全,比如beinan用戶下的某個文件不想讓其它用戶看到,只是設(shè)置一下文件的權(quán)限,只有beinan一個用戶可讀可寫可編輯就行了,這樣一來只有beinan一個用戶可以對其私有文件進(jìn)行操作,Linux 在多用戶下表現(xiàn)最佳,Linux能很好的保護(hù)每個用戶的安全,但我們也得學(xué)會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ī),但我不想讓他用我的用戶名登錄,因為我的用戶名下有不想讓別人看到的資料和信息(也就是隱私內(nèi)容)這時我就可以給他建一個新的用戶名,讓他用我所開的用戶名去折騰,這從計算機(jī)安全角度來說是符合操作規(guī)則的;
當(dāng)然用戶(user)的概念理解還不僅僅于此,在Linux系統(tǒng)中還有一些用戶是用來完成特定任務(wù)的,比如nobody和ftp 等,我們訪問LinuxSir.Org 的網(wǎng)頁程序,就是nobody用戶;我們匿名訪問ftp 時,會用到用戶ftp或nobody ;如果您想了解Linux系統(tǒng)的一些帳號,請查看 /etc/passwd ;
2、用戶組(group)的概念
用戶組(group)就是具有相同特征的用戶(user)的集合體;比如有時我們要讓多個用戶具有相同的權(quán)限,比如查看、修改某一文件或執(zhí)行某個命令,這時我們需要用戶組,我們把用戶都定義到同一用戶組,我們通過修改文件或目錄的權(quán)限,讓用戶組具有一定的操作權(quán)限,這樣用戶組下的用戶對該文件或目錄都具有相同的權(quán)限,這是我們通過定義組和修改文件的權(quán)限來實現(xiàn)的;
舉例:我們?yōu)榱俗屢恍┯脩粲袡?quán)限查看某一文檔,比如是一個時間表,而編寫時間表的人要具有讀寫執(zhí)行的權(quán)限,我們想讓一些用戶知道這個時間表的內(nèi)容,而不讓他們修改,所以我們可以把這些用戶都劃到一個組,然后來修改這個文件的權(quán)限,讓用戶組可讀,這樣用戶組下面的每個用戶都是可讀的;
用戶和用戶組的對應(yīng)關(guān)系是:一對一、多對一、一對多或多對多;
一對一:某個用戶可以是某個組的唯一成員;
多對一:多個用戶可以是某個唯一的組的成員,不歸屬其它用戶組;比如beinan和linuxsir兩個用戶只歸屬于beinan用戶組;
一對多:某個用戶可以是多個用戶組的成員;比如beinan可以是root組成員,也可以是linuxsir用戶組成員,還可以是adm用戶組成員;
多對多:多個用戶對應(yīng)多個用戶組,并且?guī)讉€用戶可以是歸屬相同的組;其實多對多的關(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是校驗用戶配置文件/etc/passwd 和/etc/shadow 文件內(nèi)容是否合法或完整;
pwunconv? 注:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創(chuàng)建/etc/passwd ,然后會刪除 /etc/shadow 文件;
finger??????? 注:查看用戶信息工具
id????????????? 注:查看用戶的UID、GID及所歸屬的用戶組
chfn????????? 注:更改用戶信息工具
su???????????? 注:用戶切換工具
sudo???????? 注:sudo 是通過另一個用戶來執(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來實現(xiàn);
visudo????? 注:visodo 是編輯 /etc/sudoers 的命令;也可以不用這個命令,直接用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目錄一般是存放用戶啟動文件的目錄,這個目錄是由root權(quán)限控制,當(dāng)我們添加用戶時,這個目錄下的文件自動復(fù)制到新添加的用戶的家目錄下;/etc/skel 目錄下的文件都是隱藏文件,也就是類似.file格式的;我們可通過修改、添加、刪除/etc/skel目錄下的文件,來為用戶提供一個統(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)時,系統(tǒng)自動復(fù)制到新添加用戶(user)的家目錄下;如果我們通過修改 /etc/passwd 來添加用戶時,我們可以自己創(chuàng)建用戶的家目錄,然后把/etc/skel 下的文件復(fù)制到用戶的家目錄下,然后要用chown 來改變新用戶家目錄的屬主;
4、/etc/login.defs 配置文件;
/etc/login.defs 文件是當(dāng)創(chuàng)建用戶時的一些規(guī)劃,比如創(chuàng)建用戶時,是否需要家目錄,UID和GID的范圍;用戶的期限等等,這個文件是可以通過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)建用戶時,要在目錄/var/spool/mail中創(chuàng)建一個用戶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?? 注:用戶的密碼不過期最多的天數(shù);
PASS_MIN_DAYS?? 0?????? 注:密碼修改之間最小的天數(shù);
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?? 注:是否創(chuàng)用戶家目錄,要求創(chuàng)建;
5、/etc/default/useradd 文件;
通過useradd 添加用戶時的規(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添加用戶時,用戶家目錄下的文件,都是從這個目錄中復(fù)制過去的;
后記:
關(guān)于用戶(user)和用戶組(group)管理內(nèi)容大約就是這么多;只要把上面所說的內(nèi)容了解和掌握,用戶(user)和用戶組(group)管理就差不多了;由于用戶(user)和用戶組(group)是和文件及目錄權(quán)限聯(lián)系在一起的,所以文件及目錄權(quán)限的操作也會獨(dú)立成文來給大家介紹;
本文只是讓新手弟兄明白用戶(user)和用戶組(group)一些原理,所以我在寫此文的時候,大多是解說內(nèi)容,我的意思是通過解說和索引一些命令,讓新手弟兄明白一點(diǎn)理論是比較重要的,技術(shù)操作無非是命令的用法;
本文內(nèi)容會不斷的更新和變動,一些命令需要獨(dú)立成文加以解說,我會在最近的幾天內(nèi)完成;
本篇文章來源于 PHP資訊 原文鏈接:http://www.phpq.net/linux/linux-user-and-group.html
?
?
總結(jié)
以上是生活随笔為你收集整理的linux里查看所有用户和用户组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java路径问题最终解决方案
- 下一篇: java文件操作大全