【魔德科技】【Linux學習筆記】第3章 用戶和組管理

本筆記由魔德科技(http://modekeji.cn)提供


3.1用戶配置文件和密碼配置文件
用戶配置文件/etc/passwd,每個用戶信息佔用一行,由冒號:分割爲7段。
第一段:用戶名。
第二段:早期用於存放用戶密碼,現在爲x。
第三段:用戶uid,root用戶爲0。
第四段:用戶gid,root用戶爲0。
第五段:很多爲空,表示的是用戶的註釋信息,沒有實際作用。
第六段:用戶的家目錄,root用戶爲/root/,普通用戶爲/home/username
第七段:用戶shell,若爲/sbin/nologin,則不能登錄;常見爲/bin/bash。
密碼配置文件/etc/shadow,每個用戶密碼信息佔用一行,由冒號:分割爲9段。
man shadow 查看詳細信息。
第一段:用戶名。
第二段:密碼被加密後的字符串,不可反編譯。相同的密碼加密的結果不相同。
第三段:天數,距離1970.1.1的天數
第四段:密碼在多少天之前不能被更改,默認爲0,表示不受限制。
第五段:密碼在多少天后到期,即多少天之內必須更改密碼。
第六段:密碼到期前多少天由系統發出警告,提醒用戶密碼將在多少天后到期。
第七段:賬號的實效期限,表示密碼已經到期,且未修改,再過多少天,該賬號將不能用了。
第八段:賬號的生命週期,表示賬號在距離1970.1.1多少天之前可以使用。
第九段:保留字段,無實際意義。


3.2用戶組管理
用戶組文件/etc/group
用戶組密碼配置文件/etc/gshadow
以上配置文件分別都有一個備份文件,爲原文件架一個-號。如/etc/gshadow-。當相應配置文件丟失時,可將備份文件複製過來使用。
groupadd GROUP 創建GROUP組。可使用-g參數,指定gid。自定義普通用戶的gid>1000,如:Groupadd -g 1005 GROUP
groupdel GROUP刪除空的GROUP組,若組內有用戶,將不能被刪除。


3.3用戶管理
useradd username 創建用戶。
使用-u參數,指定uid。
使用-g參數,指定gid。自定義普通用戶的,uid>1000,gid>1000。
使用-d參數,指定用戶家目錄。
使用-M參數,創建用戶的同時,不創建家目錄。
若不指定uid,系統將自動從1000往上加,兒gid將跟隨uid。
userdel username 刪除用戶,不會刪除用戶家目錄。加-r選項,將刪除用戶家目錄。
useradd<=>adduser


3.4usermod命令
usermod 參數 username 指定用戶的參數。
參數:
-u UID 指定uid爲UID。
-g GID 指定gid爲GID。
-G GROUP1 GROUP2 指定擴展組,一個用戶可以屬於多個組,但只能有一個gid。可同時指定多個擴展組。
-d HOME PATH 指定家目錄爲HOME PATH。
-s SHELL PATH 指定用戶shell爲SHELL PATH。


3.5用戶密碼管理
root用戶:
passwd 更改密碼,保存於/etc/shadow的第二段。
在/etc/shadow中,若用戶的第二段爲!!,說明用戶密碼爲空,不能登錄;若爲*,說明用戶密碼被鎖定,也不能登錄。
passwd -l username 鎖定用戶。鎖定之後,密碼位前面將增加!!。
passwd -u username 解鎖用戶。解鎖之後,!!消失。
usermod -L username 鎖定用戶。鎖定之後,密碼位前面將增加!。
usermod -U username 解鎖用戶。解鎖之後,!消失。
passwd --stdin username 更改用戶密碼。不需要輸入原密碼。
echo -e “123\nsss” -e 參數,使後面的\n作爲換行符使用。若沒有-e參數,將直接顯示:

123\nsss

添加-e參數後,將顯示:

123
nsss

\n 換行
\t Tab


3.6mkpasswd命令
mkpasswd 位於包expect,先安裝yum install -y expect。用於生成隨機字符串。
-l LEN 指定長度LEN。
-s N 指定特殊符號個數N。


3.7su命令
su - username 徹底切換用戶,包括用戶配置文件等。加-是徹底切換。不加-
su - -c “command” username 指定用戶執行命令。
su - 普通用戶切換到root用戶。
若切換到的用戶沒有指定家目錄和shell,則將顯示如-bash-4.2$,解決方法:
切換到root用戶。
id username 查看相應用戶的屬主與屬組。
mkdir /home/username 創建相應的家目錄。
但此時由於家目錄下沒有配置文件,同樣無法打開用戶shell。系統有模板配置文件,放置於/etc/skel中,將所有配置文件拷貝到用戶家目錄下。並更改家目錄的所有者與所屬組爲剛纔id所查到的屬主與屬組。此時再切換到該用戶,將能夠正常顯示。


3.8sudo命令
使用sudo可以執行只有root用戶才能執行的命令。
visudo 編輯相關配置文件/etc/sudoers.tmp。需要先安裝sudo包(yum install -y sudo),才能使用visudo命令。
'''

Allow root to run any commands anywhere

root ALL=(ALL) ALL
'''
用戶名 在哪裏=(擁有什麼用戶身份) 命令名(絕對路徑,多個命令逗號分隔。)
其中,用戶名,也可以是用戶組,即可以針對一組用戶進行限制。

## Allows people in group wheel to run all commands
%wheel      ALL=(all)           ALL

如果不要求輸入密碼,則需要在命令名前面加上NOPASSWD:

Root        ALL=(ALL)       NOPASSWD:ALL

主機、用戶、命令均可以在visudo編輯文件中設置別名。
主機別名:

## Host Aliases
# Host_Alias        FILESERVERS = fs1, fs2
# Host_Alias        MAILSERVERS = fs1, fs2

用戶別名:

## User Aliases
# User_Alias ADMINS = jsmith, mikem
## Command Aliases

命令別名:

## Networking
# Cmnd_Alias NETWORKING=/sbin/route, /sbin/ifconfig

可以在設置sudo命令中使用這些別名。


3.9限制root遠程登錄
使用root登錄不安全,可限制root遠程登錄(無法限制本地登錄)。
配置文件/etc/ssh/sshd_config

PermitRootLogin yes/no

將該項設置爲no。
systemctl restart sshd.service 重啓服務。此時用putty、Xshell等將無法登錄root用戶。

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