目錄
一、用戶常用操作
【1】添加用戶
-d 目錄 指定用戶主目錄,如果目錄不存在,則同時使用-m選項,可以創建主目錄。
-g 用戶組 指定用戶所屬的主用戶組。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登錄Shell。有一個特殊的shell程序叫nologin,如果某帳號使用此shell,就表示用戶不允許登錄,該用戶通常成爲僞用戶。
-u 用戶號 指定用戶的用戶號,默認Linux會自動分配在(500-65535)之間
useradd zhangsan
useradd -g root -G tape -u 605 tom 指定主組爲root,附加組爲tap,用戶id爲605
【2】查看用戶信息
id username
id tom
【3】查看所有用戶
cat /etc/passwd
vim /etc/passwd
【4】修改普通用戶密碼
passwd zhangsan
然後輸入密碼以及確認密碼
補充:
- 添加用戶之後,最好修改用戶密碼,否則將不能登錄該用戶,默認該用戶將不會有密碼,意味着從外面永遠登不上該用戶
- root用戶,修改密碼可以不遵守密碼策略。
- 普通賬戶修改密碼時,必須滿足密碼安全策略。
【5】刪除用戶
userdel -r zhangsan
【6】切換用戶
su zhangsan
二、組常用操作
【1】添加組
-g 指定新用戶組的GID
-o 通常與-g同時使用,使新用戶組可以使用系統已有的組ID系統。系統底層會將兩個GID相同用戶組識別爲同一個用戶組,這樣做的目的是讓兩個用戶組的權限相同。識別規則,後者遵循前者。
groupadd group1
【2】查看組
cat /etc/group
【3】修改組
-g 修改用戶組的組ID
-n 用來修改組的組名 groupmod -n newname oldname
groupmod -g 102 tom
groupmod -n tom cat
【4】刪除組
groupdel groupName
groupdel tom
補充:如果刪除的用戶組,已經被用戶追加爲附加組,對應的所有用戶的該附件組會被撤銷掉。
如果被刪除的用戶組,已經被用戶指定爲主組,則該用戶組無法被刪除。
三、權限操作
(1)邏輯權限
【1】邏輯權限是指,每個文件前的執行權限。
在Linux系統中,所有的文件和目錄都可以設置權限。(Linux中有萬物皆文件這一說法)
每個文件前面都有權限表示
以drwxr-xr-x.爲例講解
第1位表示,該文件是文件還是目錄 d爲目錄,-爲文件
第一組:2-4位表示,該文件對本用戶的權限 r:讀 (4) w:寫(2) x:可執行(1)
第二組:5-7位表示,該文件對用戶組的權限 r:讀 (4) w:寫(2) x:可執行(1)
第三組:8-10位表示,該文件對其他用戶的權限 r:讀 (4) w:寫(2) x:可執行(1)
【2】設置邏輯權限
修改權限:chmod [選項] 權限大小 文件名稱
-R 表示遞歸處理,處理文件夾所有文件的權限。
權限大小可以通過 +w、+r、+x進行設置,使用這種方法設置的是三組的權限,不能單獨設置某一組的權限
通過 數字 進行設置,可以單獨設置每一組的特定的權限。
chmod +x demo d--x--x--x.
chmod 770 demo drwxrwx---
【3】修改文件所有者或者所屬組
chown 所有者 : 屬組 文件名 改變文件的所屬者和屬組
chown : 屬組 文件名 只改變用戶的屬組
chmod :root demo 修改屬組爲root
(2)物理權限
修飾某個文件/夾不允許被修改。注意:不能給/ /tmp /dev /var 加保護,即便是root,也不是隨意就能刪除
【1】設置物理權限
chattr [選項] file/dir
-i 表示不能以任何方式進行文件/夾的修改,增加,刪除
-a 表示文件/夾只能追加,不能修改,刪除
-R 遞歸處理
chattr +i demo 設置demo文件不能被修改,增加,刪除
chattr -i demo 取消demo文件的i權限
通常情況,日誌文件用 a 屬性。如果是配置文件用 i 的屬性。
【2】查看物理權限
lsattr 文件名稱
lsattr demo
四、sudo操作
它可以讓普通用戶執行root的權限。sudo可以限制用戶執行部分root的權限。
【1】sudo操作的好處:
- 使用自己配置好的用戶環境
- 不需要知道root密碼,保證root的密碼安全
- 可以限制用戶執行有限的root權限
- sudo執行的每條命令都會被記錄,便於日後的日誌審計,例如用戶執行過高危操作命令。
【2】sudoers文件配置
vim /etc/sudoers 編輯sudoers文件
在文件中添加
Defaults logfile = /home/log.txt 表示日誌儲存位置
tom ALL=(ALL) ALL 表示tom擁有和root一樣的權限
【3】執行shell
執行命令之後,只需要 sudo +命令 即可執行比自己權限高的命令。