自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux useradd與用戶管理相關(guān)的配置文件

運(yùn)維 系統(tǒng)運(yùn)維
添加用戶工具有Linux useradd和adduser ,這兩個(gè)工具所達(dá)到的目的都是一樣的,在Fedora 發(fā)行版中,Linux useradd 和adduser 用法是一樣的;但在slackware發(fā)行版本中,adduser和Linux useradd 還是有所不同,表現(xiàn)為adduser 是以人機(jī)交互的提問的方式來添加用戶。

Linux useradd已被廣泛應(yīng)用但是也在不斷的更新,這里介紹Linux useradd安裝設(shè)置使用,幫助大家安裝更新Linux useradd系統(tǒng)Linux是一個(gè)多用戶的操作系統(tǒng),她有***的用戶管理工具,這些工具包括用戶的查詢、添加、修改,以及用戶之間相互切換的工具等;通過這些工具,我們能安全、輕松的完成用戶管理;

在這里我們要引入用戶控制工具的概念,比如對(duì)用戶添加的useradd或adduser ,對(duì)用戶刪除的 userdel ,與修改用戶相關(guān)信息的 usermod、chfn、chsh ,還有密碼設(shè)置工具passwd 等等;這些工具只所以被稱為用戶控制工具,理由是她們是控制和管理用戶的工具。

一、Linux useradd與用戶管理相關(guān)的配置文件;

1、/etc/passwd 和/etc/groups我們對(duì)用戶和用戶組進(jìn)行添加、修改、刪除最終目的是修改系統(tǒng)用戶 /etc/passwd和其加密資訊文件 /etc/shadows 以及用戶組的 /etc/groups和其加密資訊文件/etc/gshadow。

所以對(duì)用戶和用戶組的添加并不僅僅是只能通過用戶添加、修改、刪除等用戶控制工具來完成,我們還能直接修改與用戶和用戶組相應(yīng)的配置文件來達(dá)到目的。在 《用戶(user)和用戶組(group)配置文件詳解》一文中,我有談過通過修改用戶及用戶組配置文件的辦法來添加、刪除、修改用戶,進(jìn)而達(dá)到對(duì)系統(tǒng)用戶的管理;

參考文檔:《Linux 用戶(user)和用戶組(group)管理概述》《用戶(user)和用戶組(group)配置文件詳解》

2、超級(jí)權(quán)限控制sudo 的配置文件 /etc/sudoers ;參考文檔: 《Linux 系統(tǒng)中的超級(jí)權(quán)限的控制》

3、添加用戶規(guī)則文件 /etc/login.defs 和 /etc/default/useradd參考文檔:《Linux 用戶(user)和用戶組(group)管理概述》

二、添加用戶工具和方法;

添加用戶工具有Linux useradd和adduser ,這兩個(gè)工具所達(dá)到的目的都是一樣的,在Fedora 發(fā)行版中,Linux useradd 和adduser 用法是一樣的;但在slackware發(fā)行版本中,adduser和Linux useradd 還是有所不同,表現(xiàn)為adduser 是以人機(jī)交互的提問的方式來添加用戶;

除了useradd和adduser工具以外,我們還能通過修改用戶配置文件/etc/passwd和/etc/groups的辦法來實(shí)現(xiàn);當(dāng)然我們也不要忽略一些發(fā)行版獨(dú)有用戶管理工具,比如Fedora 中有 system-config-users 工具;這個(gè)工具比較簡(jiǎn)單,點(diǎn)幾下鼠標(biāo)就能完成;

1、useradd 工具;useradd 不加參數(shù)選項(xiàng)時(shí),后面直接跟所添加的用戶名時(shí),系統(tǒng)時(shí)讀取添加用戶配置文件/etc/login.defs和/etc/default/useradd文件,然后讀取/etc/login.defs和/etc/default/useradd中所定義的規(guī)則添加用戶;

并向/etc/passwd和/etc/groups文件添加用戶和用戶組記錄;當(dāng)然/etc/passwd和/etc/groups的加密資訊文件也同步生成記錄;同時(shí)發(fā)生的還有系統(tǒng)會(huì)自動(dòng)在/etc/add/default中所約定的目錄中建用戶的家目錄,并復(fù)制/etc/skel中的文件(包括隱藏文件)到新用戶的家目錄中;

Linux useradd 的語法:

  1. usage: useradd[-u uid [-o]] [-g group] [-G group,...]  
  2. [-d home] [-s shell] [-c comment] [-m [-k template]]  
  3. [-f inactive] [-e expire ] [-p passwd] name  
  4. useradd-D [-g group] [-b base] [-s shell]  
  5. [-f inactive] [-e expire ] 

當(dāng)我們執(zhí)行Linux useradd用戶名 來添加用戶時(shí),我們會(huì)發(fā)現(xiàn)一個(gè)比較有意思的現(xiàn)象,新添中的用戶的家目錄總是被自動(dòng)添加到 /home目錄下,我們先舉個(gè)例子;

實(shí)例一:不加任何參數(shù),直接添加用戶;

  1. [root@localhost beinan]# useraddbeinanlinux  
  2. [root@localhost beinan]# ls -ld /home/beinanlinux/  
  3. drwxr-xr-x3 beinanlinux beinanlinux 4096 11月2 15:20 /home/beinanlinux/  

在這個(gè)例子中,我們添加了beinanlinux用戶,我們?cè)诓榭?home/目錄時(shí),會(huì)發(fā)現(xiàn)系統(tǒng)自建了一個(gè)beinanlinux的目錄;我們?cè)賮聿榭?/etc/passwd 文件有關(guān)beinanlinux的記錄,也會(huì)有新發(fā)現(xiàn);我們通過more 來讀取 /etc/passwd 文件,并且通過grep 來抽取 beinanlinux字段,得出如下一行;

  1. [root@localhost beinan]# more /etc/passwd | grep beinanlinux  
  2. beinanlinux:x:509:509::/home/beinanlinux:/bin/bash 

