系統基礎之用戶管理一





用戶及組詳解




概論:


  現今,大多數操作系統都是多用戶(Multi-tasks)多任務(Mulit-Users)的系統.在多年前,計算機資源遠沒有現在這麼豐富,都是多人使用同一臺計算機,爲了保障使用計算機的用戶權益不受到損害,完成資源使用隔離,人們採取了使用用戶機制標識使用者的方法.

 每個使用者都是用戶,用戶是由UID進行標識,通過密碼進行身份驗證機制.而爲了方便管理用戶,人們又發明了組,組是用戶的集合,由GID進行標識.在用戶創建時,系統要求用戶必須指定一個主組,且主組是唯一的,也可以不加或添加多個附加組.

 在對用戶和組的管理上,爲了安全性,有3A機制進行保護用戶和組.3A分別爲:

   認證機制:Authentication      登錄 (用戶名+密碼)

   授權機制:Authorization       設置權限    

   審計機制:Audition          使用過程記錄日誌

 安全上下文(senurity context):

   進程以其發起者的身份運行,擁有發起者的權限

   進程對文件(系統資源)的訪問權限,取決於發起此進程的用戶及用戶所屬組的權限 而不是進程本身的權限 最好是所需要擁有的最小權限,不能擁有管理員權限

   爲了能夠讓那些後臺進程或服務進程以非管理員的身份運行,通常需要爲此創建多個普通用戶,這類用戶從來不用登錄系統 成爲系統用戶。



用戶及組的介紹:


用戶及組的類別:

用戶分類

  管理:

  普通:    

   系統用戶

   登錄用戶

  用戶標識:UserID,UID  (16bits 二進制數字:1-65535)

   管理員:0

   普通用戶:1-65535

    系統用戶:1-499(centos6),1-999(centos7)

    登錄用戶:500-60000(centos6),1000-60000(centos7)

  名稱解析:名稱轉換

     Username <--> UID

    根據名稱解析庫進行:根據用戶輸入的名稱與庫(/etc/passwd)的數據做對比,轉化名稱,判斷用戶名是否存在,存在進入下一步登錄,不存在則報錯.   


組分類:

組類別1:

  管理員組:

  普通用戶組:

    系統組:

    登錄組:

  組標識:GroupID,GID              

   管理員組:0

   普通用戶組:1-65535

    系統用戶組:1-499(centos6),1-999(centos7)

    登錄用戶組:500-60000(centos6),1000-60000(centos7)

  名稱解析:groupname <---->gid解析 庫文件:/etc/group

組類別2

   用戶的基本組: 用戶的主組,每個用戶只有一個

   用戶的附加組:用戶的附加組,可以沒有且有多有

組類別3:

私有組:組名同用戶名,且只包含一個用戶
公共組:組內包含了多少個用戶


用戶及組的認證信息:

通過比對事先存儲的密碼信息,判斷與登錄時提供的信息是否一致

password:

  /etc/shadow 用戶密碼庫文件

  /etc/gshadow 組密碼庫文件

密碼的使用策略

1.使用隨機密碼

2.最短長度不低於8位

3.大小字母,數字,標點符號組合使用

4.定期更換   (隨機生成字符串命令:  openssl rand -base64 10(20))


密碼加密算法:

對稱加密 :加密和解密使用同一個密碼   

 加密機:輸入明文,輸出密文 解密機:輸入密文,輸出明文 

非對稱加密:加密和解密使用的一對密鑰。 使用公鑰加密的,使用同對的密鑰解密

  公鑰:public key 

  私鑰:private key

單向加密;只能加密,不能解密。提取數據特徵碼,例如:指紋,瞳  藉助salt完成

  特徵:

    定長輸出,   2的512次方

[root@wen-7 shell]# echo “wen1”|sha512sum 
f7a02b034fffa7ee6faecdfd9114cee0a79467f76a379e7a4e7141c0fe9ed506df54c5c13ebbb3f85bed174f691670f761135720252674c673c2a3ab1388a864  -
[root@wen-7 shell]# echo “wen1rsdasdsadsa”|sha512sum 
18c75133db89c3f4054c4933db1041a8ab962f9d6b5bef4130a873f9bbfd37d6bf5e19c9fb13b0ff98f4e7aa618d891eadfb3497d85d10a0a61098096fb2259c  -

     雪崩效應,初始條件的微小改變,引起整體巨大變化,一個字符的變化,結果完全不同    

[root@wen-7 shell]# echo “wen”| md5sum
28dea8a57263903409d64b9e9731b5c0  -
[root@wen-7 shell]# echo “wen1”| md5sum
1d1f3e6cdcbb3b13b5b13d7a56119cbd  -

算法的種類:

MD5     128bit  (centos5系以下默認使用)

sha1    160bit

sha224   224bit

sha256   256bit

sha385   385bit

sha512   512bit  (centos6系以上默認使用)

 密碼創建時,用戶輸入的密碼加隨機數(salt),生成密文,保存在庫文件中。用戶再次登錄時,輸入密碼,系統會自動把在密碼庫保存的上次使用的隨機數補在用戶輸入字符串中,生成密文,與庫文件中的實現存放的密文比較,如果密文一樣,則表示密碼正確,允許用戶登錄,不一樣則報密碼錯誤.

   在計算之時加salt,添加的隨機數,相同的密碼明文,密文不同

root@w6 home]# echo "centos" | passwd --stdin gentoo
[root@w6 home]# getent shadow gentoo
gentoo:$6$j9cSCq/L$7EwxsVScKKD176GnRiEzDAIBB2ewADEDSFcyBN12mza1JRhoMzvwueA1Tt1A1C4c4Q3.qHLyZMMv3KdCiXfEB/:17012:0:99999:7:::
[root@w6 home]# echo "centos" | passwd --stdin gentoo
[root@w6 home]# getent shadow gentoo  
gentoo:$6$JH5FOiaJ$3d0jDjigI5J7ZQoetn0J.lVdE9SjUAiIFOv08YEOlJ.COe8eR.0/YPZBNHlRHHzSuG74pyDoHl41/yd.NwuQU0:17012:0:99999:7:::

  可以更改系統默認密碼算法,

    authconfig --passalgo=sha512 --update

命令如下:      

[root@w6 home]# authconfig --passalgo=sha512 --update 
[root@w6 home]# tail -5 /etc/login.defs   #此目錄記載着創建用戶的默認配置

# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA512

MD5_CRYPT_ENAB no
[root@w6 home]# authconfig --passalgo=sha256 --update 
[root@w6 home]# tail -5 /etc/login.defs 

# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA256

MD5_CRYPT_ENAB no


用戶及組的密碼庫格式:

1./etc/passwd/格式:  

   account:password:UID:GID:GECOS:directory:shell

   (帳號:密碼:用戶ID:組ID:一般的信息:目錄:shell)

   name;用戶名

   password:可以是加密的密碼,也可以是佔位符X  /etc/shadow保存加密密碼(man pwconv :影子密碼)

   UID:用戶ID

   GID:用戶所屬的主組的ID號

   GECOS:可選的 提供用戶的註釋信息

   directory:用戶的家目錄 

   shell:用戶的默認shell類型,登錄時默認shell程序


        

2./etc/shadow      

   wen:$6$FGHaaLgp2OWH/K03sMzZDNmN.0AD0:17001:0:99999:7:::

   登錄名:

   加密的字碼串:                       不設密碼的用戶,此位默認爲!!;

   最後一次更改密碼的日期(從1970年1月1開始計算的天數):

   密碼最短使用期限:這些天之後,用戶必須更改密碼。

   密碼最長使用期限:這些天之後,用戶必須更改密碼。

   密碼警告時間段:密碼過期之前,提前警告用戶的的天數

   密碼禁用期:密碼過期後,仍然接受此密碼的天數,在此期間,用戶應該在下次登錄時修改碼)。

   密碼到期並且過了這個寬限期之後,使用用戶的當前的密碼將會不能登錄。用戶需要聯繫統管理員

   賬戶過期日期:賬戶過期不同於密碼過期。賬戶過期時,用戶將不被允許登錄;密碼過期時,用戶將不被允許使用其密碼登錄。

   保留字段

wKioL1efPuGAuHfOAAGX_qPNLQc593.png

   pwunconv pwnconv   開啓|關閉密碼轉化命令,實現密碼加密分位存放 關閉後,/etc/shadow文件會消失

