1. 程式人生 > 其它 >Linux學習筆記4----使用者許可權相關命令

Linux學習筆記4----使用者許可權相關命令

技術標籤:筆記linux

文章目錄

使用者許可權相關命令

01.使用者和許可權的基本概念

1.1基本概念
  • 使用者是Linux系統工作中的重要的一環,使用者管理包括使用者管理
  • 在Linux系統中,不論是由本機或是遠端登入系統,每個系統都必須擁有一個賬號,並且對於不同的系統資源擁有不同的使用許可權
  • 檔案/目錄的許可權包括:
序號許可權英文縮寫數字代號
01readr4
02writew2
03執行excutex1
04無許可權-0
  • 在Linux中,可以指定每一個使用者針對不同的檔案或者目錄的不同許可權
1.2 組
  • 為了方便使用者管理,提出了組的概念
  • 在實際應用中,可以與預先針對 設定好許可權,然後將不同的使用者新增到對應的組中,從而不用依次為每一個使用者設定許可權
1.3 ls-l擴充套件
  • ls-l可以檢視資料夾下檔案的詳細資訊,從左到右依次是:
    • 許可權,第一個字元如果是d表示目錄
    • 硬連線數,通俗地講,就是有很多種方式,可以訪問到當前目錄/檔案(子目錄越多,硬連線數就越多)
    • 擁有者,家目錄下檔案/ 目錄的擁有者通常都是當前使用者
    • ,在Linux中,很多時候會出現組名和使用者名稱相同的情況
    • 大小
    • 時間
    • 名稱
目錄擁有者許可權組許可權其他使用者許可權
檔案許可權示例-r w -r w -r - -
目錄許可權示例dr w xr w xr - x
1.4 chmod 簡單使用
  • chmod可以修改使用者/組檔案/目錄的許可權
  • 命令格式如下:
chmod +/-rwx 檔名|目錄名

提示:以上方式會一次性修改擁有者/組許可權

1.5 超級使用者
  • Linux系統中的root賬號通常用於系統的維護和管理,對作業系統的所有資源具有所有訪問許可權
  • 在大多數版本的Linux中都不推薦直接使用root賬號登入系統
  • 在Linux安裝的過程中,系統會自動建立一個使用者賬號,而這個磨人的使用者就成為“標準使用者”

sudo

  • susubstitute user 的縮寫,表示使用另一個使用者的身份
  • sudo命令用來以其他身份來執行命令,預設的身份為root
  • 使用者使用sudo時,必須先輸入密碼,之後又5 分鐘的有效期限,超過期限必須重新輸入密碼

若其未經授權的使用者企圖使用sudo,則會發出警告郵件給管理員

02.組管理 終端命令

提示:建立組/刪除組的終端命令都需要通過sudo執行

序號命令作用
01groupadd組名新增組
02groupdel組名刪除組
03cat/etc/group確認組資訊
04chgrp -R 組名 檔案/目錄名遞迴修改檔案/目錄的所屬組

提示:

  • 組資訊儲存在/etc/group檔案中
  • /etc目錄是專門用來儲存系統配置資訊的目錄
  • 在實際應用中,可以預先針對設定好許可權,然後將不同的使用者新增到對應的組中,從而不用一次為每一個使用者設定許可權

03.使用者管理 終端命令

提示:建立使用者/刪除使用者/修改其他使用者密碼的終端命令都需要通過sudo執行

3.1建立使用者/設定密碼/刪除使用者
序號命令作用說明
01useradd -m -g 組 新建使用者名稱新增新使用者-m自動建立使用者家目錄,-g指定使用者所在的組,否則會建立一個和同名的組
02passwd 使用者名稱設定使用者密碼如果是普通使用者,直接用passwd可以直接修改自己的賬戶密碼
03userdel -r 使用者名稱刪除使用者-r選項會自動刪除使用者家目錄
04cat/etc/passwd|grep 使用者名稱確認使用者資訊x新建使用者後,使用者資訊會儲存在/etc/passwd檔案中

提示:

  • 建立使用者時,如果忘記新增-m選項指定新使用者的家目錄–最簡單的方法就是刪除使用者,重新建立
  • 建立使用者時,預設會建立一個和使用者名稱同名的組名
  • 使用者資訊儲存在/etc/passwd檔案中
3.2 檢視使用者資訊
序號命令作用
01id[使用者名稱]檢視使用者UID和GID資訊
02who檢視當前所有登入的使用者列表
03whoami檢視當前登入使用者的賬戶名

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新增的使用者是沒有許可權使用sudoroot身份執行命令的,可以使用以下命令,將使用者新增到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 切換使用者
序號命令作用說明
01su - 使用者名稱切換使用者,並且切換目錄- 可以切換家目錄,否則保持位置不變
02exit退出當前登入使用者
  • su 不接使用者名稱,可以切換到root,但是不推薦使用,因為不安全
  • exit示意圖如下:
    在這裡插入圖片描述

04.修改檔案許可權

序號命令作用
01chown修改擁有者
02chgrp修改組
03chmod修改許可權
# 修改檔案|目錄的擁有者
chown 使用者名稱 檔名|目錄名

# 遞迴修改檔案|目錄的組
chgrp -R 組名 檔名|目錄名

# 遞迴修改檔案許可權
chmod -R 755 檔名|目錄名
  • chmod在設定許可權時,可以簡單地使用三個數字分別對應擁有者/組和其他使用者許可權
# 直接修改檔案|目錄的 讀|寫執行許可權,但不能精確到 擁有者|組|其他使用者
chmod +/-rwx 檔名|目錄名
rwx
421
4217rwx
4206rw-
4015r-x
4004r–
0213-wx
0202-w-
0011–x
0000
  • 常見數字組合有(u擁有者 /g組/o其他使用者)
    • 777===>u=rwx,g=rwx,o=rwx
    • 755===>u=rwx,g=rx,o=rx
    • 644===>u=rw,g=r,o=r