linux中文件權限格式與chmod命令以及用戶和用戶組的管理


簡單了解一下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`


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM