Linux 用戶和用戶組詳解
阿新 • • 發佈:2018-07-08
ftl 技術 當我 bottom 系統管 scrip gre wid echo
用戶分類
超級用戶:UID範圍 0 root用戶:uid=0(root) gid=0(root) groups=0(root) 普通用戶:由管理員創建,UID範圍(500-65535) --> eg: omc用戶 :uid=502(omc) gid=502(omc) groups=502(omc) 擬用戶:滿足文件或者程序運行的需要而創建,系統優化的時候可以刪掉 UID範圍(1-499) 文件結尾 /noligin
記錄用戶密碼的文件
/etc/passwd # 記錄用戶的信息
/etc/passwd 用戶名 密碼 uid gid 用戶說明 家目錄 shell解釋器 omc : x : 502 : 502 : : /home/omc : /bin/bash
/etc/shadow # 記錄用戶密碼的信息
用戶名 密碼 最近更改時間 禁止修改密碼的天數 到用戶必須修改密碼的天數 告警更改密碼期限 不活動時間 標誌 omc : lem600@FTL : 17394 : 0 : 99999 : 7 : : :
/etc/group # 記錄組信息
用戶名 密碼 組ID omc : x : 502:
關於用戶控制的命令
chage: 查看/修改密碼信息,例如密碼等 chage -l omc -E:更改賬戶過期時間 chage -E "空格" omc ==>設置永久 chage -E "2017/08/11" omc ==>useradd -e "2017/08/11" omc ==>usermod -e "2017/08/11" omc chage -m7 -M60 -W10 -I30 omc -->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" omc ->只修改當前omc用戶 useradd :添加用戶 -->也可以直接編輯文件添加 -->默認的文件在 : /etc/default/useradd -->同時受控制在 : /etc/login.defs -->修改的文件在 : /etc/passwd shadow group gshadow useradd omc -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" omc -->-D 默認同時修改文件中的 usermod -e "2017/06/08" omc ->只修改當前omc用戶 useradd -e "2017/06/08" omc ->只修改當前omc用戶 -M:不指定家目錄 -->多用於虛擬用戶
# 添加組用戶為mysql的用戶,且該用戶不能登錄 useradd -g mysql mysql -s /sbin/nologin (若不指定組,默認增加一個和UID一樣的GID) # 添加用戶ID為502且組為uses是omc用戶
useradd omc -u 502 -g users
# 添加用戶ID為666組為root且家目錄為/FTL的FTL用戶 useradd -c "HandsomeBoy" -u 666 -G root,omc -s /bin/sh -d /FTL FTL grep "\FTL\b" /etc/passwd -->只過濾包含oldboy的行
userdel: 刪除用戶以及用戶信息 -->也可以直接編輯文件,一般我們在工作中直接註釋掉這個用戶即可 -r 刪除用戶的家目錄 -->不要輕易使用這個參數,會刪除該用戶的同時刪除家目錄的文件 1.確保刪除一個文件之前,先進行備份,管好你的回車鍵,除非你確保沒問題 2.比刪除更好的是註釋掉這個文件 3.刪除用戶,可以#也可以使用/bin/nologin 4.pawd -l omc -->鎖定賬戶 5.chage -E "20170812" omc -f 刪除用戶登入目錄以及目錄中所有文件。 userdel -r omc chgrp: 更改屬組用的 change group -R :遞歸更改權限 users /home/omc/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 omc h.txt chown omc.users h.txt passwd:超級用戶: passwd omc -->修改omc用戶的密碼 passwd -->默認修改root用戶的密碼 普通用戶: 登錄到omc用戶下,輸入passwd 默認修改omc用戶的密碼 --stdin: echo lem600@HW|passwd --stdin omc -->stdin接受echo輸入的字符,作為omc的密碼 ==>passwd omc <lem600@HW ==>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 omc uid=500(omc) gid=500id(omc) groups=500(omc) 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用戶,但是當前的環境變量還是以前用戶的環境變量 不切換用戶而直接執行命令: 以omc用戶執行命令:su - root -c "ifconfig" 需要輸入密碼 -->同理 創建的文件時omc用戶的
用戶和組用到的文件
/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 用戶和用戶組詳解