Linux用戶(hù)和組管理

眾所周知耻讽,Linux是一個(gè)多用戶(hù)、多任務(wù)(Multi-Tasks闸拿、Multi-Users)的操作系統(tǒng)。那么Linux是如何區(qū)分和認(rèn)證用戶(hù)的书幕,系統(tǒng)對(duì)每個(gè)用戶(hù)的授權(quán)是如何管理的新荤,出現(xiàn)問(wèn)題如何追溯每個(gè)用戶(hù)在系統(tǒng)內(nèi)的操作記錄,等等按咒,這些就涉及到Linux中用戶(hù)和組的管理。

  1. AAA介紹
  2. Linux用戶(hù)類(lèi)別
  3. Linux用戶(hù)標(biāo)識(shí)(UID)
  4. Linux組類(lèi)別
  5. Linux組標(biāo)識(shí)(GID)
  6. Linux中用戶(hù)和組的相關(guān)數(shù)據(jù)庫(kù)文件
  7. Linux用戶(hù)和組管理命令
    (1) groupadd命令
    (2) groupmod命令
    (3) groupdel命令
    (4) useradd命令
    (5) usermod命令
    (6) userdel命令
    (7) passwd命令
    (8) gpasswd命令
    (9) newgrp命令
    (10) chage命令
    (11) id命令
    (12) su命令
    (13) 其它幾個(gè)用戶(hù)和組管理相關(guān)命令
  8. Linux用戶(hù)和組管理命令的相關(guān)示例
  9. 通過(guò)更改用戶(hù)和組的配置文件但骨,直接添加或修改用戶(hù)和組

首先介紹以下AAA励七。

1、AAA介紹

AAA指的是Authentication奔缠、Authorization掠抬、Accounting,即認(rèn)證校哎、授權(quán)和審計(jì)两波。

  • 認(rèn)證:驗(yàn)證用戶(hù)是否可以獲得權(quán)限,是3A的第一步闷哆,即驗(yàn)證身份腰奋;
  • 授權(quán):授權(quán)用戶(hù)可以使用那些服務(wù)或資源,即身份驗(yàn)證成功后抱怔,賦予這個(gè)身份相應(yīng)的權(quán)限劣坊;
  • 審計(jì):記錄用戶(hù)的操作情況,在Linux中屈留,日志就是審計(jì)的一種手段局冰。

Linux的用戶(hù)和組管理可以說(shuō)是基于AAA進(jìn)行的,首先用戶(hù)登錄輸入用戶(hù)名密碼灌危,就是認(rèn)證的過(guò)程康二;其次,在用戶(hù)登錄成功后勇蝙,所擁有的權(quán)限各不相同沫勿,這就是授權(quán);最后味混,用戶(hù)的操作歷史會(huì)記錄在日志中藕帜,這是審計(jì)。
接下來(lái)介紹Linux中用戶(hù)和組的類(lèi)別惜傲,以及Linux是如何標(biāo)識(shí)每個(gè)用戶(hù)和組的:

2洽故、Linux用戶(hù)類(lèi)別

Linux中,用戶(hù)分為兩大類(lèi)盗誊、三小類(lèi):
分別為管理員(一般為root)和普通用戶(hù) 时甚。
普通用戶(hù)中隘弊,又劃分為兩類(lèi),分別為系統(tǒng)用戶(hù)登錄用戶(hù)荒适。

  • 管理員
    即超級(jí)用戶(hù)梨熙,可以操作系統(tǒng)中任意文件和命令,擁有最高的管理權(quán)限刀诬。
    Tips:一般情況下盡量不要使用root登錄系統(tǒng)咽扇,避免誤操作。
  • 普通用戶(hù)
    又分為登錄用戶(hù)和系統(tǒng)用戶(hù):
    • 登錄用戶(hù)
      一般為管理員手動(dòng)添加的用戶(hù)陕壹,默認(rèn)僅擁有操作自身家目錄中文件及目錄的權(quán)限质欲,以及進(jìn)入與瀏覽相關(guān)目錄文件的權(quán)限(如/etc、/var/log等)糠馆,但沒(méi)有創(chuàng)建嘶伟、修改、刪除等權(quán)限又碌。
    • 系統(tǒng)用戶(hù)
      一般為系統(tǒng)安裝后默認(rèn)存在的九昧,且默認(rèn)情況下不能登錄系統(tǒng),它們的存在主要是為了滿(mǎn)足系統(tǒng)進(jìn)程對(duì)文件屬主的需求毕匀。
      Tips:在部署某些服務(wù)是铸鹰,也可以手動(dòng)添加某些系統(tǒng)用戶(hù)。