從得出的beinanlinux的記錄來看,以adduser 工具添加beinanlinux用戶時(shí),設(shè)置用戶的UID和GID分別為509 ,并且把beinanlinux的家目錄設(shè)置在 /home/beinanlinux ,所有的SHELL是 bash ; 我們?cè)賮砜纯?/etc/shadow、/etc/groups和/etc/gshadow 文件。

是不是也有與beinanlinux有關(guān)的行;我們還要查看/etc/default/useradd 和/etc/login.defs文件的規(guī)則,看一下beinanlinux用戶的增加是不是和這兩個(gè)配置文件有關(guān);我們還要查看 /home/beinanlinux目錄下的文件,是不是和/etc/skel目錄中的一樣;

由此我們引出我們下面所要談的內(nèi)容: Linux useradd -D [-g group] [-b base] [-s shell] [-f inactive] [-e expire ]

1)/etc/default/useradd 配置文件的定義;

  1. Linux useradd-D [-g group] [-b base] [-s shell] [-f inactive] [-e expire ]   
  2. Linux useradd 加-D參數(shù)后,就是用來改變配置文件 /etc/default/useradd的;  
  3. useradd -D [-g group] [-b base] [-s shell] [-f inactive] [-e expire ] 

當(dāng)-D選項(xiàng)出現(xiàn)時(shí),Linux useradd秀出現(xiàn)在的預(yù)設(shè)值,或是藉由命令列的方式更新預(yù)設(shè)值。可用選項(xiàng)為∶

-b default_home 注:定義用戶所屬目錄的前一個(gè)目錄。用戶名稱會(huì)附加在default_home后面用來建立新用戶的目錄。當(dāng)然使用-d后則此選項(xiàng)無效。
-e default_expire_date 注:用戶帳號(hào)停止日期。
-f default_inactive注:帳號(hào)過期幾日后停權(quán)。
-g default_group 注:新帳號(hào)起始用戶組名或ID。用戶組名須為現(xiàn)有存在的名稱。用戶組ID也須為現(xiàn)有存在的用戶組。
-s default_shell 注:用戶登入后使用的shell名稱。往后新加入的帳號(hào)都將使用此shell.

如不指定任何參數(shù),Linux useradd顯示目前預(yù)設(shè)的值。
 

實(shí)例二:
useradd -D 如不指定任何參數(shù),Linux useradd顯示目前預(yù)設(shè)的值;

  1. [root@localhost beinan]# useradd -D  
  2. GROUP=100 
  3. HOME=/home  
  4. INACTIVE=-1  
  5. EXPIRE=  
  6. SHELL=/bin/bash  
  7. SKEL=/etc/skel  
  8. CREATE_MAIL_SPOOL=no 

我們看一下/etc/default/useradd 文件就明白了,應(yīng)該和上面的輸出是一樣的;所以如果我們想改變Linux useradd配置文件/etc/default/adduser 的內(nèi)容,也可以用編輯器直接操作,如果你會(huì)用vi編輯器或者其它編輯器的話,這個(gè)應(yīng)該不成問題吧;

實(shí)例三:

我想把添加用戶時(shí)的默認(rèn)SHELL /bin/bash 改為 /bin/tcsh ,則應(yīng)該用下面的命令;

  1. [root@localhost beinan]# useradd -D -s /bin/tcsh注:把添加用戶時(shí)的SHELL 改為tcsh ;  
  2. [root@localhost beinan]# more /etc/default/useradd 注:查看是否成功;  
  3. # useradd defaults file  
  4. GROUP=100 
  5. HOME=/home  
  6. INACTIVE=-1  
  7. EXPIRE=  
  8. SHELL=/bin/tcsh 注:成功;  
  9. SKEL=/etc/skel  
  10. CREATE_MAIL_SPOOL=no 

這個(gè)-D參數(shù)的解說就這樣了,也是比較簡(jiǎn)單,如果不會(huì)用命令,直接改參數(shù)配置文件總會(huì)吧;Linux解決問題是極為靈活的,就看我們?cè)趺唇鉀Q了,對(duì)不對(duì)?

2)Linux useradd添加用戶;

  1. useradd[-u uid [-o]] [-g group] [-G group,...]  
  2. [-d home] [-s shell] [-c comment] [-m [-k template]]  
  3. [-f inactive] [-e expire ] [-p passwd] name 

新帳號(hào)建立,當(dāng)不加-D參數(shù),Linux useradd指令使用命令列來指定新帳號(hào)的設(shè)定值and使用系統(tǒng)上的預(yù)設(shè)值.新用戶帳號(hào)將產(chǎn)生一些系統(tǒng)檔案,用戶目錄建立,拷備起始檔案等,這些均可以利用命令列選項(xiàng)指定。此版本為RedHat Linux提供,可幫每個(gè)新加入的用戶建立個(gè)別的group,毋須添加-n選項(xiàng)。

Linux useradd可使用的選項(xiàng)為
-c comment 注:新帳號(hào) password 檔的說明欄 。
-d home_dir 注:新帳號(hào)每次登入時(shí)所使用的home_dir。預(yù)設(shè)值為default_home內(nèi)login名稱,并當(dāng)成登入時(shí)目錄名稱。
-e expire_date注:帳號(hào)終止日期。日期的指定格式為MM/DD/YY。
-f inactive_days 注:帳號(hào)過期幾日后***停權(quán)。當(dāng)值為0時(shí)帳號(hào)則立刻被停權(quán)。而當(dāng)值為-1時(shí)則關(guān)閉此功能,預(yù)設(shè)值為-1
-g initial_group 注:group名稱或以數(shù)字來做為用戶登入起始用戶組(group)。用戶組名須為現(xiàn)有存在的名稱。用戶組數(shù)字也須為現(xiàn)有存在的用戶組。預(yù)設(shè)的用戶組數(shù)字為1。
-G group,[...]注:定義此用戶為此一堆groups的成員。每個(gè)用戶組使用","區(qū)格開來,不可以夾雜空白字元。用戶組名同-g選項(xiàng)的限制。定義值為用戶的起始用戶組。。
-m 注: 用戶目錄如不存在則自動(dòng)建立。如使用-k選項(xiàng)skeleton_dir內(nèi)的檔案將復(fù)制至用戶目錄下。然而在/etc/skel目錄下的檔案也會(huì)復(fù)制過去取代。任何在skeleton_dir or /etc/skel的目錄也相同會(huì)在用戶目錄下一一建立。The-k同-m不建立目錄以及不復(fù)制任何檔案為預(yù)設(shè)值。
-M 不建立用戶目錄,即使/etc/login.defs系統(tǒng)檔設(shè)定要建立用戶目錄。
-n 預(yù)設(shè)值用戶用戶組與用戶名稱會(huì)相同。此選項(xiàng)將取消此預(yù)設(shè)值。
-r此參數(shù)是用來建立系統(tǒng)帳號(hào)。系統(tǒng)帳號(hào)的UID會(huì)比定義在系統(tǒng)檔上/etc/login.defs.的UID_MIN來的小。注意Linux useradd此用法所建立的帳號(hào)不會(huì)建立用戶目錄,也不會(huì)在乎紀(jì)錄在/etc/login.defs.的定義值。如果你想要有用戶目錄須額外指定-m參數(shù)來建立系統(tǒng)帳號(hào)。
-s shell注:用戶登入后使用的shell名稱。預(yù)設(shè)為不填寫,這樣系統(tǒng)會(huì)幫你指定預(yù)設(shè)的登入shell。
-u uiduid用戶的ID值。必須為唯一的ID值,除非用-o選項(xiàng)。數(shù)字不可為負(fù)值。預(yù)設(shè)為以/etc/login.defs中的UID_MIN的值為準(zhǔn),0到UID_MIN的值之間,為系統(tǒng)保留的UID ;
 
Linux useradd這么多的參數(shù)看上去頭有點(diǎn)暈,我們?nèi)绾斡媚???其?shí)很簡(jiǎn)單;一個(gè)參數(shù)一個(gè)參數(shù)的試一試不就明白了??這是***的學(xué)習(xí)方法。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn);如果Linux useradd后面直接跟用戶名,不加任何參數(shù),表示添加用戶時(shí)按事先/etc/default/adduser 和/etc/login.defs 添加新用戶的配置文件的規(guī)則來添加用戶;其實(shí)我們?yōu)榱朔奖?,也可以把這兩個(gè)文件修改以適合我們添加用戶需要;

Linux useradd 為什么還需要那么多的參數(shù)呢?原因很簡(jiǎn)單,主要是為了管理員方便管理用戶。Linux useradd 是靈活的,可以跳過/dev/default/adduser 和/etc/login.defs 兩個(gè)配置文件中的規(guī)則來自定義添加用戶;比如在用戶的家目錄,在/etc/default/adduser 中可能定義在/home目錄下建立,如果我們的機(jī)器/home獨(dú)立占一個(gè)分區(qū),并且有點(diǎn)緊張,但我們又不想改變/etc/default/adduser 關(guān)于家目錄的定義,這里我們就可以通過 adduser -d 參數(shù)把新增用戶家目錄定義到空間比較空閉的分區(qū);

通過下面的幾個(gè)例子,可能有助于我們理解Linux useradd ,其實(shí)很簡(jiǎn)單~,學(xué)習(xí)也是這樣,先從簡(jiǎn)單的入手,一步一步的走過來,沒有什么難的~~

實(shí)例四:
以/etc/logins.defs和/etc/default/adduser 默認(rèn)的規(guī)則添加用戶;[root@localhost ~]# useraddlongcpu注解:如果Linux useradd后面直接用戶名,表示系統(tǒng)讀取 /etc/login.defs和/etc/default/adduser 配置文件,根本這兩個(gè)配置文件所定義的規(guī)則來添加用戶,比如用戶的家目錄哪里,用什么SHELL,UID和GID的分配... ... 查看/etc/passwd的新增記錄,然后根據(jù) /etc/login.defs和/etc/default/adduser 查看新增用戶是否符合這兩個(gè)配置文件所約定的規(guī)則;

實(shí)例五:練習(xí)參數(shù)的使用;

  1. [root@localhost ~]# useradd -c ChinaCpulongcpu注:添加一個(gè)新用戶amdcpu ,使用參數(shù)-c;  
  2. [root@localhost ~]# more /etc/passwd |grep longcpu 注:查看/etc/passwd 文件,并抽取longcpu的記錄;  
  3. longcpu:x:510:510:ChinaCpu:/home/longcpu:/bin/bash 

注:看上去是已經(jīng)有amdcpu用戶了;x是密碼段;UID和GID 都是510,ChinaCpu表示是什么意思? 家目錄位于/home/amdcpu,SHELL是bash ;

  1. [root@localhost ~]# finger longcpu 注:我們查詢一下amdcpu 用戶的信息;  
  2. Login: longcpu Name: ChinaCpu 注:-c ChinaCpu 表示用戶真實(shí)的名字或全名;  
  3. Directory: /home/longcpu Shell: /bin/bash  
  4. Never logged in.  
  5. No mail.  
  6. No Plan. 

注解:這個(gè)例子,我們做了添加用戶、查看/etc/passwd 的變化; 并且通過finger 來查詢longcpu用戶的信息,目的是理解參數(shù)-c的用處;

參數(shù)-c 后面的就是就是UID:GID后面說明文字,這段文字中包括用戶真實(shí)姓名,辦公地址,辦公電話等,可以通過chfn 來更改,我們可以通過chfn 來修改用戶信息,然后查看 /etc/passwd 的變化,再來用finger 來查詢用戶信息。幾個(gè)工具組合練習(xí)一下,也容易忘記;