[root@w6 home]# pwunconv            #關閉密碼轉換
[root@w6 home]# ll /etc/shadow        #保存密文密碼文件 不存在
ls: cannot access /etc/shadow: No such file or directory
[root@w6 home]# useradd yum1 ;echo "yum123"|passwd --stdin yum1 
Changing password for user yum1.
passwd: Authentication token manipulation error
[root@w6 home]# getent passwd yum1
yum1:!!:506:507::/home/yum1:/bin/bash          #新創建用戶 密碼格式異常

[root@w6 ~]# pwconv                #開啓密碼轉換
 [root@w6 ~]# exit                    #命令生效,需重新登錄用戶
[root@w6 ~]# ll /etc/shadow           #保存密文密碼文件恢復
-r--------. 1 root root 1946 Jul 30 15:27 /etc/shadow
[root@w6 ~]# useradd yum3 ;echo "yum123"|passwd --stdin yum3
Changing password for user yum3.
passwd: all authentication tokens updated successfully.
[root@w6 ~]# getent shadow  yum3              #用戶密碼繼續用密文存儲
yum3:$6$oW7NIo9Z$b53zN7S.m/nt/WDgUl5wMun9YA1jVkjieNQeEYPUJNcIU9iRteR1FhruUeGz66aGF6569eHDQYaQK9SHHStOb.:17012:0:99999:7:::



3./etc/group 組的信息庫                      

  admins:x:502:natasha,harry

  group_name:passwd:GID:user_list

   group_name:組名

   password:(加密的)組密碼.如果該字段爲空,則不需要密碼.

   GID  :  組的數字標識.

   user_list:組內所有成員的用戶名,以逗號分隔.

4./etc/gshadow

  admins:!::natasha,harry

   組名:

   組密碼:

   組管理員用戶:

   組成員列表:



用戶及組的管理使用:


用戶及組的查看命令:

(1)groups Username: 查看用戶所在的組

[root@w6 ~]# groups wen
wen : wen
[root@w6 ~]# groups gentoo
gentoo : gentoo root bin

(2)getent:

getent shadow  username= cat /etc/shadow | grep "wen"   查看密碼存放文件

默認使用,顯示文件全部內容.後接用戶名,只顯示指定用戶名的所在行

[root@w6 ~]# getent shadow yum3
yum3:$6$oW7NIo9Z$b53zN7S.m/nt/WDgUl5wMun9YA1jVkjieNQeEYPUJNcIU9iRteR1FhruUeGz66aGF6569eHDQYaQK9SHHStOb.:17012:0:99999:7:::

getent passwd= cat /etc/passwd  查看用戶密碼文件

默認使用,顯示文件全部內容.後接用戶名,只顯示指定用戶名的所在行

[root@w6 ~]# getent passwd yum1
yum1:x:506:507::/home/yum1:/bin/bash

(3)

1) vipw= vim /etc/passwd 更安全,檢查文件格式

      vigr=vim /etc/group

(2)pwck: 檢查passwd 文件語法

    grpck:檢查group文件的無法

groupmems -1 -g groupname:查看組內其他成員   修改配置文件,永久生效

strace useradd usesrname:查看修改過程,調用過程


用戶及組的管理命令:

chfn Username:添加註釋信息

chsh -s /bin/ch 修改當前系統shell類型


組管理命令:

1.groupadd: 添加組

   groupadd [選項] groupName

    -g GID:指定GID,默認是上一個組的GID加1

    -r:創建系統組:存放系統用戶 GID位於1-999之間  也可以組合-g指定系統組ID

[root@wen-7 ~]# groupadd -g 5431 qwert
[root@wen-7 ~]# getent group qwert
qwert:x:5431:
[root@wen-7 ~]# groupadd -g 5432 -r  qweasd
[root@wen-7 ~]# getent group qweasd
qweasd:x:5432:                         #可用strace useradd usesrname:查看修改過程,調用過程

2.groupmod:修改組信息

   groupmod [OPTIONS] groupname

   選項:

    -g GID:修改GID

    -n name:修改組名:可能導致所屬用戶修改信息

[root@wen-7 ~]# groupmod -g 5433 -n asdfg qwert
[root@wen-7 ~]# getent group asdfg
asdfg:x:5433:


3.groupdel:刪除組

  groupdel groupname

  刪除組,會使所屬用戶失去組織

