一、/etc/passwd文件詳解
二、/etc/shadow文件詳解
三、新增/刪除用戶和組
四、創建、修改用戶密碼
五、用戶身份切換
六、應用技巧
1. /etc/passwd
由 : 分隔成7個字段
(1) 用戶名 命名規則:大小寫字母、數字、減號(不能出現在首位)、點以及下劃線,其他字符不合法
(2) x 放密碼,安全起見放到 /etc/shadow
(3) uid 用戶的uid號 範圍(0-4294967294=2^32-2) root uid=0
1-499系統保留
普通賬戶是從500開始
(4) gid 組ID號
對應 /etc/group 的gid
(5) 註釋說明,該字段沒有實際意義,通常記錄該用戶的一些屬性,例如姓名、電話、地址等等 用 chfn 用戶名 更改
(6) 用戶家目錄
(7) shell /bin/bash, /bin/false, /sbin/nologin 這個用戶所使用的shell
2. /etc/shadow
$6 sha-512 加密
$5 sha-256
$1 md5
使用 : 分隔9個字段
(1) 用戶名
(2) 密碼
如$6$爲SHA-512加密;如$5$爲SHA-256加密;如$1$爲MD5加密
(3)上次更改密碼的日期,例如上次更改密碼的日期爲2012年1月1日,則這個值就是 ‘365 x (2012-1970) + 10 + 1= 15341’.
(4)要過多少天纔可以更改密碼, 0 不限制
(5)密碼多少天后到期,默認是99999,可以理解爲永遠不需要改
(6)密碼到期前的警告期限
(7)賬號失效期限,到期後過多少天鎖定帳號
(8)賬號的生命週期
(9)作爲保留用的,沒有什麼意義
注意:此項內容工作中的操作較少,面試不會問到以上這些
3. 新增/刪除用戶和組
groupadd 組名 添加組
groupadd -g gid號 組名 給添加組指定gid號(如不指定,遞增創建gid)
groupdel 組名 (如果組內有用戶,不能刪除)
useradd -u uid號 用戶名 指定uid號
useradd -g gid號 用戶名 給新建用戶指定gid號(gid必須之前就存在)
useradd -G gid號 用戶名 添加附屬組
useradd -d 路徑 用戶名 指定家目錄
useradd -M 用戶名 不建立家目錄 (會指定家目錄,但沒有創建)
如需要手動創建家目錄,需要往家目錄拷貝一些文件:
cp /etc/skel/.b* /home/用戶名 手動將環境變量文件拷貝到用戶家目錄中
useradd -s shell路徑 用戶名 指定shell
userdel -r 刪除用戶的家目錄
usermod -u 更改用戶的uid
-s 更改shell
-d 更改家目錄
-L 鎖定賬戶
-U 解鎖賬戶
-g 指定gid
-G 添加附屬組
chfn 用戶名 輸入用戶個人信息
chfn finger
另:如需要查看用戶的屬性信息,輸入chfn 用戶名 即可。
4. 創建、修改用戶密碼
passwd
創建密碼的規則:長度大於10;含大小寫字母數字以及特殊字符 ;不規則性;不要帶有自己名字、公司名字、自己電話、自己生日等。
mkpasswd 生成密碼的工具,
需安裝 expect包
mkpasswd -l 15 -s 0
-l 指定密碼長度
-s 指定密碼中特殊字符最少位數,默認是1位
5. 用戶身份切換
su 用戶名 半切換賬戶 (不會切換環境變量)
su - 用戶名 全切換賬戶
su - 用來初始化環境變量 $PATH $HOME等
小技巧:su -c "touch /tmp/user4.txt" -user4 用user4 執行“”裏面的命令
普通用戶如果想要用su -命令切換到root賬戶下,需輸入root用戶的密碼,這樣普通用戶就會獲得root的所有權限,很不安全,所以我們可以用sudo命令解決這個難題。
sudo 可以讓普通用戶臨時獲得另外一個用戶的權限執行一些命令。
普通用戶使用sudo命令需要編輯文件
輸入visudo 編輯/etc/sudoers 配置文件 (沒有命令需安裝 yum install -y sudo)
root ALL=ALL ALL
xiaoqi ALL(root) /bin/ls (手動輸入,即時生效) 此處也可以填寫用戶組
(上面這行命令的意思是 允許xiaoqi臨時使用root賬戶的/bin/ls命令)
[xiaoqi@laoqi ~]$ sudo /bin/ls /root/ //在xiaoqi賬戶輸入sudo命令,查看/root/下的文件
[sudo] password for xiaoqi: [url=]//提示要輸入密碼[/url] 再用這個命令,密碼會被記住
123 1.txt anaconda-ks.cfg install.log install.log.syslog test2.txt test3.txt [url=]//密碼輸入正確後,正常顯示了/root/下的文件內容。[/url]
也可以visudo後,輸入下面的指令:
xiaoqi all=(root) NOPASSWD: /bin/ls, /bin/su
普通用戶輸入 sudo bin/su - 即可切換到root賬號下
或輸入sudo su -亦可
怎麼樣限制讓root不能登錄系統?
vi /etc/ssh/sshd_config
文本文件找到這一行:PermitRootLogin Yes 改成PermitRootLogin no
重啓一下服務 /etc/init.d/sshd restart
格式: user host=(as_user) commands
比如: aming ALL=(root) /bin/ls //它的意思是,讓aming這個普通用戶,擁有root的權限,針對ls這個命令。
應用:只允許使用普通賬戶登陸,而普通賬戶登錄後,可以不輸入密碼就能sudo切換到root賬戶
User_Alias USER_SU = test, test1, aming //做用戶的別名,可以寫多個用戶
Cmnd_Alias SU = /bin/su //做命令的別名,可以寫多個命令
USER_SU ALL=(ALL) NOPASSWD: SU //其中NOPASSWD的意思是,普通用戶使用sudo的時候,不需要輸入自己的密碼。
3月21日學習筆記-用戶和組管理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
python第二週作業 購物車
賈志禹
2019-02-23 14:04:57
用SSH登陸Linux很慢的解決
zzkjia
2019-02-23 13:30:42
Linux系統中Samba共享搭建
小陳102
2019-02-23 13:16:34
Linux用戶管理與權限
半夜心晴
2019-02-23 13:14:44
linux PPTPD-***+windowsAD統一認證
chengcai
2019-02-23 13:08:35
如何限制磁盤配額
zw183681096
2019-02-23 13:01:52
Java-第六章-用for和if-elseif 完整了用戶登錄信息驗證
瘋子偉偉
2019-02-23 00:42:42
WINDOWS下傳遞管理員賬號哈希值***
lclgcoicq
2019-02-23 00:37:57
MySQL性能優化的21個最佳實踐
fdb2b
2019-02-23 14:01:03
140個WindowsXP操作技巧
剛剛
2019-02-23 12:57:19
EXCEL應用技巧:如何在每行下插入一個空行
qwfy45
2019-02-23 00:42:51