實(shí)例六:
自定義用戶的家目錄、SHELL類型、所歸屬的用戶組等;添加用戶longcpu,并設(shè)置其用戶真實(shí)名字為ChinaCpu,其家目錄在/opt/longcpu,讓其歸屬為用戶組 linuxsir、root、beinan成員,其SHELL類型為tcsh ;[root@localhost ~]# useradd-c ChinaCpu-d /opt/longcpu -G linuxsir,root,beinan -s /bin/tcshlongcpu

注:添加用戶longcpu ,真實(shí)名是ChinaCpu ,家目錄設(shè)置在 /opt/longcpu ,是linuxsir,root,beinan 用戶組成員, SHELL是tcsh ;

  1. [root@localhost ~]# ls -ld /opt/longcpu/ 注:是不是自動(dòng)創(chuàng)建了longcpu的家目錄?  
  2. drwxr-xr-x3 longcpu longcpu 4096 11月4 22:30 /opt/longcpu/  
  3.  
  4. [root@localhost ~]# more /etc/passwd |grep longcpu注:查看 /etc/passwd 中是否有l(wèi)ongcpu用戶記錄;  
  5. longcpu:x:510:510:ChinaCpu:/opt/longcpu:/bin/tcsh  
  6.  
  7. [root@localhost beinan]# finger longcpu注:查詢longcpu用戶的信息 ;   
  8. Login: longcpuName: ChinaCpu  
  9. Directory: /opt/longcpuShell: /bin/tcsh  
  10. Never logged in.  
  11. No mail.  
  12. No Plan.  
  13.  
  14. [root@localhost beinan]# id longcpu 注:查詢UID和GID 以及所歸屬的用戶組;  
  15. uid=510(longcpu) gid=510(longcpu) groups=510(longcpu),0(root),500(beinan),502(linuxsir)  

關(guān)于在添加新用戶時(shí)用戶組,添加用戶時(shí),如果不使用-n 參數(shù),系統(tǒng)會(huì)自動(dòng)建一個(gè)與用戶名同名的用戶組;

實(shí)例七:
練習(xí)用戶有效期限;在本例中,我們主要來看看-e參數(shù),這個(gè)參數(shù)還是比較重要的,是設(shè)定用戶的帳號(hào)什么時(shí)候過期;在本例中,我們添加了一個(gè)帳號(hào),并且設(shè)置其帳號(hào)在 2005年11月04日之前是有效的,一旦過了這個(gè)日期,便停止其登錄;

  1. [root@localhost ~]# useradd-e 11/04/2005 cooler注:添加用戶cooler,并設(shè)置其有效期為2005年11月04日;  
  2. [root@localhost ~]# passwd cooler注:設(shè)置用戶cooler密碼;  
  3. Changing password for user cooler.  
  4. New UNIX password: 注:設(shè)定cooler的密碼;  
  5. Retype new UNIX password: 注:核實(shí)設(shè)定密碼;  
  6. passwd: all authentication tokens updated successfully.注:設(shè)置成功;  

 如何驗(yàn)證-e 是不是真的有效?我寫這篇文檔的時(shí)間是 2005年11月05號(hào),所以添加這個(gè)cooler用戶肯定是過期的,就是他有密碼也不能登錄;有的弟兄會(huì)問,他把有效期的記錄放在哪里了呢?其實(shí)我們?cè)谝郧暗奈臋n中已經(jīng)說過了,是寫在/etc/shadow文件中了;請(qǐng)參考: 《用戶(user)和用戶組(group)配置文件詳解》

2、adduser 工具;

在Fedora 系統(tǒng)中,adduser和Linux useradd用法是一樣的,但在 Slackware 系統(tǒng)中 adduser 是通過人機(jī)交互的方法來添加用戶,其實(shí)和Linux useradd加各項(xiàng)參數(shù)來自定義添加用戶所達(dá)到的目的是一樣的,只不過在Slackware 中,Linux useradd是以人機(jī)交互的提問式的進(jìn)行;這樣我們沒有必要知道那么多的參數(shù),一樣可以達(dá)到自定義添加用戶;

[root@localhost ~]# adduser注:運(yùn)行adduser命令;Login name for new user []: bluemoon注:添加新用戶 bluemoon User ID ('UID') [ defaults to next available ]: 1200注:用戶的UID ,UID 是唯一的;如果有提示說被占用,就選比較大的UID ,比如1300Initial group [ users ]: users 注:初始化用戶組(或主用戶組)為users,這個(gè)用戶組也是可以自己定義的,但用戶組必須存在,如果不存在,您可以用groupadd來添加Additional groups (comma separated) []: root,beinan注:附加用戶組,這個(gè)也是自己定義的,多個(gè)用戶組之間用,號(hào)分割;Home directory [ /home/bluemoon ] 注:定義用戶的家目錄位置,也是可以自己定義的,比如/opt/bluemoon ; Shell [ /bin/bash ] 注:所用SHELL ,此處用的是bash ;

Expiry date (YYYY-MM-DD) []:注:用戶的有效日期,如果不設(shè)置就直接回車,表示從不過期;如果設(shè)置就以2005-11-05這樣的格式來輸入;
New account will be created as follows:注:創(chuàng)建的用戶情況如下;

  1. Login name.......:bluemoon  
  2. UID..............:1200  
  3. Initial group....:users  
  4. Additional groups:root  
  5. Home directory...:/home/bluemoon  
  6. Shell............:/bin/bash  
  7. Expiry date......:[ Never ]  
  8.  
  9. This is it... if you want to bail out, hit Control-C.Otherwise, press  
  10. ENTER to go ahead and make the account.   

注:在這里按回車就開始創(chuàng)建,如果認(rèn)為這樣不合理,就按CTRL+C 來中斷;

