三、用戶權限相關命令
- 用戶 和 權限的基本概念
- 用戶管理 終端命令
- 組管理 終端命令
- 修改權限 終端命令
1、用戶和權限的基本概念
1.1、基本概念
- 用戶管理包括 用戶 與 組 管理
- linux系統中,不論是由本機或是遠程登錄系統,每個系統都必須擁有一個賬號,
並且對於不同的系統資源用有不同的使用權限 - 在linux中,可以指定 每一個用戶 針對 不同的文件或者目錄 的 不同權限
- 對 文件 / 目錄 的權限包括:
序號 | 權限 | 英文 | 縮寫 | 數字代號 |
01 | 讀 | read | r | 4 |
02 | 寫 | write | w | 2 |
03 | 執行 | excute | x | 1 |
04 | 無權限 | - | 0 |
1.2、組
- 為了方便用戶管理,提出 組 的概念
- 實際應用中,可以預先對 組 設置好權限,然后 將不同的用戶添加到對應的組中,從而
不用依次為每個用戶設置權限
1.3、ls -l 擴展
- ls -l 可以查看文件夾下文件的詳細信息,從左到右依次是:
- 權限、第一個字符是 d 表示目錄
- 硬鏈接數、有多少種方式可以訪問到當前目錄/文件
- 擁有者、home目錄下 文件/目錄 的擁有者通常都是當前用戶
- 組、linux中,很多時候,會出現組名和用戶名相同的情況
- 大小
- 時間
- 名稱
目錄 | 擁有者 | 組權限 | 其他用戶權限 | |||||||
文件權限示例 | - | r | w | - | r | w | - | r | - | - |
目錄權限示例 | d | r | w | x | r | w | x | r | - | x |
1.4、chmod 簡單使用
- chmod 可以修改 用戶/組 對 文件/目錄 的權限
- 命令格式:
$ chmod +/-rwx 文件名/目錄名
- 以上方式會一次性修改 擁有者/組 權限
1.5、超級用戶
- linux系統中的root 賬號通常用於系統的維護和管理,對操作系統的所有資源 具有所有訪問權限
- 不推薦直接使用root賬號登錄系統
- 在linux安裝過程中,系統會自動創建一個用戶賬號,而這個默認的用戶就稱為“標准用戶”
sudo
- su 是substitute user的縮寫,表示使用另一個用戶的身份
- sudo 命令用來以其他身份來執行命令,預設的身份為root
- 用戶使用sudo時,必須先輸入密碼,之后有5分鍾的有效期限,超過期限則必須重新輸入密碼
2、組管理終端命令
創建組 / 刪除組 的終端命令都需要通過sudo執行
序號 | 命令 | 作用 |
01 | groupadd 組名 | 添加組 |
02 | groupdel 組名 | 刪除組 |
03 | cat /etc/group | 確認組信息 |
04 | chgrp [-R] 組名 文件/目錄名 | 修改文件/目錄的所屬組 |
- 組信息保存在/etc/group文件中
- /etc 目錄是專門用來保存 系統配置信息 的目錄
- chgrp的 -R 遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
3、用戶管理 終端命令
創建用戶 / 刪除用戶 / 修改用戶 的終端命令都需要通過sudo執行
3.1、創建用戶 / 設置密碼 / 刪除用戶
序號 | 命令 | 作用 | 說明 |
01 | useradd -m -g 組 新用戶名 | 添加新用戶 | -m 自動建立用戶家目錄 -g 指定用戶所在的組,否則會建立一個和用戶同名的組 |
02 | passwd 用戶名 | 設置用戶密碼 | 如果是普通用戶,直接用passwd可以修改自己的賬戶密碼 |
03 | userdel -r 用戶名 | 刪除用戶 | -r 選項會自動刪除用戶家目錄 |
04 | cat /etc/passwd | grep 用戶名 | 確認用戶信息 | 新建用戶后,用戶信息會保存在/etc/passwd文件中 |
- 創建用戶時,如果忘記添加-m 選項指定新用戶的家目錄--簡單的方法就是刪除用戶,重新創建
- 創建用戶時,默認會創建一個和用戶名同名的組名
- 用戶信息保存在 /etc/passwd 文件中
3.2、查看用戶信息
序號 | 命令 | 作用 |
01 | id [用戶名] | 查看用戶UID和GID信息 |
02 | who | 查看當前所有登錄的用戶列表 |
03 | whoami | 查看當前登錄用戶的賬戶名 |
passwd文件
/etc/passwd 文件存放的是用戶的信息,由6個分號組成的7個信息,分別是:
- 用戶名
- 密碼(x,表示加密的密碼)
- UID(用戶標識)
- GID(組標識)
- 用戶全名或本地帳號
- 家目錄
- 登錄使用的 Shell,就是登錄之后,使用的終端命令,ubuntu 默認是 dash
usermod
- usermod 可以用來設置用戶的主組 / 附加組 和登錄 Shell,命令格式如下:
- 主組:通常在新建用戶時指定,在etc/passwd 的第4列GID對應的組
- 附加組:在etc/group中最后一列表示該組的用戶列表,用於指定用戶的附加權限
設置了用戶的附加組之后,需要重新登錄才能生效!
# 修改用戶的主組(passwd 中的GID) $ usermod -g 組 用戶名 # 修改用戶的附加組 $ usermod -G 組 用戶名 # 修改用戶登錄 Shell $ usermod -s /bin/bash
默認使用useradd 添加的用戶是沒有權限使用 sudo 以 root 身份執行命令的,
可以使用以下命令,將用戶添加到sudo附加組中
usermod -G sudo 用戶名
which
- /etc/passwd 是用於保存用戶信息的文件
- /usr/bin/passwd 是用於修改用戶密碼的程序
which 命令可以查看執行命令所在位置,例如:
$ which ls # 輸出 # /bin/ls $ which useradd # 輸出 # /user/sbin/useradd
bin和sbin
- 在linux中,絕大多數可執行文件都是保存在 /bin、/sbin、/usr/bin、/usr/sbin
- /bin 是二進制執行文件目錄,主要用於具體應用
- /sbin 是系統管理員專用的二進制代碼存放目錄,主要用於系統管理
- /usr/bin 后期安裝的一些軟件
- /usr/sbin 超級用戶的一些管理程序
cd 終端命令是內置在系統內核中的,沒有獨立的文件。
3.3、切換用戶
序號 | 命令 | 作用 | 說明 |
01 | su - 用戶名 | 切換用戶,並且切換目錄 | - 可以切換到用戶家目錄,否則保持位置不變 |
02 | exit | 退出當前登錄賬戶 |
- sudo 不接用戶,可以切換到root
4、修改文件權限
序號 | 命令 | 作用 |
01 | chown | 修改擁有者 |
02 | chgrp | 修改組 |
03 | chmod | 修改權限 |
命令格式如下:
# 修改文件|目錄的擁有者 $ chown 用戶名 文件名|目錄名 # 遞歸修改文件|目錄的組 $ chgrp -R 組名 文件名|目錄名 # 遞歸修改文件權限 $ chmod -R 755 文件名|目錄名
- chmod 在設置權限時,可以簡單地使用三個數字分別對應 擁有者 / 組 / 其他 用戶的權限
# 直接修改文件|目錄的 讀|寫|執行 權限,但不能精確到 擁有者|組|其他 $ chmod +/-rwx 文件名|目錄名
擁有者 | 組 | 其他 | ||||||
r | w | x | r | w | x | r | w | x |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
- 常見數字組合有(u 表示用戶 / g 表示組 / o 表示其他):
- 777 ===> u=rwx,g=rwx,o=rwx
- 755 ===> u=rwx,g=r-x,o=r-x
- 644 ===> u=rw,g=r,o=r