3皂岔、Linux用戶(hù)標(biāo)識(shí)(UID)

Linux系統(tǒng)使用UID(User ID)來(lái)標(biāo)識(shí)不同用戶(hù)掉奄。
UID是16bits的二進(jìn)制數(shù)字,所以換算成十進(jìn)制凤薛,UID的范圍是0~65535姓建,Linux根據(jù)用戶(hù)類(lèi)別,對(duì)UID劃分做了規(guī)定:

  • 管理員
    UID為0
    Tips:當(dāng)用戶(hù)UID為0時(shí)缤苫,該用戶(hù)就是管理員速兔,所以不只root才是管理員,可以手動(dòng)指定活玲,但不建議涣狗。
  • 普通用戶(hù)(1~65535)
    • 系統(tǒng)用戶(hù)
      一般發(fā)行版為1499(CentOS7為1999)
    • 登錄用戶(hù)
      一般發(fā)行版為50065535(CentOS7為100065535)

Tips:Linux是根據(jù)“名稱(chēng)解析庫(kù)”(/etc/passwd)來(lái)進(jìn)行用戶(hù)名和UID的解析的,后面會(huì)詳細(xì)介紹Linux中用戶(hù)和組的相關(guān)信息庫(kù)文件舒憾。

4镀钓、Linux組類(lèi)別

Linux對(duì)組有三種劃分方法:

  • 第一種組類(lèi)別,和用戶(hù)劃分類(lèi)似镀迂,兩大類(lèi)三小類(lèi)
    • 管理員組
    • 普通用戶(hù)組(包括系統(tǒng)用戶(hù)組和登錄用戶(hù)組)
  • 第二種組類(lèi)別
    • 用戶(hù)的基本組(主組)
      用戶(hù)必須有且只能有一個(gè)基本組丁溅。
    • 用戶(hù)的附加組 (附屬組)
      用戶(hù)可以有0個(gè)、1個(gè)或多個(gè)附加組探遵。
      基本組和附加組就比如窟赏,每個(gè)人有一個(gè)用來(lái)安家的房子(基本組)妓柜,還可以有N個(gè)用于投資的房子(附屬組)。
  • 第三種組類(lèi)別
    • 私有組
      每新建一個(gè)用戶(hù)涯穷,如果不指定-g參數(shù)棍掐,都會(huì)自動(dòng)創(chuàng)建一個(gè)和用戶(hù)名同名的組,且組內(nèi)只包含用戶(hù)本身拷况。
    • 公共組
      組內(nèi)可包含多個(gè)用戶(hù)作煌。

5、Linux組標(biāo)識(shí)(GID)

Linux系統(tǒng)使用GID(Group ID)來(lái)標(biāo)識(shí)不同組赚瘦。
GID的劃分和UID相同粟誓,這里不再贅述。

6蚤告、Linux中用戶(hù)和組的相關(guān)數(shù)據(jù)庫(kù)文件