[root@wen-7 ~]# groupdel qweasd
[root@wen-7 ~]# getent group qweasd
[root@wen-7 ~]#                                  #

 

4.groupmems:用戶主組的管理員成員

用法:groupmems [選項] [動作]

  選項:

    -g, --group groupname     更改組 groupname,而不是用戶的組(只 root)

    -R, --root CHROOT_DIR       chroot 到的目錄

  動作:

  -a, --add username       將用戶 username 添加到組成員中

  -d, --delete username     從組的成員中刪除用戶 username

  -h, --help            顯示此幫助信息並推出

  -p, --purge           從組中移除所有成員

  -l, --list            列出組中的所有成員


用戶管理命令:

1.useradd:創建用戶,更新默認新用戶信息

  useradd 【OPTIONS】 Username

   選項:

    -u: 指定uid號

    -g:指定基本組ID,此組得事先存在

    -o:   配合-u 不檢查UID的唯一性

    -G:指明用戶所屬的附加組名,多個組之間作用逗號分隔,此組得事先存在

    -c:指明註釋信息

    -d:指明用戶家目錄位置,默認指向/home/    通過複製/etc/skel/此目錄並重命名實現,指定的家目錄如果實現存在,則不會爲用戶複製環境配置文件。 配合-m使用

    -s:指明用戶的默認shell類型,可用的所有shell列表存儲在/etc/shells/文件 

    -r:創建系統用戶      ,家目錄,郵箱不會自動生成

    -N:不創建私有組作爲主組:

    -M:不創建用戶家目錄

    -f:密碼過期後,賬號被徹底禁用之前的天數  

[root@wen-7 ~]# useradd -o -u 1208  -G gentoo,wen -c "zhifei is Linux system" -d /users/zhifei zhifei
[root@wen-7 ~]# getent passwd zhifei
zhifei:x:1208:1208:zhifei is Linux system:/users/zhifei:/bin/bash

    useradd -D:顯示用戶創建時的默認選項

    useradd -D   選項:    修改默認選項的值  修改的結果保於/etc/default/useradd文件,也可以直接編輯文件來修改變量   

[root@wen-7 ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@wen-7 ~]# cat /etc/default/useradd 
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

  注意:創建用戶時的諸多默認設定配置文件爲/etc/login.defs      

[root@wen-7 ~]# cat /etc/login.defs 
PASS_MAX_DAYS	99999
PASS_MIN_DAYS	0
PASS_MIN_LEN	5
PASS_WARN_AGE	7
UID_MIN                  1000
UID_MAX                 60000
# System accounts
SYS_UID_MIN               201
SYS_UID_MAX               999
GID_MIN                  1000
GID_MAX                 60000
# System accounts
SYS_GID_MIN               201
SYS_GID_MAX               999
CREATE_HOME	yes
UMASK           077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512

 擴展: 批量創建用戶:

     (1)創建用戶文件 user.sh,按照/etc/passwd的格式

     (2) newusers  user.sh            #批量創建用戶

     (3)創建密碼文件passwd.sh, 格式:username:password

     (4)cat passwd.sh |chpasswd        #批量修改密碼

[root@w6 ~]# cat user.sh 
we7:x:507:507::/home/we7:/bin/bash
we8:x:508:508::/home/we8:/bin/bash
we9:x:509:509::/home/we9:/bin/bash
[root@w6 ~]# newusers user.sh 
[root@w6 ~]# tail -n3 /etc/passwd
we7:x:507:507::/home/we7:/bin/bash
we8:x:508:508::/home/we8:/bin/bash
we9:x:509:509::/home/we9:/bin/bash
[root@w6 ~]# cat passwd.sh 
we7:123456
we8:123456
we9:123456
[root@w6 ~]# cat passwd.sh | chpasswd 
[root@w6 ~]# tail -n3 /etc/shadow
we7:$6$IfgzE/H6x.$OYFvTlN3HxiUDvlVGhFU5ubi5jQfrNY2P5C0fhted4PDHP3XI6DQuZw13LEyBvuanHnHkplvR25wP9ZFqViTq1:17012:0:99999:7:::
we8:$6$rzkZHmbVkD/2dgcz$/jx52XRml4tP4jB2HMdRAPlcAC5HDFS2K9ClKnSXulYnaPfceUbjBw9EAiFPBgE4clYVM5wtfII6mmIKRRs4T1:17012:0:99999:7:::
we9:$6$8weaIXfBEiP$Pg8JQSYEOFlYWhVW1FGtOFlLf7PJSMvoJOoqLy3FdfC7vNOBHsWjdAGqlKmaiB76AY5GRwA/aYMezIA5e9zaf/:17012:0:99999:7:::
[root@w6 ~]#

練習:

1、創建用戶gentoo,附加組爲binroot,默認shell/bin/csh,註釋信息爲"GentooDistribution"

[root@w6 ~]# useradd  -G bin,root -c "GentooDistribution" -s /bin/csh gentoo1
[root@w6 ~]# getent passwd gentoo1
gentoo1:x:510:510:GentooDistribution:/home/gentoo1:/bin/csh
[root@w6 ~]# groups gentoo1
gentoo1 : gentoo1 root bin

2、創建下面的用戶、組和組成員關係
名字爲admins 的組
用戶natasha,使用admins 作爲附屬組
用戶harry,也使用admins 作爲附屬組
用戶sarah,不可交互登錄系統, 且不是admins 的成員
natashaharrysarah密碼都是centos

[root@wen-7 ~]# groupadd admins
[root@wen-7 ~]# useradd -G admins natasha
[root@wen-7 ~]# useradd -G admins harry
[root@wen-7 ~]# useradd -s /sbin/nologin sarsh
[root@wen-7 ~]# tail -n3 /etc/passwd
natasha:x:4048:4048::/home/natasha:/bin/bash
harry:x:4049:4049::/home/harry:/bin/bash
sarah:x:4050:4050::/home/sarah:/sbin/nologin

[root@wen-7 ~]# echo "centos"| passwd --stdin natasha
更改用戶 natasha 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
[root@wen-7 ~]# echo "centos"| passwd --stdin harry
更改用戶 harry 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
[root@wen-7 ~]# echo "centos"| passwd --stdin sarah
更改用戶 sarah 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
[root@wen-7 ~]# echo "centos"| passwd --stdin sarah


(2)usermod:修改用戶屬性

  usermod  [OPTINOS] username

   選項:

     -u UID:修改用戶的id號

    -g GROUP:修改用戶所受的基本組

    -G GROUP:修改用戶所屬的附加組,原來的組會被覆蓋

    -a:與 -G一同使用,用於爲用戶追加新的附加組

    -c:修改註釋信息

    -d home_DIR:修改用戶的家目錄,用戶原有的文件不會被轉移

    -m:與-d配合使用,修改用戶家目錄後,移動原有的文件至新的家目錄

    -l newname: 修改用戶名

    -s shell:修改用戶的shell類型

    -L:鎖定用戶密碼,禁止用戶登錄,及即在用戶原來的密碼字符串之前添加一個“!“

    -U:解鎖用戶密碼 刪除 ”!“  !沒有後,可免密碼登錄

           

(3).userdel :刪除用戶

   userdel [OPTIONS】 username

     -r:刪除用戶時,一併刪除其家目錄和郵箱,系統默認不刪家目錄


練習:

    1.創建用戶gentoo,UID爲4001,基本組爲gentoo,附加組爲distro(GID爲5000)和peguin(GID爲5001);

[root@wen-7 ~]# groupadd -g 5000 distro
[root@wen-7 ~]# groupadd -g 5001 peguin
[root@wen-7 ~]# groupadd  gentoo
root@wen-7 ~]# useradd -u 4001 -g gentoo -G distro,peguin gentoo
[root@wen-7 ~]# tail -1 /etc/passwd
gentoo:x:4001:5002::/home/gentoo:/bin/bash
[root@wen-7 ~]# tail -3 /etc/group
distro:x:5000:gentoopeguin:x:5001:gentoogentoo:x:5002:

    2.創建用戶fedore,其註釋信息爲“Fedore Core” 默認shell爲/bin/tcsh

[root@wen-7 ~]# useradd -c "Fedora Core" -s /bin/tcsh  fedora
[root@wen-7 ~]# tail -1 /etc/passwd
fedora:x:4002:4002:Fedora Core:/home/fedora:/bin/tcsh

    3.修改gentoo用戶的家目錄爲/var/tmp/gentoo,要求其原有文件仍能被用戶訪問        

[root@wen-7 ~]# usermod -md  /var/tmp/gentoo  gentoo
[root@wen-7 ~]# tail -2 /etc/passwd
gentoo:x:4001:5002::/var/tmp/gentoo:/bin/bashfedora:x:4002:4002:Fedora Core:/home/fedora:/bin/tcsh
[root@wen-7 ~]# ls -a /var/tmp/gentoo/
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla  .zshrc

    4.爲gentoo新增附加組netadmin;

[root@wen-7 ~]# usermod -aG netadmin gentoo
[root@wen-7 ~]# tail -2 /etc/group
fedora:x:4002:
netadmin:x:5003:gentoo

    5.刪除用戶fedore

[root@wen-7 ~]# userdel -r fedora
userdel:組“fedora”沒有移除,因爲它不是用戶 fedora 的主組
userdel:/users/fedora/ 並不屬於 fedora,所以不會刪除
[root@wen-7 ~]# ll /home/
總用量 4
drwx------   3 docker  docker    87 7月  30 11:14 docker
drwx------   3    4002 fedora    87 7月  29 16:37 fedora
drwx------   3 hadoop  hadoop    87 8月   1 08:35 hadoop
drwx------   3 harry   harry     87 8月   1 21:24 harry
drwx------   3 natasha natasha   87 8月   1 21:24 natasha
drwx------   3 sarah   sarah     87 8月   1 21:26 sarah
drwx------. 15 wen     wen     4096 7月  30 11:42 wen
drwx------   3 wen1    wen1      87 7月  29 14:58 wen1



(4).passwd命令:

  passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S]

  passwd  [--stdin] [username]

   選項:

    -l:鎖定用戶

    -u:解鎖用戶

    -d:清除用戶密碼

    -e date:強制更改過期期限,日期

    -i date:非活動期限;

    -n date:密碼的最短使用期限

    -x date:密碼的最長使用期限

    -w date:警告期限

     --stdin:標準輸入    echo ”PASSWD“|passwd --stdin USERNAME

[root@wen-7 ~]# echo "123456" | passwd --stdin gentoo
更改用戶 gentoo 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。

(5).gpasswd命令:

   gpasswd [選項] group

     -a username :想組中添加用戶

      -dusername:從組中移 處用戶

其他用戶不得隨意切換組,必須要輸入組密碼,配合newgrp命令,臨時切換基本組,

(6)  newgrp 命令

    臨時切換指定組爲基本組. exit退出  組不能是私有組

        newgrp [-] [group]

            -:會模擬用戶重新登錄以實現初始化其工作環境

(7).chage命令 更改用戶密碼過期信息

     -d: 更改最後一次更改密碼的日期

     -E:

     -W:

     -m:

    -

(8)id 顯示用戶的真實有效id信息

   id [options] username

    默認是當前登錄用戶,後接其他用戶名,查看其他用戶

   選項:

    -u:只顯示UID

    -g:只顯示基本組ID

   -G: 所有組的ID號

   -n:只顯示名稱 而非id 配合以上選項使用   

[root@wen-7 ~]# id -u wen 
1000
[root@wen-7 ~]# id -g wen 
1000
[root@wen-7 ~]# id -G wen 
1000 4046
[root@wen-7 ~]# id -nu wen 
wen
[root@wen-7 ~]# id -ng wen 
wen
[root@wen-7 ~]# id -nG wen 
wen gentoo

 

(9) su命令 :swith user

   登錄式切換:會通過重新讀取用戶的配置文件,環境變量來重新初始化

    su - USername

    su -l Username

  非登錄式切換:不會讀取目標用戶的配置文件,環境變量來進行初始化

    su Username

[root@wen-7 ~]# su wen
[wen@wen-7 root]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[wen@wen-7 root]$ exit
exit
[root@wen-7 ~]# su - wen
上一次登錄:一 8月  1 21:38:04 CST 2016pts/0 上
[wen@wen-7 ~]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/wen/.local/bin:/home/wen/bin

    -c command:僅以指定用戶的身份運行此處指定的命令,不進行實質切換            

[root@wen-7 ~]# su - wen -c 'whoami`
 wen

注意:管理員可無密碼切換至其他用戶,非管理員在切換用戶時必須提供密碼,否則無法切換

        切換後,不能再su回去,只能exit退出用戶登錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章