Creating new account... 這樣就創(chuàng)建好了;系統(tǒng)會(huì)自動(dòng)提示我們修改用戶的信息,比如用戶的全名、房間號(hào)、電話等...... 以及用戶的密碼;

  1. Changing the user information for bluemoon  
  2. Enter the new value, or press ENTER for the default  
  3. Full Name []: bluemoon Linux  
  4. Room Number []: 503  
  5. Work Phone []: 0411-8888888  
  6. Home Phone []: 0411-9999999  
  7. Other []:  
  8. Changing password for bluemoon  
  9. Enter the new password (minimum of 5, maximum of 127 characters)  
  10. Please use a combination of upper and lower case letters and numbers.  
  11. New password: 注:設(shè)置用戶bluemoon的密碼;  
  12. Re-enter new password:注:驗(yàn)證一次;  
  13. Password changed.注:設(shè)置密碼成功 

3、通過修改/etc/passwd 管理(添加、刪除、修改)用戶的方法;請(qǐng)參考: 《用戶(User)和用戶組(Group)配置文件詳解》

4、添加用戶組命令groupadd ;語法格式:groupadd [-g gid [-o]] [-r] [-f] group groupadd 可指定用戶組名稱來建立新的用戶組帳號(hào),需要時(shí)可從系統(tǒng)中取得新用戶組值。groupadd有下列選項(xiàng)可用。

-g后接GID值,除非使用-o參數(shù)不然該值必須是唯一,不可相同,數(shù)值不可為負(fù),預(yù)設(shè)值以/etc/login.defs為準(zhǔn);

-r此參數(shù)是用來建立系統(tǒng)帳號(hào)的GID會(huì)比定義在系統(tǒng)檔文件上/etc/login.defs 的GID_MIN來的小。注意Linux useradd此用法所建立的帳號(hào)不會(huì)建立使用者目錄,也不會(huì)紀(jì)錄在/etc/login.defs.的定義值。如果你想要有使用者目錄須額外指定-m參數(shù)來建立系統(tǒng)帳號(hào),它會(huì)自動(dòng)幫你選定一個(gè)小于的GID_MIN的值,不需要再加上-g參數(shù)。

-fThis is force flag.新增一個(gè)已經(jīng)存在的用戶組帳號(hào),系統(tǒng)會(huì)出現(xiàn)錯(cuò)誤訊息然后結(jié)束groupadd。如果是這樣的情況,不會(huì)新增這個(gè)用戶組(如果是這個(gè)情況下,系統(tǒng)不會(huì)再新增一次) 也可同時(shí)加上-g選項(xiàng),當(dāng)你加上一個(gè)GID,此時(shí)GID就不用是唯一值,可不加-o參數(shù),建好用戶組后會(huì)顯結(jié)果(adding a group as neither -g or -o options were specified)。
 
其實(shí)增加用戶組的,用起來還是簡(jiǎn)單一點(diǎn)為好;比如下面的例子,添加GID為666的用戶組google;[root@localhost ~]# groupadd -g 666 google
 
三、passwd 設(shè)置或修改用戶密碼;

1、passwd 簡(jiǎn)單說明;

我們已經(jīng)學(xué)會(huì)如何添加用戶了,所以我們還要學(xué)習(xí)設(shè)置或修改用戶的密碼;passwd命令的用法也很多,我們只選如下的幾個(gè)參數(shù)加以說明;想了解更多,請(qǐng)參考man passwd或passwd --help ;

passwd [OPTION...] passwd 作為普通用戶和超級(jí)權(quán)限用戶都可以運(yùn)行,但作為普通用戶只能更改自己的用戶密碼,但前提是沒有被root用戶鎖定;如果root用戶運(yùn)行passwd ,可以設(shè)置或修改任何用戶的密碼;passwd 命令后面不接任何參數(shù)或用戶名,則表示修改當(dāng)前用戶的密碼;請(qǐng)看下面的例子;

  1. [root@localhost ~]# passwd 注:沒有加任何用戶,我是用root用戶來執(zhí)行的passwd 表示修改root用戶的密碼;下面也有提示;  
  2. Changing password for user root.  
  3. New UNIX password:注:請(qǐng)輸入新密碼;  
  4. Retype new UNIX password:注:驗(yàn)證新密碼;  
  5. passwd: all authentication tokens updated successfully.注:修改root密碼成功; 

如果是普通用戶執(zhí)行passwd 只能修改自己的密碼;如果新建用戶后,要為新用戶創(chuàng)建密碼,則用 passwd 用戶名 ,注意要以root用戶的權(quán)限來創(chuàng)建;

  1. [root@localhost ~]# passwd beinan注:更改或創(chuàng)建beinan用戶的密碼;  
  2. Changing password for user beinan.  
  3. New UNIX password:注:請(qǐng)輸入新密碼;  
  4. Retype new UNIX password:注:再輸入一次;  
  5. passwd: all authentication tokens updated successfully.注:成功; 

普通用戶如果想更改自己的密碼,直接運(yùn)行passwd即可;比如當(dāng)前操作的用戶是beinan;

  1. [beinan@localhost ~]$ passwd  
  2. Changing password for user beinan. 注:更改beinan用戶的密碼;  
  3. (current) UNIX password: 注:請(qǐng)輸入當(dāng)前密碼;  
  4. New UNIX password: 注:請(qǐng)輸入新密碼;  
  5. Retype new UNIX password: 注:確認(rèn)新密碼;  
  6. passwd: all authentication tokens updated successfully.注:更改成功; 

2、passwd 幾個(gè)比較重要的參數(shù);

[root@localhost beinan]# passwd --help
Usage: passwd [OPTION...]
-k, --keep-tokenskeep non-expired authentication tokens 注:保留即將過期的用戶在期滿后能仍能使用;
-d, --delete delete the password for the named account (root only)注:刪除用戶密碼,僅能以root權(quán)限操作;
-l, --locklock the named account (root only)注:鎖住用戶無權(quán)更改其密碼,僅能通過root權(quán)限操作;
-u, --unlock unlock the named account (root only)注:解除鎖定;
-f, --forceforce operation 注:強(qiáng)制操作;僅root權(quán)限才能操作;
-x, --maximum=DAYSmaximum password lifetime (root only) 注:兩次密碼修正的***天數(shù),后面接數(shù)字;僅能root權(quán)限操作;
-n, --minimum=DAYSminimum password lifetime (root only)注:兩次密碼修改的最小天數(shù),后面接數(shù)字,僅能root權(quán)限操作;
-w, --warning=DAYSnumber of days warning users receives before注:在距多少天提醒用戶修改密碼;僅能root權(quán)限操作;password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an注:在密碼過期后多少天,用戶被禁掉,僅能以root操作;
account becomes disabled (root only)
-S, --status report password status on the named account (root 注:查詢用戶的密碼狀態(tài),僅能root用戶操作;only)
--stdin read new tokens from stdin (root only)
 
