Linux學習筆記4----使用者許可權相關命令
阿新 • • 發佈:2021-02-19
文章目錄
使用者許可權相關命令
01.使用者和許可權的基本概念
1.1基本概念
- 使用者是Linux系統工作中的重要的一環,使用者管理包括使用者與組管理
- 在Linux系統中,不論是由本機或是遠端登入系統,每個系統都必須擁有一個賬號,並且對於不同的系統資源擁有不同的使用許可權
- 對檔案/目錄的許可權包括:
序號 | 許可權 | 英文 | 縮寫 | 數字代號 |
---|---|---|---|---|
01 | 讀 | read | r | 4 |
02 | 寫 | write | w | 2 |
03 | 執行 | excute | x | 1 |
04 | 無許可權 | - | 0 |
- 在Linux中,可以指定每一個使用者針對不同的檔案或者目錄的不同許可權
1.2 組
- 為了方便使用者管理,提出了組的概念
- 在實際應用中,可以與預先針對
組
設定好許可權,然後將不同的使用者新增到對應的組中,從而不用依次為每一個使用者設定許可權
1.3 ls-l擴充套件
- ls-l可以檢視資料夾下檔案的詳細資訊,從左到右依次是:
- 許可權,第一個字元如果是
d
表示目錄 - 硬連線數,通俗地講,就是有很多種方式,可以訪問到當前目錄/檔案(子目錄越多,硬連線數就越多)
- 擁有者,家目錄下檔案/ 目錄的擁有者通常都是當前使用者
- 組,在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
賬號通常用於系統的維護和管理,對作業系統的所有資源具有所有訪問許可權 - 在大多數版本的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
目錄是專門用來儲存系統配置資訊的目錄
- 在實際應用中,可以預先針對組設定好許可權,然後將不同的使用者新增到對應的組中,從而不用一次為每一個使用者設定許可權
03.使用者管理 終端命令
提示:建立使用者/刪除使用者/修改其他使用者密碼的終端命令都需要通過
sudo
執行
3.1建立使用者/設定密碼/刪除使用者
序號 | 命令 | 作用 | 說明 |
---|---|---|---|
01 | useradd -m -g 組 新建使用者名稱 | 新增新使用者 | -m自動建立使用者家目錄,-g指定使用者所在的組,否則會建立一個和同名的組 |
02 | passwd 使用者名稱 | 設定使用者密碼 | 如果是普通使用者,直接用passwd可以直接修改自己的賬戶密碼 |
03 | userdel -r 使用者名稱 | 刪除使用者 | -r選項會自動刪除使用者家目錄 |
04 | cat/etc/passwd|grep 使用者名稱 | 確認使用者資訊 | x新建使用者後,使用者資訊會儲存在/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,就是登入之後,使用的終端命令,ubantu
預設是dash
usermod
usermod
可以用來設定使用者的主組/附加組和登入Shell,命令格式如下:- 主組:通常在新建使用者時指定,在
etc/passwd
的第4列GID對應的組 - 附加組:在
etc/passwd
中左後一列表示該組的使用者列表,用於指定使用者的附加許可權
提示:設定了使用者的附加組之後,需要重新登入才能生效
# 修改使用者的主組(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
#輸出
#/usr/sbin/useradd
bin和sbin
- 在
Linux
中,絕大多數可執行檔案都是儲存在/bin
、/sbin
、/usr/sbin
、/usr/bin
/bin
(binary)是二進位制執行檔案目錄,主要用於具體應用/sbin
(system binary)是系統管理員專用的二進位制程式碼存放目錄,主要用於系統管理/usr/bin
(user commands for applications)後期安裝的一些軟體/usr/sbin
(super user commands for applications)超級使用者的一些管理程式
提示:
cd
這個終端命令是內建在系統核心中的,沒有獨立的檔案,因此用which
無法找
3.3 切換使用者
序號 | 命令 | 作用 | 說明 |
---|---|---|---|
01 | su - 使用者名稱 | 切換使用者,並且切換目錄 | - 可以切換家目錄,否則保持位置不變 |
02 | exit | 退出當前登入使用者 |
su
不接使用者名稱,可以切換到root
,但是不推薦使用,因為不安全exit
示意圖如下:
04.修改檔案許可權
序號 | 命令 | 作用 |
---|---|---|
01 | chown | 修改擁有者 |
02 | chgrp | 修改組 |
03 | chmod | 修改許可權 |
# 修改檔案|目錄的擁有者
chown 使用者名稱 檔名|目錄名
# 遞迴修改檔案|目錄的組
chgrp -R 組名 檔名|目錄名
# 遞迴修改檔案許可權
chmod -R 755 檔名|目錄名
chmod
在設定許可權時,可以簡單地使用三個數字分別對應擁有者/組和其他使用者許可權
# 直接修改檔案|目錄的 讀|寫執行許可權,但不能精確到 擁有者|組|其他使用者
chmod +/-rwx 檔名|目錄名
r | w | x |
---|---|---|
4 | 2 | 1 |
4 | 2 | 1 | 7 | rwx |
---|---|---|---|---|
4 | 2 | 0 | 6 | rw- |
4 | 0 | 1 | 5 | r-x |
4 | 0 | 0 | 4 | r– |
0 | 2 | 1 | 3 | -wx |
0 | 2 | 0 | 2 | -w- |
0 | 0 | 1 | 1 | –x |
0 | 0 | 0 | 0 | — |
- 常見數字組合有(
u
擁有者 /g
組/o
其他使用者)777
===>u=rwx,g=rwx,o=rwx
755
===>u=rwx,g=rx,o=rx
644
===>u=rw,g=r,o=r