Linux中努酸,與用戶(hù)和組相關(guān)的信息主要存儲(chǔ)在/etc/passwd服爷、/etc/shadow杜恰、/etc/group三個(gè)文件中(存儲(chǔ)格式中各字段用:分隔):

  • /etc/passwd:存儲(chǔ)用戶(hù)賬戶(hù)信息
    存儲(chǔ)格式為,name:password:UID:GID:comment:directory:shell
    • name:用戶(hù)登錄名仍源;
    • password:用戶(hù)口令,用占位符x表示;
    • UID:用戶(hù)ID倍试,用戶(hù)登錄時(shí)谷市,系統(tǒng)根據(jù)UID,而非用戶(hù)名來(lái)識(shí)別用戶(hù)嚎于;
    • GID:用戶(hù)所屬的主組ID掘而;
    • comment:用戶(hù)的注釋信息;
    • directory:用戶(hù)家目錄的絕對(duì)路徑于购;
    • shell:用戶(hù)的默認(rèn)shell袍睡。
  • /etc/shadow:存儲(chǔ)用戶(hù)密碼信息
    存儲(chǔ)格式為,
    登錄名:$加密算法$salt$加密了的密碼:最后一次更改密碼的日期:密碼最小期限:密碼最大期限:密碼警告時(shí)間段:密碼禁用期:賬戶(hù)過(guò)期日期:保留字段
    • 字段1:name用戶(hù)登錄名肋僧;
    • 字段2:加密的密碼斑胜,$為分隔符,首先是使用的加密算法嫌吠,其次是salt(隨機(jī)數(shù))止潘,最后才是加密了的密碼本身;
    • 字段3:從1970年1月1日算起辫诅,密碼被修改的天數(shù)(最近一次更改密碼)凭戴;
    • 字段4:密碼最小期限,即密碼最近更改日期到下次允許更改日期之間的天數(shù)(比如設(shè)置為10炕矮,則表示更改密碼后10天內(nèi)不允許再次更改簇宽;0表示無(wú)限制勋篓,可在任何時(shí)間修改);
    • 字段5:密碼最大期限魏割,密碼最近更改日期到系統(tǒng)強(qiáng)制用戶(hù)更改密碼日期之間的天數(shù)(比如設(shè)置為100譬嚣,則表示更改密碼后100天,系統(tǒng)將強(qiáng)制要求再次更改密碼钞它;1表示永不修改)拜银;
    • 字段6:密碼警告時(shí)間段,密碼過(guò)期前遭垛,用戶(hù)被警告的天數(shù)(比如尼桶,上個(gè)例子設(shè)置密碼最大期限為100,密碼警告時(shí)間段設(shè)為5锯仪,則表示更改密碼后第96-100這5天泵督,用戶(hù)將被警告“密碼即將過(guò)期”;-1表示沒(méi)有警告)庶喜;
    • 字段7:密碼禁用期小腊,密碼過(guò)期后,到系統(tǒng)自動(dòng)禁用賬戶(hù)的天數(shù)(-1表示永遠(yuǎn)不會(huì)禁用)久窟;
    • 字段8:賬戶(hù)過(guò)期日期(-1表示該賬戶(hù)被啟用)秩冈;
    • 字段9:保留條目,目前沒(méi)用斥扛。
  • /etc/group:存儲(chǔ)用戶(hù)組信息
    存儲(chǔ)格式為入问,group_name:password:GID:user_list
    • group_name:組名;
    • password:用戶(hù)組的口令稀颁,用占位符x表示芬失,一般Linux用戶(hù)組都沒(méi)有口令;
    • GID:組ID匾灶;
    • user_list:用戶(hù)列表棱烂,注意,這里列出的是以該組為附加組的用戶(hù)列表粘昨,以此組為主組的用戶(hù)沒(méi)有列在此處垢啼。

7、Linux用戶(hù)和組管理命令

  • 組管理:groupadd张肾,groupmod芭析,groupdel
  • 用戶(hù)管理:useradd,usermod吞瞪,userdel
  • 密碼管理:passwd馁启,gpasswd
  • 其它相關(guān)命令:newgrp,chage,chsh惯疙,id翠勉,su

(1) groupadd命令

  • groupadd - create a new group
    新建組

  • groupadd [options] group

    • -g GID:指定GID:默認(rèn)是上一個(gè)組的GID+1
    • -r:創(chuàng)建系統(tǒng)組
  • 例如,現(xiàn)在創(chuàng)建名為mygroup1和mygroup2兩個(gè)組霉颠,查看其GID对碌,分別為1000和1001,GID加1:
    [root@localhost ~]# groupadd mygroup1;groupadd mygroup2
    [root@localhost ~]# tail -2 /etc/group
    mygroup1:x:1000:
    mygroup2:x:1001:

  • 再創(chuàng)建一個(gè)名為mygroup3的組蒿偎,指定其GID為2222:
    [root@localhost ~]# groupadd -g 2222 mygroup3
    [root@localhost ~]# tail -1 /etc/group
    mygroup3:x:2222:

(2) gourpmod命令

  • groupmod - modify a group definition on the system
    更改用戶(hù)組屬性
  • groupmod [options] GROUP
    • -g GID:--gid GID:修改GID
    • -n NEW_NAME朽们,修改組名
  • 例如:將mygroup1的GID改為1111,組名改為MYGROUP:
    [root@localhost ~]# groupmod -g 1111 -n MYGOURP mygroup1
    [root@localhost ~]# tail -1 /etc/group
    MYGOURP:x:1111:

(3) groupdel命令

  • groupdel - delete a group
    刪除組
  • groupdel [options] GROUP
  • 當(dāng)某user以某group為主組時(shí)诉位,是無(wú)法使用groupdel命令刪除該group的骑脱,但附加組不受影響
    [root@localhost ~]# useradd user2 -g mygroup2 \\創(chuàng)建user2用戶(hù),指定主組為mygroup2
    [root@localhost ~]# groupdel mygroup2 \\刪除mygroup2
    groupdel: cannot remove the primary group of user 'user2' \\提示無(wú)法刪除
    [root@localhost ~]# useradd user3 -G mygroup3 \\新建user3用戶(hù)苍糠,添加附加組mygroup3
    [root@localhost ~]# groupdel mygroup3 \\直接刪除

(4) useradd命令

  • useradd - create a new user or update default new user information
    新建用戶(hù)或修改新建用戶(hù)時(shí)的默認(rèn)屬性

  • useradd [options] LOGIN

    • -u UID:--uid UID:指定UID叁丧,默認(rèn)是上一個(gè)用戶(hù)UID+1
    • -g GROUP:--gid GROUP:指定用戶(hù)的基本組,此組必須事先存在
    • -G:--groups GROUP1,GROUP2...岳瞭,指定用戶(hù)的附加組拥娄,這些組必須事先存在
    • -c COMMENT:--comment COMMENT:添加注釋
    • -d:--home HOME_DIR:指定用戶(hù)家目錄,通過(guò)復(fù)制/etc/skel并重命名實(shí)現(xiàn)的寝优,指定的家目錄路徑如果事先存在条舔,則不會(huì)為用戶(hù)復(fù)制環(huán)境初始化配置文件(如.bashrc等)
    • -s:--shell SHELL:指定用戶(hù)默認(rèn)shell枫耳,可用的所有shell列表存儲(chǔ)在/etc/shells文件中
    • -r:--system:創(chuàng)建系統(tǒng)用戶(hù)
  • 例如乏矾,創(chuàng)建suse用戶(hù),指定其UID為1100迁杨,指定其主組/基本組為slackware钻心,指定附加組為group1,group2铅协,添加注釋“slackware management”捷沸,指定家目錄為/home/susehome,默認(rèn)shell為/bin/zsh:
    [root@localhost ~]# useradd -u 1100 -g slackware -G "group1,group2" -c "slackware management" -d /home/susehome -s /bin/zsh suse
    [root@localhost ~]# tail -1 /etc/passwd
    suse:x:1100:2224:slackware management:/home/susehome:/bin/zsh

  • 這里-d指明的家目錄事先不存在狐史,所以會(huì)將骨架信息復(fù)制過(guò)來(lái):
    [root@localhost susehome]# ls -A /home/susehome/
    .bash_logout .bash_profile .bashrc .mozilla

  • 如果指定的家目錄事先存在痒给,則不會(huì)從/etc/skel復(fù)制信息:
    [root@localhost home]# mkdir /home/suse2home
    [root@localhost home]# useradd -d /home/suse2home suse2
    useradd: warning: the home directory already exists.
    Not copying any file from skel directory into it.
    [root@localhost home]# ls -A /home/suse2home
    [root@localhost home]#

  • useradd -D [options]:顯示或修改用戶(hù)創(chuàng)建時(shí)的默認(rèn)配置屬性
    用戶(hù)創(chuàng)建時(shí)的配置屬性如下:

    • GROUP:是否創(chuàng)建用戶(hù)私有組,默認(rèn)100骏全,是
    • HOME:家目錄起始位置苍柏,默認(rèn)/home
    • INACTIVE:密碼過(guò)期到用戶(hù)注銷(xiāo)的時(shí)間,默認(rèn)-1姜贡,不注銷(xiāo)
    • EXPIRE:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    • SHELL:默認(rèn)shell试吁,默認(rèn)為xxxxxxxxxxxxxxxxxxx
    • SKEL:從哪復(fù)制用戶(hù)骨架信息,默認(rèn)/etc/skel
    • CREATE_MAIL_SPOOL:是否創(chuàng)建郵件目錄楼咳,默認(rèn)yes熄捍,(在/var/spool/mail/)
  • Tips:

    • 創(chuàng)建用戶(hù)時(shí)的諸多默認(rèn)配置保存在/etc/login.defs文件中烛恤;
    • useradd -D 修改的配置結(jié)果保存在/etc/default/useradd文件中。
  • useradd -D顯示的內(nèi)容
    [root@localhost home]# useradd -D
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes

  • /etc/default/useradd文件中的內(nèi)容:
    [root@localhost mail]# cat /etc/default/useradd
    # useradd defaults file
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes

(5) usermod命令

  • usermod - modify a user account
    修改用戶(hù)屬性
  • usermod [options] LOGIN
    和useradd的選項(xiàng)大致相同
    • -u UID:--uid UID:修改UID
    • -g GROUP:--gid GROUP:修改用戶(hù)的基本組余耽,此組必須事先存在
    • -G:--groups GROUP1,GROUP2...缚柏,修改用戶(hù)的附加組,這些組須事先存在碟贾。
      注意船惨,原來(lái)的附加組會(huì)被覆蓋。
      如果只添加不覆蓋缕陕,則配合使用-a選項(xiàng)粱锐。
    • -a:--append:與-G一同使用,添加用戶(hù)的附加組
    • -c COMMENT:--comment COMMENT:修改注釋
    • -d:--home HOME_DIR:修改用戶(hù)家目錄
      用戶(hù)原有的文件不會(huì)被轉(zhuǎn)移至新位置扛邑。
      如果需要轉(zhuǎn)移怜浅,則配合使用-m選項(xiàng)。
    • -m:--move-home:只能與-d選項(xiàng)一同使用蔬崩,用于將原來(lái)的家目錄移動(dòng)為新的家目錄恶座。
    • -l:--login NEW_LOGIN:修改用戶(hù)登錄名
    • -s:--shell SHELL:修改用戶(hù)默認(rèn)shell
    • -L:--lock:鎖定用戶(hù)的密碼,即禁止用戶(hù)登錄沥阳。
      其實(shí)就是在/etc/passwd文件中用戶(hù)原來(lái)的密碼字符串前添加一個(gè)“!”跨琳,使其不能匹配。
    • -U:--unlock:解鎖用戶(hù)的密碼
  • usermod的常用選項(xiàng)和useradd相同桐罕,只需注意-d和-G兩個(gè)選項(xiàng)
    • 例如只修改suse用戶(hù)的家目錄為/home/suse_newhome脉让,不移動(dòng)之前家目錄的內(nèi)容,則用-d選項(xiàng)(此目錄須事先存在功炮,否則只是更改了/etc/passwd中的記錄溅潜,實(shí)際的目錄是不會(huì)自動(dòng)創(chuàng)建的):
      [root@localhost ~]# mkdir /home/suse_newhome
      [root@localhost ~]# usermod -d /home/suse_newhome suse
      [root@localhost ~]# ls -A /home/suse_newhome/
      [root@localhost ~]#
    • 如果想修改家目錄的同時(shí),移動(dòng)以前家目錄的內(nèi)容薪伏,則將-d和-m選項(xiàng)同時(shí)使用(這里要注意一下滚澜,目標(biāo)目錄不要事先存在,否則和只用-d的效果是一樣的):
      [root@localhost ~]# rm -rf /home/suse_newhome/ \\這里先刪除之前創(chuàng)建的目錄
      [root@localhost ~]# usermod -md /home/suse_newhome suse
      [root@localhost ~]# cd ~suse
      [root@localhost suse_newhome]# ls -A
      .bash_logout .bash_profile .bashrc .mozilla

(6) userdel命令

  • userdel - delete a user account and related files
    刪除用戶(hù)賬戶(hù)和相關(guān)文件
  • userdel [options] LOGIN
    • -r:刪除用戶(hù)時(shí)一并刪除用戶(hù)家目錄
  • userdel命令只需注意加不加-r選項(xiàng)的區(qū)別就可以嫁怀,-r會(huì)在刪除用戶(hù)的同時(shí)设捐,刪除和用戶(hù)相關(guān)的家目錄和郵件文件。

(7) passwd命令

  • passwd - update user's authentication tokens
  • passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
    • passwd:不帶任何選項(xiàng):修改當(dāng)前登錄用戶(hù)自己的密碼
    • passwd USER:修改指定用戶(hù)的密碼塘淑,默認(rèn)僅root用戶(hù)有此權(quán)限
    • -l:--lock:鎖定用戶(hù)
    • -u:--unlock:解鎖用戶(hù)
    • -d:--delete:清除用戶(hù)密碼
    • -e:--expire DATE:過(guò)期期限(日期)
    • -i:--inactive DAYS:非活動(dòng)期限(時(shí)長(zhǎng))
    • -n:--minimum DAYS:密碼的最短使用期限
    • -m:--maximum DAYS:密碼的最長(zhǎng)使用期限
    • -w:--warning DAYS:警告期限
  • tips:
    • 修改密碼也可以用如下命令:
      echo "PASSWORD" | passwd --stdin USER \\多用于shell腳本中

(8) gpasswd命令

  • gpasswd - administer /etc/group and /etc/gshadow
  • gpasswd [option] group
    • -a:--add USER:向組中添加用戶(hù)
    • -d:--delete USER:從組中移除用戶(hù)
  • tips:
    • 組密碼文件:/etc/gshadow
    • 組一般是沒(méi)有密碼的萝招,給組設(shè)定密碼的作用:避免用戶(hù)隨意切換基本組。
      • newgrp GROUP:臨時(shí)切換當(dāng)前用戶(hù)的基本組(exit:切換回之前的基本組)

(9) newgrp命令

  • newgrp - log in to a new group
  • newgrp [-] [group]
    • -:會(huì)模擬用戶(hù)重新登錄朴爬,以實(shí)現(xiàn)重新初始化其工作環(huán)境
    • exit:切換回去
  • 例如即寒,將root用戶(hù)的主組臨時(shí)切換為group1:
    [root@localhost ~]# id -gn
    root
    [root@localhost ~]# newgrp - group1
    [root@localhost ~]# id -gn
    group1

(10) chage命令

  • chage - change user password expiry information
    修改密碼的各類(lèi)過(guò)期信息
  • chage [options] LOGIN
    • -d,-E,-W母赵,-m逸爵,-M
  • chage命令用的不多,因?yàn)閜asswd命令中也可以修改密碼的各類(lèi)過(guò)期信息凹嘲。

(11) id命令

  • id - print real and effective user and group IDs(實(shí)際的和有效的ID是不同的)
  • id [OPTION]... [USER]
    • id:不帶任何選項(xiàng):顯示當(dāng)前登錄用戶(hù)自己的信息
    • -u:--user:僅顯示UID
    • -r:--real:僅顯示實(shí)際的ID
    • -g:--group:僅顯示用戶(hù)的基本組ID
    • -G:--groups:僅顯示用戶(hù)所屬的所有組的ID
    • -n:--name:顯示名稱(chēng)师倔,而非ID
  • 例如,在suse用戶(hù)下周蹭,使用id命令:
    [suse@localhost ~]$ id
    uid=1100(suse) gid=2224(slackware) groups=2224(slackware),2225(group1),2226(group2) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
  • 使用id -u趋艘,僅顯示suse的UID:
    [suse@localhost ~]$ id -u
    1100
  • 使用id -g,僅顯示suse的主組GID凶朗,即slackware的GID:
    [suse@localhost ~]$ id -g
    2224
  • 使用id -G瓷胧,顯示suse的主組和附加組的GID:
    [suse@localhost ~]$ id -G
    2224 2225 2226
  • 配合-n選項(xiàng),顯示用戶(hù)名或組名棚愤,而非ID號(hào):
    [suse@localhost ~]$ id -un
    suse
    [suse@localhost ~]$ id -gn
    slackware
    [suse@localhost ~]$ id -Gn
    slackware group1 group2