比如我們讓某個(gè)用戶不能修改密碼,可以用-l 參數(shù)來鎖定:

  1. [root@localhost ~]# passwd -l beinan注:鎖定用戶beinan不能更改密碼;  
  2. Locking password for user beinan.  
  3. passwd: Success注:鎖定成功;  
  4. [beinan@localhost ~]# su beinan注:通過su切換到beinan用戶;  
  5. [beinan@localhost ~]$ passwd注:beinan來更改密碼;  
  6. Changing password for user beinan.  
  7. Changing password for beinan  
  8. (current) UNIX password: 注:輸入beinan的當(dāng)前密碼;  
  9. passwd: Authentication token manipulation error注:失敗,不能更改密碼; 

再來一例:

  1. [root@localhost ~]# passwd -d beinan注:清除beinan用戶密碼;  
  2. Removing password for user beinan.  
  3. passwd: Success 注:清除成功;  
  4. [root@localhost ~]# passwd -S beinan注:查詢beinan用戶密碼狀態(tài);  
  5. Empty password.注:空密碼,也就是沒有密碼; 

注意: 當(dāng)我們清除一個(gè)用戶的密碼時(shí),登錄時(shí)就無需密碼;這一點(diǎn)要加以注意;

3、chage 修改用戶密碼有效期限的命令;

chage 用語法格式:chage [-l] [-m 最小天數(shù)] [-M ***天數(shù)] [-W 警告] [-I 失效日] [-E 過期日] [-d ***日] 用戶前面已經(jīng)說的好多了,這個(gè)只是一筆帶過吧,知道有這個(gè)命令就行,自己實(shí)踐實(shí)踐再說,大體和psswd有些參數(shù)的用法差不多;

四、刪除用戶和用戶組的工具, userdel和 groupdel 介紹;

1、userdel 用法;

userdel 的語法格式:userdel [-r] 名稱 userdel很簡(jiǎn)單,只有一個(gè)參數(shù)可選 -r ;如果加參數(shù)-r ,表示在刪除用戶的同時(shí),一并把用戶的家目錄及本地郵件存儲(chǔ)的目錄或文件也一同刪除;比如我們現(xiàn)在有兩個(gè)用戶bnnb和lanhaitun,其家目錄都位于/home目錄中,現(xiàn)在我們來刪除這兩個(gè)用戶;

  1. [root@localhost ~]# userdel bnnb注:刪除用戶bnnb,但不刪除其家目錄及文件;  
  2. [root@localhost ~]# ls -ld /home/bnnb注:查看其家目錄是否存在;  
  3. drwxr-xr-x14 501 501 40968月 29 16:33 /home/bnnb注:存在;  
  4.  
  5. [root@localhost ~]# ls -ld /home/lanhaitun 注:查看lanhaitun家目錄是否存在;  
  6. drwx------4 lanhaitun lanhaitun 4096 11月5 14:50 /home/lanhaitun 注:存在;  
  7. [root@localhost ~]# userdel -rlanhaitun注:刪除用戶lanhaitun,其家目錄及文件一并刪除;   
  8. [root@localhost ~]# ls -ld /home/lanhaitun注:查看是否在刪除lanhaitun 用戶的同時(shí),也一并把其家目錄和文件一同刪除;  
  9. ls: /home/lanhaitun: 沒有那個(gè)文件或目錄注:已經(jīng)刪除; 


警告: 請(qǐng)不要輕易用-r參數(shù);他會(huì)刪除用戶的同時(shí)刪除用戶所有的文件和目錄,切記;如果用戶目錄下有重要的文件,在刪除前請(qǐng)備份;

其實(shí)也有最簡(jiǎn)單的辦法,但這種辦法有點(diǎn)不安全,也就是直接在/etc/passwd中刪除您想要?jiǎng)h除用戶的記錄;但***不要這樣做,/etc/passwd 是極為重要的文件,可能您一不小心會(huì)操作失誤;

2、groupdel的用法;groupdel 是用來刪除用戶組的;語法格式:groupdel 用戶組比如:[root@localhost ~]# groupdel lanhaitun

五、修改用戶的工具介紹;

我們前面已經(jīng)多次說過用戶配置文件的重要性了,其實(shí)我們無論怎么改,都是改與用戶相關(guān)的配置文件;如果我們與用戶相關(guān)的配置文件的規(guī)則,可以直接修改配置文件,在這里就不再多說了,請(qǐng)參看相關(guān)文檔吧,謝謝;

1、chfn 修改用戶信息工具;

chfn 這個(gè)工具主要是用來改用戶的全名,辦公室地址,電話之類的;用法如下:chfn [ -f full-name ][ -o office ][ -p office-phone ][ -h home-phone ] [ -u ] [ -v ] [ username ]最簡(jiǎn)單的方法是chfn 用戶名

  1. [root@localhost ~]# chfn beinanlinux注:更改用戶beinanlinux的信息;  
  2. Changing finger information for beinanlinux.   
  3. Name []: BeiNan.Linux注:用戶全名BeiNan.Linux ,隨便寫一個(gè)就行;  
  4. Office []: ChinaDL  
  5. Office Phone []: 66666666  
  6. Home Phone []: 99999999  
  7. Finger information changed.注:更改完成; 

我們?cè)趺茨苤栏暮昧四???可以通過finger 或直接查看/etc/passwd文件;

  1. [root@localhost ~]# finger beinanlinux  
  2. Login: beinanlinux Name: BeiNan.Linux  
  3. Directory: /home/beinanlinux Shell: /bin/bash  
  4. Office: ChinaDLHome Phone: 99999999  
  5. Last login Sat Nov5 11:27 (CST) on tty2  
  6. No mail.  
  7. No Plan.  
  8.    
  9. chfn 究竟改了/etc/passwd 文件中beinanlinux用戶的哪部份呢??  
  10. [root@localhost ~]# more /etc/passwd |grep beinanlinux  
  11. beinanlinux:x:509:509:BeiNan.Linux,ChinaDL,66666666,99999999:/home/beinanlinux:/bin/bash 

通過more /etc/passwd ,然后來抽取 beinanlinux記錄,看一下紅字標(biāo)出的,就是我們通過chfn 修改過的地方,所以我們可以直接通過修改/etc/passwd文件來達(dá)到目的;

2、chsh 改變用戶的SHELL類型;

  1. [root@localhost ~]# chsh --help  
  2. Usage: chsh [ -s shell ] [ --list-shells ] [ --help ] [ --version ] [ username ] 

如果chsh 不加任何參數(shù)及用戶名的情況下,默認(rèn)為更改當(dāng)前操作用戶的SHELL類型;

舉例說明:

  1. [root@localhost ~]# chsh --list-shells注:列出當(dāng)前系統(tǒng)中所有的SHELL;  
  2. /bin/sh  
  3. /bin/bash  
  4. /sbin/nologin 注:這個(gè)是不允許用戶登錄系統(tǒng)所用,是極為有用的;您可以通過查看/etc/passwd 中看哪些用戶是nologin;  
  5. /bin/ksh  
  6. /bin/tcsh  
  7. /bin/csh  
  8. /bin/zsh  
  9.  
  10. [root@localhost ~]# finger beinanlinux |grep Shell注:查看用戶beinanlinux 所用的SHELL類型;  
  11. Directory: /home/beinanlinux Shell: /bin/bash 注:beinanlinux用的是bash ;  
  12.  
  13. [root@localhost ~]# chsh -s /bin/ksh beinanlinux注:更改beinanlinux所用的shell 為ksh ;  
  14. Changing shell for beinanlinux.  
  15. Shell changed. 注:更改完成;  
  16. [root@localhost ~]# finger beinanlinux |grep Shell注:再次查詢beinanlinux所用的SHELL;  
  17. Directory: /home/beinanlinux Shell: /bin/ksh注:看來已經(jīng)改過來了;  

chsh 還是有用的,特加是不允許用戶登錄時(shí),我們可以把用戶的SHELL改到 /sbin/nologin;系統(tǒng)中一些虛擬用戶大多是不能登錄系統(tǒng)的,這對(duì)于系統(tǒng)安全來說是極為重要;通過下面的命令查看一下系統(tǒng)中哪些用戶是沒有登錄權(quán)限的?[root@localhost ~]# more /etc/passwd |grep nologin

3、usermod 用戶修改工具(極其強(qiáng)大)

usermod 不僅能改用戶的SHELL類型,所歸屬的用戶組,也能改用戶密碼的有效期,還能改登錄名。usermod 如此看來就是能做到用戶帳號(hào)大轉(zhuǎn)移;比如我把用戶A改為新用戶B;
usermod[-u uid [-o]] [-g group] [-G group,...]
[-d 主目錄 [-m]] [-s shell] [-c 注釋] [-l 新名稱]
[-f 失效日] [-e 過期日] [-p 密碼] [-L|-U] 用戶名
 
usermod 命令會(huì)參照你命令列上指定的部份修改系統(tǒng)帳號(hào)檔。下列為usermod可選用的參數(shù)。
-c comment更新用戶帳號(hào)password檔中的注解欄,一般是使用chfn(1)來修改。
-d home_dir更新用戶新的登入目錄。如果給定-m選項(xiàng),用戶舊目錄會(huì)搬到新的目錄去,如舊目錄不存在則建個(gè)新的。
-e expire_date 加上用戶帳號(hào)停止日期。日期格式為MM/DD/YY.
-f inactive_days 帳號(hào)過期幾日后***停權(quán)。當(dāng)值為0時(shí)帳號(hào)則立刻被停權(quán)。而當(dāng)值為-1時(shí)則關(guān)閉此功能。預(yù)設(shè)值為-1。
-g initial_group 更新用戶新的起始登入用戶組。用戶組名須已存在。用戶組ID必須參照既有的的用戶組。用戶組ID預(yù)設(shè)值為1。
-G group,[...] 定義用戶為一堆groups的成員。每個(gè)用戶組使用","區(qū)格開來,不可以夾雜空白字元。用戶組名同-g選項(xiàng)的限制。
如果用戶現(xiàn)在的用戶組不再此列,則將用戶由該用戶組中移除。
-l login_name變更用戶login時(shí)的名稱為login_name。其它不變。特別是,用戶目錄名應(yīng)該也會(huì)跟著更動(dòng)成新的登入名。
-s shell指定新登入shell。如此欄留白,系統(tǒng)將選用系統(tǒng)預(yù)設(shè)shell。
-u uid用戶ID值。必須為唯一的ID值,除非用-o選項(xiàng)。數(shù)字不可為負(fù)值。預(yù)設(shè)為最小不得小于/etc/login.defs中定義的UID_MIN值。0到UID_MIN值之間是傳統(tǒng)上保留給系統(tǒng)帳號(hào)使用。用戶目錄樹下所有的檔案目錄其userID會(huì)自動(dòng)改變。放在用戶目錄外的檔案則要自行手動(dòng)更動(dòng)。

警告:usermod不允許你改變正在線上的用戶帳號(hào)名稱。當(dāng)usermod用來改變userID,必須確認(rèn)這名user沒在電腦上執(zhí)行任何程序。你需手動(dòng)更改用戶的crontab檔。也需手動(dòng)更改用戶的at工作檔。采用NISserver須在server上更動(dòng)相關(guān)的NIS設(shè)定。
 
