<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 用戶權限相關命令 ## 目標 - **用戶** 和 **權限** 的基本概念 - **用戶管理** 終端命令 - **組管理** 終端命令 - **修改權限** 終端命令 ## 01. **用戶** 和 **權限** 的基本概念 ### 1.1 基本概念 - **用戶** 是 Linux 系統工作中重要的一環,用戶管理包括 **用戶** 與 **組** 管理 - 在 Linux 系統中,不論是由本機或是遠程登錄系統,每個系統都**必須擁有一個賬號**,并且**對于不同的系統資源擁有不同的使用權限** - 在 Linux 中,可以指定 **每一個用戶** 針對 **不同的文件或者目錄** 的 **不同權限** - 對 **文件/目錄** 的權限包括: | 序號 | 權限 | 英文 | 縮寫 | 數字代號 | | :--: | :--: | :----: | :--: | :------: | | 01 | 讀 | read | r | 4 | | 02 | 寫 | write | w | 2 | | 03 | 執行 | excute | x | 1 | ### 1.2 組 - 為了方便用戶管理,提出了 **組** 的概念,如下圖所示 ![](https://pic.downk.cc/item/5e7efa17504f4bcb043eecb9.png) - 在實際應用中,可以預先針對 **組** 設置好權限,然后 **將不同的用戶添加到對應的組中**,從而**不用依次為每一個用戶設置權限** ### 1.3 ls -l 擴展 - `ls -l` 可以查看文件夾下文件的詳細信息,從左到右依次是: - **權限**,第 1 個字符如果是 `d` 表示目錄 - **硬鏈接數**,通俗地講,就是有多少種方式,可以訪問到當前目錄/文件 - **擁有者**,家目錄下 文件/目錄 的擁有者通常都是當前用戶 - **組**,在 Linux 中,很多時候,會出現組名和用戶名相同的情況,后續會講 - **大小** - **時間** - **名稱** ![](https://pic.downk.cc/item/5e7efa17504f4bcb043eecbf.png) ### 1.4 `chmod` 簡單使用(重要) - `chmod` 可以修改 **用戶/組** 對 **文件/目錄** 的權限 - 命令格式如下: ```bash chmod +/-rwx 文件名|目錄名 ``` > 提示:以上方式會一次性修改 `擁有者` / `組` 權限,有關 `chmod` 的高級用法,后續會講 ### 1.5 超級用戶 - Linux 系統中的 `root` 賬號通常 **用于系統的維護和管理**,對操作系統的所有資源 **具有所有訪問權限** - 在大多數版本的 Linux 中,都不推薦 **直接使用 root 賬號登錄系統** - 在 Linux 安裝的過程中,系統會自動創建一個用戶賬號,而這個默認的用戶就稱為“標準用戶” #### sudo - `su` 是 `substitute user` 的縮寫,表示 **使用另一個用戶的身份** - `sudo` 命令用來以其他身份來執行命令,預設的身份為 `root` - 用戶使用 `sudo` 時,必須先輸入密碼,之后有 **5 分鐘的有效期限**,超過期限則必須重新輸入密碼 > 若其未經授權的用戶企圖使用 `sudo`,則會發出警告郵件給管理員 ## 02. **組管理** 終端命令 > 提示:**創建組** / **刪除組** 的終端命令都需要通過 `sudo` 執行 | 序號 | 命令 | 作用 | | :--- | :------------------------ | :------------------------ | | 01 | groupadd 組名 | 添加組 | | 02 | groupdel 組名 | 刪除組 | | 03 | cat /etc/group | 確認組信息 | | 04 | chgrp -R 組名 文件/目錄名 | 遞歸修改文件/目錄的所屬組 | > 提示: > > - 組信息保存在 `/etc/group` 文件中 > - `/etc` 目錄是專門用來保存 **系統配置信息** 的目錄 ![](https://pic.downk.cc/item/5e7efa17504f4bcb043eecb9.png) - 在實際應用中,可以預先針對 **組** 設置好權限,然后 **將不同的用戶添加到對應的組中**,從而**不用依次為每一個用戶設置權限** #### 演練目標 1. 在 `python` 用戶的桌面文件夾下創建 `Python學習` 目錄 2. 新建 `dev` 組 3. 將 `Python學習` 目錄的組修改為 `dev` ## 03. **用戶管理** 終端命令 > 提示:**創建用戶** / **刪除用戶** / **修改其他用戶密碼** 的終端命令都需要通過 `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 個信息,分別是 1. 用戶名 2. 密碼(x,表示加密的密碼) 3. UID(用戶標識) 4. GID(組標識) 5. 用戶全名或本地帳號 6. 家目錄 7. 登錄使用的 Shell,就是登錄之后,使用的終端命令,`ubuntu` 默認是 `dash` #### usermod - `usermod` 可以用來設置 **用戶** 的 **主組** / **附加組** 和 **登錄 Shell**,命令格式如下: - **主組**:通常在新建用戶時指定,在 `etc/passwd` 的第 4 列 **GID 對應的組** - **附加組**:在 `etc/group` 中最后一列表示該組的用戶列表,用于指定 **用戶的附加權限** > 提示:設置了用戶的附加組之后,需要重新登錄才能生效! ```bash # 修改用戶的主組(passwd 中的 GID) usermod -g 組 用戶名 # 修改用戶的附加組 usermod -G 組 用戶名 # 修改用戶登錄 Shell usermod -s /bin/bash 用戶名 ``` > 注意:默認使用 `useradd` 添加的用戶是沒有權限使用 `sudo` 以 `root` 身份執行命令的,可以使用以下命令,將用戶添加到 `sudo` 附加組中 ```bash usermod -G sudo 用戶名 ``` #### which(重要) > 提示 > > - `/etc/passwd` 是用于保存用戶信息的文件 > - `/usr/bin/passwd` 是用于修改用戶密碼的程序 - `which` 命令可以查看執行命令所在位置,例如: ```bash which ls # 輸出 # /bin/ls which useradd # 輸出 # /usr/sbin/useradd ``` ##### `bin` 和 `sbin` - 在 `Linux` 中,絕大多數可執行文件都是保存在 `/bin`、`/sbin`、`/usr/bin`、`/usr/sbin` - `/bin`(`binary`)是二進制執行文件目錄,主要用于具體應用 - `/sbin`(`system binary`)是系統管理員專用的二進制代碼存放目錄,主要用于系統管理 - `/usr/bin`(`user commands for applications`)后期安裝的一些軟件 - `/usr/sbin`(`super user commands for applications`)超級用戶的一些管理程序 > 提示: > > - `cd` 這個終端命令是內置在系統內核中的,沒有獨立的文件,因此用 `which` 無法找到 `cd` 命令的位置 ### 3.3 切換用戶 | 序號 | 命令 | 作用 | 說明 | | :--- | :---------- | :--------------------- | :--------------------------------------- | | 01 | su - 用戶名 | 切換用戶,并且切換目錄 | - 可以切換到用戶家目錄,否則保持位置不變 | | 02 | exit | 退出當前登錄賬戶 | | - `su` 不接用戶名,可以切換到 `root`,但是不推薦使用,因為不安全 - `exit` 示意圖如下: ![](https://pic.downk.cc/item/5e7efa17504f4bcb043eecc1.png) ## 04. 修改文件權限 | 序號 | 命令 | 作用 | | :--- | :---- | :--------- | | 01 | chown | 修改擁有者 | | 02 | chgrp | 修改組 | | 03 | chmod | 修改權限 | - 命令格式如下: ```bash # 修改文件|目錄的擁有者 chown 用戶名 文件名|目錄名 # 遞歸修改文件|目錄的組 chgrp -R 組名 文件名|目錄名 # 遞歸修改文件權限 chmod -R 755 文件名|目錄名 ``` - `chmod` 在設置權限時,可以簡單地使用三個數字分別對應 **擁有者** / **組** 和 **其他** 用戶的權限 ```bash # 直接修改文件|目錄的 讀|寫|執行 權限,但是不能精確到 擁有者|組|其他 chmod +/-rwx 文件名|目錄名 ``` ![](https://pic.downk.cc/item/5e7efa17504f4bcb043eecc3.png) - 常見數字組合有( ``` 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` 演練目標 1. 將 `01.py` 的權限修改為 `u=rwx,g=rx,o=r` 2. 將 `123.txt` 的權限修改為 `u=rw,g=r,o=-` 3. 將 `test` 目錄以及目錄下的 **所有** 文件權限修改為 `u=rwx,g=rwx,o=rx`
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看