(12) su命令

  • su - run a command with substitute user and group ID
  • su [options...] [-] [user [args...]]
    • 登錄式切換:會(huì)通過(guò)重新讀取目標(biāo)用戶(hù)的配置文件來(lái)重新初始化
      su - USER
      or
      su -l USER
    • 非登錄式切換:不會(huì)讀取目標(biāo)用戶(hù)的配置文件進(jìn)行初始化
      su USER
    • -c COMMAND:僅以指定用戶(hù)的身份運(yùn)行此處指定的命令
  • tips:
    管理員可無(wú)密碼切換至其他任何用戶(hù)

(13) 其它幾個(gè)用戶(hù)和組管理相關(guān)命令

  • chsh:修改shell
  • finger:查看信息
  • chfn:修改finger信息
  • whoami:我是誰(shuí)呵呵
  • pwck:檢查用戶(hù)信息是否有異常
  • grpck:檢查組信息是否有異常

Linux用戶(hù)和組管理命令的相關(guān)示例

  • 創(chuàng)建組distro搓萧,其GID為2016;
    [root@localhost ~]# groupadd -g 2016 distro
    [root@localhost ~]# tail -1 /etc/group
    distro:x:2016:
  • 創(chuàng)建用戶(hù)mandriva, 其ID號(hào)為1005宛畦;基本組為distro瘸洛;
    [root@localhost ~]# useradd -u 1005 -g distro mandriva
    [root@localhost ~]# tail -1 /etc/passwd
    mandriva:x:1005:2016::/home/mandriva:/bin/bash
  • 創(chuàng)建用戶(hù)mageia,其ID號(hào)為1100次和,家目錄為/home/linux;
    [root@localhost ~]# useradd -u 1100 -d /home/linux mageia
    [root@localhost ~]# tail -1 /etc/passwd
    mageia:x:1100:1100::/home/linux:/bin/bash
  • 給用戶(hù)mageia添加密碼反肋,密碼為mageedu;
    [root@localhost ~]# echo "mageedu" | passwd --stdin mageia
    Changing password for user mageia.
    passwd: all authentication tokens updated successfully.
  • 刪除mandriva踏施,但保留其家目錄石蔗;
    [root@localhost ~]# userdel mandriva
    [root@localhost ~]# ls /home/ |grep linux
    linux
  • 創(chuàng)建用戶(hù)slackware,其ID號(hào)為2002读规,基本組為distro抓督,附加組peguin燃少;
    [root@localhost ~]# groupadd peguin
    [root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin
    [root@localhost ~]# tail -1 /etc/passwd
    slackware:x:2002:2016::/home/slackware:/bin/bash
  • 修改slackware的默認(rèn)shell為/bin/tcsh束亏;
    [root@localhost ~]# usermod -s /bin/tcsh slackware
    [root@localhost ~]# tail -1 /etc/passwd
    slackware:x:2002:2016::/home/slackware:/bin/tcsh
  • 為用戶(hù)slackware新增附加組admins;
    [root@localhost ~]# groupadd admins
    [root@localhost ~]# usermod -aG admins slackware
    [root@localhost ~]# id -Gn slackware
    distro peguin admins

通過(guò)更改用戶(hù)和組的配置文件阵具,直接添加或修改用戶(hù)和組

為了更深入了解用戶(hù)和組的相關(guān)配置文件碍遍,可以手動(dòng)更改配置文件以達(dá)到命令的執(zhí)行效果。

  1. 復(fù)制/etc/skel目錄為/home/tuser1阳液,要求/home/tuser1及其內(nèi)部文件的屬組和其它用戶(hù)均沒(méi)有任何訪問(wèn)權(quán)限怕敬。
    [root@localhost ~]# cp -r /etc/skel /home/tuser1
    \\這里我使用root用戶(hù)復(fù)制,注意目標(biāo)目錄/home/tuser1不能事先存在帘皿,否則復(fù)制的結(jié)果為/home/tuser1/skel
    [root@localhost ~]# ls -Al /home/tuser1/
    total 16
    -rw-r--r--. 1 root root 18 May 8 17:56 .bash_logout
    -rw-r--r--. 1 root root 193 May 8 17:56 .bash_profile
    -rw-r--r--. 1 root root 231 May 8 17:56 .bashrc
    drwxr-xr-x. 4 root root 4096 May 8 17:56 .mozilla
    [root@localhost ~]# chmod -R 700 /home/tuser1
    [root@localhost ~]# ll -al /home/tuser1
    total 24
    drwx------. 3 root root 4096 May 8 17:56 .
    drwxr-xr-x. 3 root root 4096 May 8 17:56 ..
    -rwx------. 1 root root 18 May 8 17:56 .bash_logout
    -rwx------. 1 root root 193 May 8 17:56 .bash_profile
    -rwx------. 1 root root 231 May 8 17:56 .bashrc
    drwx------. 4 root root 4096 May 8 17:56 .mozilla

  2. 編輯/etc/group文件东跪,添加組hadoop。
    [root@localhost ~]# vim + /etc/group
    ...
    hadoop:x:1500:

  3. 手動(dòng)編輯/etc/passwd文件新增一行,添加用戶(hù)hadoop虽填,其基本組ID為hadoop組的id號(hào)丁恭;其家目錄為/home/hadoop。
    [root@localhost ~]# vim + /etc/passwd
    ...
    hadoop:x:1500:1500::/home/hadoop:/bin/bash
    [root@localhost ~]# id hadoop
    uid=1500(hadoop) gid=1500(hadoop) groups=1500(hadoop)

  4. 復(fù)制/etc/skel目錄為/home/hadoop斋日,要求修改hadoop目錄的屬組和其它用戶(hù)沒(méi)有任何訪問(wèn)權(quán)限牲览。
    [root@localhost ~]# cp -R /etc/skel /home/hadoop
    [root@localhost ~]# chmod 700 /home/hadoop
    [root@localhost ~]# chmod g=,o= /home/hadoop/
    [root@localhost ~]# ll -d /home/hadoop
    drwx------. 3 root root 4096 May 14 11:20 /home/hadoop

  5. 修改/home/hadoop目錄及其內(nèi)部所有文件的屬主為hadoop,屬組為hadoop恶守。
    [root@localhost ~]# chown -R hadoop:hadoop /home/hadoop/
    [root@localhost ~]# ll -a /home/hadoop/
    total 24
    drwx------. 3 hadoop hadoop 4096 May 14 11:20 .
    drwxr-xr-x. 4 root root 4096 May 14 11:20 ..
    -rw-r--r--. 1 hadoop hadoop 18 May 14 11:20 .bash_logout
    -rw-r--r--. 1 hadoop hadoop 193 May 14 11:20 .bash_profile
    -rw-r--r--. 1 hadoop hadoop 231 May 14 11:20 .bashrc
    drwxr-xr-x. 4 hadoop hadoop 4096 May 14 11:20 .mozilla

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末第献,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子兔港,更是在濱河造成了極大的恐慌庸毫,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衫樊,死亡現(xiàn)場(chǎng)離奇詭異岔绸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)橡伞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)盒揉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人兑徘,你說(shuō)我怎么就攤上這事刚盈。” “怎么了挂脑?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵藕漱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我崭闲,道長(zhǎng)肋联,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任刁俭,我火速辦了婚禮橄仍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘牍戚。我一直安慰自己侮繁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布如孝。 她就那樣靜靜地躺著宪哩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪第晰。 梳的紋絲不亂的頭發(fā)上锁孟,一...
    開(kāi)封第一講書(shū)人閱讀 51,182評(píng)論 1 299
  • 那天彬祖,我揣著相機(jī)與錄音,去河邊找鬼品抽。 笑死涧至,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的桑包。 我是一名探鬼主播南蓬,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼哑了!你這毒婦竟也來(lái)了赘方?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤弱左,失蹤者是張志新(化名)和其女友劉穎窄陡,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拆火,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡跳夭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了们镜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片币叹。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖模狭,靈堂內(nèi)的尸體忽然破棺而出颈抚,到底是詐尸還是另有隱情,我是刑警寧澤嚼鹉,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布贩汉,位于F島的核電站,受9級(jí)特大地震影響锚赤,放射性物質(zhì)發(fā)生泄漏匹舞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一线脚、第九天 我趴在偏房一處隱蔽的房頂上張望赐稽。 院中可真熱鬧,春花似錦酒贬、人聲如沸又憨。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至寒匙,卻和暖如春零如,著一層夾襖步出監(jiān)牢的瞬間躏将,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工考蕾, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祸憋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓肖卧,卻偏偏與公主長(zhǎng)得像蚯窥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子塞帐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容