linux伺服器文件權限修改命令
圖片描述
chmod
和 chattr
是兩個用於管理 Linux 文件權限的命令,分別處理不同層面的文件屬性。
`chmod` 和 `chattr` 是兩個用於管理 Linux 文件權限的命令,分別處理不同層面的文件屬性。
### 1. **`chmod` 命令**
`chmod` 用於更改文件或目錄的讀寫執行權限。
- 語法:
```bash
chmod [選項] 模式 文件名
```
- 基本模式:
- `r` (read): 讀取權限
- `w` (write): 寫入權限
- `x` (execute): 執行權限
- `u` (user): 文件所有者
- `g` (group): 文件群組
- `o` (others): 其他人
- `a` (all): 全部用戶 (user, group, others)
- 常見例子:
- 設置文件為可讀寫不可執行:
```bash
chmod 644 filename
```
- 設置文件為所有者可讀寫,其他人只可讀取:
```bash
chmod u+rw,go+r filename
```
- 設置目錄及其內所有文件為可讀寫執行:
```bash
chmod -R 755 directory_name
```
### 2. **`chattr` 命令**
`chattr` 用於更改文件的特殊屬性,比如防止刪除或修改。
- 語法:
```bash
chattr [選項] 屬性 文件名
```
- 常見屬性:
- `+i`:設置文件為不可修改、刪除、重命名、連接等
- `-i`:移除 `i` 屬性,恢復文件可修改、刪除、重命名
- `+a`:設置文件為只能追加內容
- `-a`:移除 `a` 屬性
- 常見例子:
- 設置文件為不可修改、刪除:
```bash
sudo chattr +i filename
```
- 取消不可修改、刪除屬性:
```bash
sudo chattr -i filename
```
- 設置目錄為不可修改,但允許新增文件:
```bash
sudo chattr +a directory_name
```
### 查看屬性
- 使用 `lsattr` 命令來檢視文件的 `chattr` 屬性:
```bash
lsattr filename
```
- 使用 `ls -l` 命令來檢視文件的 `chmod` 屬性:
```bash
ls -l filename
```
這兩個命令各自處理不同層面的文件保護機制,`chmod` 主要控制訪問權限,而 `chattr` 可以強化文件的防護層級。
要設置文件的權限,使其不可修改或刪除,可以結合使用 `chmod` 和 `chattr` 命令。
### 1. 使用 `chattr` 設置不可修改、刪除
`chattr` 命令可設置文件屬性,使文件無法被修改、刪除、重命名或創建鏈接。
- **命令語法:**
```bash
sudo chattr +i filename
```
- **示例:**
假設你有一個名為 `example.txt` 的文件,你希望這個文件無法被修改或刪除:
```bash
sudo chattr +i example.txt
```
設置 `+i` 屬性後,該文件將無法進行任何修改、刪除或重命名操作。
### 2. 查看文件屬性
要確認文件是否已被設置為不可修改、刪除,可以使用 `lsattr` 命令:
- **命令語法:**
```bash
lsattr filename
```
- **示例:**
```bash
lsattr example.txt
```
如果文件屬性中顯示 `i`,則表示該文件已被設置為不可修改、刪除。
### 3. 取消不可修改、刪除屬性
如果你需要將文件恢復為可修改、刪除,使用以下命令:
- **命令語法:**
```bash
sudo chattr -i filename
```
- **示例:**
```bash
sudo chattr -i example.txt
```
這樣,文件將恢復為可自由編輯和刪除的狀態。