簡單了解一下linux中的文件權限格式與chmod命令
chmod命令:改變文件或者目錄的權限
格式:chmod [參數] [<權限范圍><符號><權限代碼>]
-R 或者--recursive 遞歸處理,表示將指定目錄下的所有文件夾及其子目錄一並處理
權限范圍表示方法:
u:User 即文件或者目錄的擁有這
g:group即文件或者目錄的所屬群組
o:other 除了文件或目錄擁有者或所屬群組之外,其他用戶都屬於這個范圍
a:all 即全部的用戶,包含擁有者,所屬群組以及其他用戶
符號:
+號代表添加權限
-號代表取消權限
有關權限代號的表示如下:
r:讀取權限,數字代號為4
w:寫入權限,數字代號為2
x:執行或切換權限,數字代號為1
-:不具有任何權限,數字代號為0
修改文件權限
chown 表示修改文件或目錄擁有者
chgrp 表示修改組
chmod 表示修改文件或目錄的權限
格式如下:
# 修改文件|目錄的擁有者
chown 用戶名 文件名|目錄名
# 遞歸修改文件|目錄的組
chgrp -R 組名 文件名|目錄名
# 遞歸修改文件權限
chmod -R 755 文件名|目錄名
`chmod` 在設置權限時,可以簡單地使用三個數字分別對應 **擁有者** / **組** 和 **其他** 用戶的權限
常見數字組合有(`u`表示用戶/`g`表示組/`o`表示其他):
`777` ===> `u=rwx,g=rwx,o=rwx`
`755` ===> `u=rwx,g=rx,o=rx`
`644` ===> `u=rw,g=r,o=r`
例如:chmod u-rwx jason 表示取消jason目錄的用戶讀寫執行權限
chmod 777 jason 表示給jason目錄添加所有權限
linux權限格式如下圖

用戶組的管理
**創建組** / **刪除組** 的終端命令都需要通過 `sudo` 執行
groupadd 組名 表示添加組
groupdel 組名 表示刪除組
cat /etc/group 查看用戶組是否添加或者刪除成功,確認的方式
chgrp -R 組名 文件/目錄名 表示遞歸修改文件/目錄的所屬組
組信息保存在 `/etc/group` 文件中
`/etc` 目錄是專門用來保存 **系統配置信息** 的目錄
在實際應用中,可以預先針對 **組** 設置好權限,然后 **將不同的用戶添加到對應的組中**,從而**不用依次為每一個用戶設置權限**
用戶的管理
**創建用戶** / **刪除用戶** / **修改其他用戶密碼** 的終端命令都需要通過 `sudo` 執行
創建用戶/設置密碼/刪除用戶
useradd -m -g 組 新建用戶名 表示添加新用戶
參數說明:-m 自動建立用戶家目錄
-g 指定用戶所在的組,否則會建立一個和同名的組
passwd 用戶名 表示為該用戶設置密碼 如果是普通用戶,直接用 passwd 可以修改自己的賬戶密碼
userdel -r 用戶名 表示刪除用戶
參數說明: -r 選項會自動刪除用戶家目錄
cat /etc/passwd | grep 用戶名 表示確認用戶信息 新建用戶后,用戶信息會保存在 /etc/passwd 文件中
創建用戶時,如果忘記添加 `-m` 選項指定新用戶的家目錄 —— 最簡單的方法就是**刪除用戶,重新創建**
創建用戶時,默認會創建一個和**用戶名**同名的**組名**
用戶信息保存在 `/etc/passwd` 文件中
`/etc/passwd` 是用於保存用戶信息的文件
`/usr/bin/passwd` 是用於修改用戶密碼的程序
`/etc/passwd` 文件存放的是用戶的信息,由 6 個分號組成的 7 個信息,分別是
1. 用戶名
2. 密碼(x,表示加密的密碼)
3. UID(用戶標識)
4. GID(組標識)
5. 用戶全名或本地帳號
6. 家目錄
7. 登錄使用的 Shell,就是登錄之后,使用的終端命令
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 用戶名
要將新添加的用戶添加到附加組中,下次登錄才能使用該用戶進行登錄。
查看用戶信息
id [用戶名] 表示查看用戶 UID 和 GID 信息
who 表示 查看當前所有登錄的用戶列表
whoami 表示查看當前登錄用戶的賬戶名
who am i 表示查看第一次登錄的用戶
用戶的切換
`su` 是 `substitute user` 的縮寫,表示 **使用另一個用戶的身份**
使用格式:su 用戶名
su不接用戶名,默認切換到root。
exit 命令表示退出當前用戶。su命令和exit結合使用來進行用戶的切換。
`sudo` 命令用來以其他身份來執行命令,預設的身份為 `root`
