Linux 用戶和用戶組詳解


用戶分類

超級用戶:UID范圍 0 
root用戶:uid=0(root) gid=0(root) groups=0(root)
普通用戶:由管理員創建,UID范圍(500-65535)
   --> eg: omd用戶 :uid=502(omd) gid=502(omd) groups=502(omd)
擬用戶:滿足文件或者程序運行的需要而創建,系統優化的時候可以刪掉
UID范圍(1-499)  文件結尾 /noligin

記錄用戶密碼的文件

/etc/passwd      # 記錄用戶的信息

/etc/passwd
		用戶名	  密碼   uid     gid    用戶說明	 家目錄  		shell解釋器
		 omd 	:  x  :  502  :  502  :           :  /home/omd  :  /bin/bash

image

/etc/shadow      #  記錄用戶密碼的信息

用戶名     密碼       最近更改時間   禁止修改密碼的天數   到用戶必須修改密碼的天數   告警更改密碼期限      不活動時間     標志            
omd  : lem600@FTL :   17394 :       0          :             99999   :         7       :          :         :
	

image

/etc/group        # 記錄組信息

用戶名   密碼    組ID
omd  :   x  :  502:

image

關於用戶控制的命令

chage: 查看/修改密碼信息,例如密碼等
		chage -l omd
		-E:更改賬戶過期時間
			chage -E "空格" omd   ==>設置永久
			chage -E "2017/08/11" omd
				==>useradd -e "2017/08/11" omd
				==>usermod -e "2017/08/11" omd
		chage -m7 -M60 -W10 -I30 omd -->m(min) M(max) W(warning) -I(inactive)
			==>passwd  -n 7 -x 60 -i 30 -w 10  FTL  --> n(min) -x(max) -w(warning) -i(inactive)
chmod:更改屬性值的
		chmod 755 -R / 系統默認臨界    777-022/777-002
		chmod 644 /    系統默認臨界    666-022/666-002
usermod:更改用戶信息   -->大部分參數根useadd 一致,掌握useradd即可
		usermod -e "2017/06/08" omd   ->只修改當前omd用戶
useradd :添加用戶    -->也可以直接編輯文件添加
	-->默認的文件在 : /etc/default/useradd
	-->同時受控制在 : /etc/login.defs
	-->修改的文件在 : /etc/passwd shadow group gshadow
		useradd omd -p passwd
	-g:添加用戶組,以用戶名稱或者數字作為用戶登錄的起始組
	-G:給用戶添加多個用戶組,用逗號,隔開
	-s:指定登錄shell
	-u:指定UID
	-c:comment
	-e:指定過期時間
	-r 創建系統賬戶 
	-d:更改家目錄,不存在系統會創建
	-m:用戶目錄不存在就會自動創建
	-M:不建立用戶家目錄,多用於虛擬用戶nologin
	-D:useradd -D 查看默認系統默認的添加新用戶的參數
	   -D -?:更改系統默認文件(/etc/default/useradd)中的參數
	   		-D -e: 默認加上D后更改配置文件(useradd文件)中賬號終止時間   YYYY-MM-DD 
	   			useradd -D -e "2017/06/08" omd    -->-D 默認同時修改文件中的
	   		usermod -e "2017/06/08" omd   ->只修改當前omd用戶
	   		useradd -e "2017/06/08" omd   ->只修改當前omd用戶

	-M:不指定家目錄   -->多用於虛擬用戶
         # 添加組用戶為mysql的用戶,且該用戶不能登錄
	useradd -g mysql mysql -s /sbin/nologin  (若不指定組,默認增加一個和UID一樣的GID)
         # 添加用戶ID為502且組為uses是omd用戶
	useradd omd -u 502 -g users 
         # 添加用戶ID為666組為root且家目錄為/FTL的FTL用戶
	useradd -c "HandsomeBoy" -u 666 -G root,omd -s /bin/sh -d /FTL FTL
		grep "\FTL\b" /etc/passwd   -->只過濾包含oldboy的行
userdel: 刪除用戶以及用戶信息   -->也可以直接編輯文件,一般我們在工作中直接注釋掉這個用戶即可
     -r      刪除用戶的家目錄        -->不要輕易使用這個參數,會刪除該用戶的同時刪除家目錄的文件
             1.確保刪除一個文件之前,先進行備份,管好你的回車鍵,除非你確保沒問題
             2.比刪除更好的是注釋掉這個文件
             3.刪除用戶,可以#也可以使用/bin/nologin
             4.pawd -l omd   -->鎖定賬戶
             5.chage -E "20170812" omd
     -f  刪除用戶登入目錄以及目錄中所有文件。
     userdel -r omd

chgrp:  更改屬組用的 change group  
         -R :遞歸更改權限
        users /home/omd/h.txt  -->更改h.txt的屬組為users
            ==> chgrp root h.txt --> 點. 之前代表默認屬性

groupadd:添加用戶組
    groupadd sa   添加名為sa的用戶組  -->這里走的是默認的添加
    groupadd -g 666 my   添加一個名為my且gid為666的組
    groupadd users -g 502   -->添加用戶組為502的user

groupdel:刪除用戶組
    groupdel sa

