Linux系統下python學習筆記——Linux系統使用者許可權命令
1、基本概念
使用者是Linux系統工作中重要的一環,使用者管理包括使用者與組管理。在Linux系統中,不論是由本機或是遠端登入系統,每個系統都必須擁有一個賬號,並且對於不同的系統資源擁有不同的使用許可權。在Linux中,可以指定每一個使用者針對不同的檔案或者目錄的不同許可權。
對檔案/目錄的許可權包括:1、讀(read 縮寫:r 數字代號:4) 2、寫(write 縮寫:w 數字代號:2)
3、執行(excute 縮寫:x
組:為了方便使用者管理,提出了組的概念。對相同許可權的使用者可以統一放在一個組中。在實際應用中,可以預先針對組設定好許可權,然後將不同的使用者新增到對應的組中,從而不用依次為每一個使用者設定許可權。
ls-l :以列表的方式來檢視資料夾下檔案的詳細資訊。詳細資訊中第一列許可權,d表示目錄,第二列到第十列共九列,表示的是該檔案的許可權。每三個字元一組,分成三組來看。第一組對應的是檔案或者目錄的擁有者許可權(使用者名稱稱,在詳細資訊中的第三塊)。第二組對應檔案或者目錄組對應的許可權(在詳細資訊中的第四塊,組名稱),第三組是其他使用者的許可權。許可權後面的一列數字是硬連結數(就是有多少種方式可以訪問到當前目錄/檔案;包括:絕對路徑;cd . ; cd .. ;子目錄越多,硬連結數越多)。組名後是檔案的大小時間以及名稱。
2、chmod
change mode :修改使用者/組對檔案/目錄的許可權,會一次性修改擁有者/組許可權。命令格式:chmod +/-rwx 檔名/目錄名(+表示增加許可權,-表示減少許可權)
3、超級使用者
Linux系統中的root賬號通常用於系統的維護和管理,對系統中的所有資源具有所有訪問許可權。在大多數版本的Linux中,都不推薦直接使用root賬號登入系統。在Linux安裝的過程中,系統會自動建立一個使用者賬號,而這個預設的使用者就稱為“標準使用者”。
sudo:
- su是substitute user的縮寫,表示另一個使用者的身份。
- sudo命令用來以其他身份來執行命令,預設的身份為root.
- 使用者使用sudo時,必須先輸入密碼,之後有五分鐘的有效期限,超過期限則必須重新輸入密碼。
若未經授權的使用者企圖使用sudo,則會發出警告郵件給管理員。
4、組管理終端命令
建立組/刪除組的終端命令都需要通過sudo執行。
組資訊儲存在/etc/group檔案中; /etc目錄是專門用來儲存系統配置資訊的目錄。
groupadd 組名 作用:新增組
groupdel 組名 作用:刪除組
cat /etc/group 作用:確認組資訊
chgrp -R 組名 檔案/目錄名 作用:遞迴修改檔案/目錄的所屬組
5、使用者管理終端命令
建立使用者/刪除使用者/修改其他使用者密碼 的終端命令都需要sudo執行
建立使用者/設定密碼/刪除使用者
useradd -m -g 組名 新建使用者名稱 作用:新增新使用者
-m 自動建立使用者家目錄 -g指定使用者所在的組,否則會建立一個和使用者同名的組。
passwd 使用者名稱 作用:設定使用者密碼
如果是普通使用者,直接用passwd可以修改自己的賬戶密碼。
userdel -r 使用者名稱 作用:刪除使用者
-r選項會自動刪除使用者家目錄
cat /etc/password | grep 使用者名稱 作用:確認使用者資訊
新建使用者後,使用者資訊會儲存在/etc/passwd檔案中。
建立使用者時,如果忘記新增-m選項指定使用者的家目錄——最簡單的方法就是刪除使用者,重新建立。(自己建立目錄設定許可權很麻煩)
檢視使用者資訊
id[使用者名稱] 作用:檢視使用者UID和GID資訊
who 作用:檢視當前所有登入的使用者列表
whoaml 作用:檢視當前登入使用者的賬戶名
passwd 檔案
/etc/passwd檔案存放的是使用者的資訊,由6個分號組成的7個資訊,分別是:
1、使用者名稱 2、密碼(x,表示加密的密碼) 3、UID(使用者標識) 4、GID(組標識) 5、使用者全名或本地賬號 6、家目錄
7、登陸使用的shell,就是登入之後使用的終端命令,ubuntu預設是dash(軟體名)
usermod
usermod -g(主組)/G(附加組) 組 使用者名稱 作用:設定使用者的主組/附加組
usermod -s /bin/bash 作用:修改使用者登入shell(可以輸入終端命令的視窗,是一個軟體。不同的軟 件介面不同,使用者體驗不同)
主組:通常在新建使用者時指定,在etc/passwd的第4列GID對應的組
附加組:在etc/group中最後一列表示該組的使用者列表,用於指定(增加)使用者的附加許可權。(設定了使用者的附加組之後,需要重新登陸才能生效)
which
提示:/etc/passwd是用於儲存使用者資訊的檔案
/usr/bin/passwd是用於修改使用者密碼的程式
which命令可以檢視執行命令所在位置。例如which ls 輸出:/bin/ls
在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)超級使用者的一些管理程式
切換使用者
su -使用者名稱 作用:切換使用者,並且切換目錄 說明:可以切換到使用者的家目錄,否則保持當前位置不變
su 如果不接使用者名稱,可以切換到root,但是不安全
exit 作用:退出當前登入使用者
6、修改檔案許可權
chown 使用者名稱 檔名|目錄名 修改檔案|目錄的擁有者
chgrp -R 組名 檔名|目錄名 遞迴修改檔案|目錄的組
chmod -R 755 檔名|目錄名 遞迴修改檔案許可權
chmod在設定許可權時,可以簡單地使用三個數字分別對應 擁有者/組和其他使用者的許可權(r:4 w:2 x:1 相加得到許可權數字值)所以755代表: u=rwx,g=rx,o=rx