舉個(gè)簡(jiǎn)單的例子,我們?cè)谇懊嬲f了關(guān)于Linux useradd的工具,而usermod 工具和Linux useradd的參數(shù)差不多;兩者不同之處在于Linux useradd是添加,usermod 是修改;[root@localhost ~]# usermod -d /opt/linuxfish -m -l fishlinux -U linuxfish注:把linuxfish 用戶名改為fishlinux ,并且把其家目錄轉(zhuǎn)移到 /opt/linuxfish ;

[root@localhost ~]# ls -la /opt/linuxfish/ 注:查看用戶fishlinux的家目錄下的文件及屬主;總用量 48

  1. drwxr-xr-x 3 fishlinux linuxfish 4096 11月5 16:46 .  
  2. drwxrwxrwx29 rootroot4096 11月5 16:48 ..  
  3. -rw-r--r-- 1 fishlinux linuxfish 24 11月5 16:46 .bash_logout  
  4. -rw-r--r-- 1 fishlinux linuxfish191 11月5 16:46 .bash_profile  
  5. -rw-r--r-- 1 fishlinux linuxfish124 11月5 16:46 .bashrc  
  6. -rw-r--r-- 1 fishlinux linuxfish 5619 11月5 16:46 .canna  
  7. -rw-r--r-- 1 fishlinux linuxfish438 11月5 16:46 .emacs  
  8. -rw-r--r-- 1 fishlinux linuxfish120 11月5 16:46 .gtkrc  
  9. drwxr-xr-x 3 fishlinux linuxfish 4096 11月5 16:46 .kde  
  10. -rw-r--r-- 1 fishlinux linuxfish0 11月5 16:46 mydoc.txt  
  11. -rw-r--r-- 1 fishlinux linuxfish658 11月5 16:46 .zshrc 

[root@localhost ~]# more/etc/passwd |grep fishlinux注:查看有關(guān)fishlinux的記錄;fishlinux:x:512:512::/opt/linuxfish:/bin/bash通過上面的例子,我們發(fā)現(xiàn)文件的用戶組還沒有變,如果您想改變?yōu)閒ishlinux用戶組,如果想用通過 usermod來修改,就要先添加fishlinux用戶組;然后用usermod -g 來修改 ,也可以用chown -R fishlinux:fishlinux /opt/finshlinux 來改;

警告: usermod ***不要用它來改用戶的密碼,因?yàn)樗?etc/shadow中顯示的是明口令;修改用戶的口令***用passwd ;
[root@localhost ~]# usermod -p 123456 fishlinux注:修改fishlinux的口令是123456 ;
[root@localhost ~]# more /etc/shadow |grep fishlinux注:查詢/etc/shadow文件中fishlinux的口令;我們看到明顯是沒有加密;
fishlinux:123456:13092:0:99999:7:::
 
4、userinfo 圖形介面的修改工具;userinfo 系統(tǒng)普通用戶都能調(diào)用,但都是修改當(dāng)前操作用戶的;還是點(diǎn)鼠標(biāo)完成吧,多點(diǎn)幾下就OK了。[root@localhost ~]# userinfo
 
六、后記;

本文檔勉強(qiáng)有了個(gè)形,修正是肯定的了;在修正的同時(shí),我會(huì)計(jì)劃與下一篇文檔,可能會(huì)寫文件與權(quán)限方面的。但愿我能堅(jiān)持?。簧羁偸强菰锏模@并不會(huì)影響我寫文檔的心情。每當(dāng)寫完一個(gè)文檔,雖然僅有幾個(gè)弟兄支持,但我還是很開心。我整天自以為是大俠了,大俠只是我的一個(gè)夢(mèng)想吧。誰讓我學(xué)的是文科呢?

七、關(guān)于本文;

本文寫起來比超級(jí)權(quán)限控制那篇文檔要容易點(diǎn),畢竟只是用戶控制工具的介紹;從文字量來看好象很大,但文字量的大小并不能說明什么問題,只有初學(xué)者能讀得懂才是好文檔。由于篇幅較長,我會(huì)慢慢修正,當(dāng)然弟兄們的修正,我是極為歡迎的,謝謝;

【編輯推薦】

  1. Linux Makefile自動(dòng)生成的運(yùn)行步驟
  2. Linux服務(wù)器安裝下載所需的軟件與安裝和配置
  3. Fedora Core 8安裝在Linux系統(tǒng)下定制與配置開發(fā)環(huán)境
  4. Novell Linux守得云開 稱與微軟協(xié)議關(guān)系不大
  5. Linux系統(tǒng)單用戶多任務(wù)多用戶多任務(wù)
責(zé)任編輯:佚名 來源: CSDN
相關(guān)推薦

2010-03-01 15:26:18

Linux配置文件

2010-03-02 15:28:51

Linux系統(tǒng)用戶

2010-02-26 14:46:56

Linux user

2010-02-04 13:43:26

Linux vsFTP

2011-01-13 16:27:26

Linux配置文件

2010-03-30 18:04:45

Nginx http服

2010-05-05 16:14:09

Unix管理

2010-11-12 09:44:59

Cassandra配置

2010-01-15 12:01:55

CentOS Linu

2023-10-30 15:11:57

2009-12-21 11:19:50

WCF配置文件

2009-08-18 10:56:40

Linux網(wǎng)卡配置Linux網(wǎng)卡配置

2022-06-06 08:47:32

Ansible配置文件

2014-03-14 13:29:24

VDI配置文件

2010-01-07 17:16:19

Ubuntu MySQ

2010-03-01 14:46:41

Linux hostn

2020-01-07 09:20:58

Linuxuseradd 命令

2011-03-25 17:13:37

Nagios配置文件

2011-02-25 16:39:34

proftpd配置文件

2010-01-12 16:50:07

Linux minig
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)