chown:  更改用戶已經用戶組的命令
          -R :遞歸更改權限
        chown omd h.txt
        chown omd.users h.txt
passwd:超級用戶:  passwd  omd   -->修改omd用戶的密碼
                    passwd        -->默認修改root用戶的密碼
        普通用戶:  登錄到omd用戶下,輸入passwd  默認修改omd用戶的密碼

        --stdin:    echo ftl600@HHH|passwd --stdin omd   -->stdin接受echo輸入的字符,作為omd的密碼
                         ==>passwd omd <ftl600@HHH
                         ==>passwd --stdin FTL <6.txt   -->6.txt是一個文件,使用的標准輸入

                    passwd  -n 7 -x 60 -i 30 -w 10  FTL  --> n(min) -x(max) -w(warning) -i(inactive)
        查看用戶密碼信息;
                chage -l FTL
id:  查看用戶的UID,GID
		id omd
			uid=500(omd) gid=500id(omd) groups=500(omd)
		id -un
w:	show who logged on and what he is doing 
	****************w > who > users******************
	 17:43:13 up 10:55,  2 users,  load average: 0.00, 0.00, 0.00
	USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
	root     pts/0    192.168.25.100   06Aug17  0.00s  1.95s  0.08s w
	root     pts/1    192.168.25.100   15:30    2:13m  0.01s  0.01s -bash

who:  可以查看登錄信息,比w簡單 
	# who
	  root     pts/0        2017-08-01 20:54 (192.168.25.100)

users:只顯示當前終端以什么用戶登錄,比who還簡單

whoami:查看當前對象

last: 顯示登錄的詳細列表以及現在的狀況
	對應目錄:last ==>last /var/log/wtmp   
	root     pts/1        192.168.25.100   Sat Aug 12 14:45 - 15:30  (00:44)    
	root     pts/0        192.168.25.100   Sun Aug  6 08:25   still logged in  

lastlog: 查看用戶的登錄情況
	lastlog的日志文件 ==> /var/log/lasglog  
	  oldboy               **Never logged in**
	    h                  **Never logged in**

su : 角色切換
	su 和 su - 的區別:
		su -: 會切換root用戶,也會把用戶變量也切換到root的環境變量
		su :  只是會切換root用戶,但是當前的環境變量還是以前用戶的環境變量
	不切換用戶而直接執行命令:
		以omd用戶執行命令:su - root -c "ifconfig"  需要輸入密碼
			-->同理 創建的文件時omd用戶的

用戶和組用到的文件

/etc/skel/:存放新用戶配置文件的目錄,當我們添加新用戶的時候,這個目錄下的所有文件(包括隱含文件)都會被自動復制到新添加用戶的家目錄下去,默認都是隱藏文件。通過修改,添加,刪除/etc/skel目錄下的文件,我們可以為新創建的用戶提供統一的,標准的,初始化用戶環境
/etc/login.defs:描述系統用戶配置的文件,家目錄的權限700(文件配置的umask是077)  郵件的目錄等信息
   					從文件中可以看到uid,gid的最大值是500-60000
   					文件默認刪除用戶的時候刪除用戶組
   					密碼加密的方式md5
/etc/default/useradd: useradd命令的默認文件
					文件設置了添加用戶時的默認的一些操作
					可以用 useradd -D  來進行編輯	
						useradd -D -e 2015/06/09 
passwd小結:
	1.我們可以通過passwd和chage設置更改賬戶的密碼
		也可以通過/etc/login.defs配置文件或/etc/default/useradd針對所有賬戶進行全局修改
	2.設置用戶賬戶的時效,有利有弊。
		優點:可以定期的強制系統管理人員進行密碼的修改,提升系統的安全性。
		缺點:一些用戶因為過期而無法登陸
	3.在大規模的運維環境中,我們可以通過LDAP服務對Linux賬戶進行統一的認證,批量管理。

用戶登錄的文件日志(以上均可用id --> lastlog)

所有的:ll    /var/log/secure*                  
      lastlog ==> /var/log/wtmp   
      lastlog ==> /var/log/lasglog             

用戶管理小結

useradd -u -g -G -s -M -e -c -d
                /etc/skel,/etc/default/useradd,/etc/login.defs
            userdel -r(不建議用,用其他方法,注釋,nologin,-L之類) 
            usermod -u -g -G -s -M -e -c -d -L -U 
            id
            chage -l -E -m -M -W 
            passwd --stdin -n -i -x -w (suid位置)
            su
            sudo -l -k 
            visudo -c 

組管理小結  

groupadd -g
groupdel 
groupmod    

用戶查詢命令

w    
id
who    
last 
users
finger      
lastlog
【更多參考】

Linux su命令詳解              https://www.cnblogs.com/ftl1012/p/su.html
Linux sudo詳解                 https://www.cnblogs.com/ftl1012/p/sudo.htmlLinux
Linux chown命令詳解        https://www.cnblogs.com/ftl1012/p/9259936.html
Linux chmod命令詳解        https://www.cnblogs.com/ftl1012/p/9259990.html
Linux 文件特殊權限詳解    https://www.cnblogs.com/ftl1012/p/9260157.html





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM