天天看點

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

目錄

  • Linux基礎知識第七講,使用者權限以及使用者操作指令
    • 一丶簡介linux使用者,使用者權限,組的概念.
      • 1.1 基本概念
      • 1.2 組
      • 1.3 ls指令檢視權限.
    • 二丶使用者權限修改指令
      • 1.chmod 指令的使用
    • 三丶超級使用者,以及組操作.
      • 1.什麼是超級使用者
      • 2.組管理
    • 四丶添加linux使用者,以及删除linux使用者
      • 1.指令
      • 2.使用者指令
      • 3.讓添加的使用者具有sudo權限
      • 4.which 檢視指令所執行位置的路徑
      • 5.使用者切換

Linux基礎知識第七講,使用者權限以及使用者操作指令

一丶簡介linux使用者,使用者權限,組的概念.

1.1 基本概念

  • 使用者 是 Linux 系統工作中重要的一環,使用者管理包括 使用者 與 組 管理
  • 在 Linux 系統中,不論是由本機或是遠端登入系統,每個系統都必須擁有一個賬号,并且對于不同的系統資源擁有不同的使用權限
  • 在 Linux 中,可以指定 每一個使用者 針對 不同的檔案或者目錄 的 不同權限
  • 對 檔案/目錄 的權限包括:
序号 權限 英文 縮寫 數字代号
01 read r 4
02 write w 2
03 執行 excute x 1

1.2 組

  • 在實際應用中,可以預先針對 組 設定好權限,然後 将不同的使用者添加到對應的組中,進而不用依次為每一個使用者設定權限

    在Linux以及windows中,學過開發的應該知道.檔案都有權限一說. 可讀可寫可執行.

    linux為了友善使用者管理.還可以設定小組. 在這個小組裡面的使用者所擁有的權限是一樣的.

    這樣就不用為每一個使用者設定操作權限了.

    例如ls指令.我們就可以檢視.

1.3 ls指令檢視權限.

  • ls -l

    可以檢視檔案夾下檔案的詳細資訊,從左到右依次是:
    • 目錄,第 1 個字元如果是

      d

      表示目錄
    • 使用者權限,通俗地講,就是有多少種方式,可以通路到目前目錄/檔案
    • 組權限,家目錄下 檔案/目錄 的擁有者通常都是目前使用者
    • 其它權限,在 Linux 中,很多時候,會出現組名和使用者名相同的情況,後續會講
    • 硬連結數,通俗地講,就是有多少種方式,可以通路到目前目錄/檔案,一串數字.
    • 擁有者名稱
    • 組名稱
    • 檔案大小

結果如下:

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

下面用橫線标出了.

d代表這個是個目錄

rwx 代表目前使用者對這個檔案/目錄 是可讀可寫可執行 權限每3個一組.

r-x 代表了目前組對這個檔案/目錄 是可讀 可執行

r-x 最後一列則是其它使用者對這個檔案/目錄的 權限.

後面依次跟的就是 硬連結數 目前使用者(IBinary) 組名稱(IBinary)

一般組名稱跟使用者名稱一樣.

在後面就是檔案的大小 時間 以及檔案名了.

硬連接配接數解析

硬連結數通俗來講就是通路這個檔案的方式. 我們可以通過絕對路徑通路這個檔案.或者通過相對路徑

通路.都會影響到達這個目錄次數.

如有 a空檔案夾 那麼硬連接配接數就是2.

我們有兩種方式通路a目錄.

cd /home/IBinary/Desktop/a 第一種方式到達a目錄

cd . 第二種方式到達a目錄.

如果a裡面有個b目錄.那麼就要三種方式到達a了.除去上面所說.第三種方式

cd.. 也可以到達a目錄.

二丶使用者權限修改指令

1.chmod 指令的使用

指令作用:

  • chmod

    可以修改 使用者/組 對 檔案/目錄 的權限
  • 指令格式如下:
chmod +/-rwx 檔案名|目錄名           

如:

chmod + rwx a

代表給a目錄權重限.

如下圖所示:

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

修改之後,權限變成了可讀可寫可執行了.

如果目錄可執行權限沒有.那麼則終端指令不能操作這個目錄了.

如果可讀權限沒有,那麼則不能檢視裡面檔案.

如果沒有可寫權限.那麼就不能給目錄中建立檔案.

總結:

目錄的可讀權限就是閱讀目錄,可寫權限就是目錄中是否可以建立檔案

可執行權限,就是終端指令可否操作這個目錄.

三丶超級使用者,以及組操作.

1.什麼是超級使用者

  • Linux 系統中的

    root

    賬号通常 用于系統的維護和管理,對作業系統的所有資源 具有所有通路權限
  • 在大多數版本的 Linux 中,都不推薦 直接使用 root 賬号登入系統
  • 在 Linux 安裝的過程中,系統會自動建立一個使用者賬号,而這個預設的使用者就稱為“标準使用者”

1.1 sudo 指令

  • su

    substitute user

    的縮寫,表示 使用另一個使用者的身份
  • sudo

    指令用來以其他身份來執行指令,預設的身份為

    root

  • 使用者使用

    sudo

    時,必須先輸入密碼,之後有 5 分鐘的有效期限,超過期限則必須重新輸入密碼
若其未經授權的使用者企圖使用

sudo

,則會發出警告郵件給管理者

2.組管理

提示:建立組 / 删除組 的終端指令都需要通過

sudo

執行
序号 指令 作用
01 groupadd 組名 添加組
02 groupdel 組名 删除組
03 cat /etc/group 确認組資訊
04 chgrp -R 組名 檔案/目錄名 遞歸修改檔案/目錄的所屬組

有規律的. group代表群組的意思 add就是添加的意思.

etc目錄是儲存組的配置資訊的.

如下圖所示:

添加組:

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

添加完組之後,組的配置資訊會在 /etc/group下. 是以我們檢視一下這個檔案是否有我們添加的

組的資訊

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

可以看到.group中已經有我們添加的組了.

提示:
  • 組資訊儲存在

    /etc/group

    檔案中
  • /etc

    目錄是專門用來儲存 系統配置資訊 的目錄
  • 在實際應用中,可以預先針對 組 設定好權限,然後 将不同的使用者添加到對應的組中,進而不用依次為每一個使用者設定權限

如果不添加sudo 那麼就會提示你需要修改 /etc/group檔案.

2.1 演練目标.講一個檔案設定到組中

  1. IBinary

    使用者的桌面檔案夾下建立

    test

    目錄
  2. 建立

    AAAA

  3. test

    目錄的組修改為

    AAAA

    對應指令:

    mkdir test

    sudo groupadd AAAA

    sudo chgrp -R AAAA test

    将test目錄設定到AAAA組中.

    如下圖所示:

    Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

四丶添加linux使用者,以及删除linux使用者

1.指令

提示:建立使用者 / 删除使用者 / 修改其他使用者密碼 的終端指令都需要通過

sudo

執行
序号 指令 作用 說明
01 useradd -m -g 組 建立使用者名 添加新使用者
  • -m 自動建立使用者家目錄
  • -g 指定使用者所在的組,否則會建立一個和同名的組
02 passwd 使用者名 設定使用者密碼 如果是普通使用者,直接用 passwd 可以修改自己的賬戶密碼
03 userdel -r 使用者名 删除使用者 -r 選項會自動删除使用者家目錄
04 cat /etc/passwd | grep 使用者名 确認使用者資訊 建立使用者後,使用者資訊會儲存在 /etc/passwd 檔案中
提示:
  • 建立使用者時,如果忘記添加

    -m

    選項指定新使用者的家目錄 —— 最簡單的方法就是删除使用者,重新建立
  • 建立使用者時,預設會建立一個和使用者名同名的組名
  • 使用者資訊儲存在

    /etc/passwd

    檔案中

在linux中添加使用者之後,必須使用passwd 設定這個使用者的密碼. 否則不能遠端連接配接

添加之後重新開機,那麼你就可以切換使用者登入了.

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

2.使用者指令

序号 指令 作用
01 id [使用者名] 檢視使用者 UID 和 GID 資訊
02 who 檢視目前所有登入的使用者清單
03 whoami 檢視目前登入使用者的賬戶名

1.id指令的使用.

id 指令可以檢視使用者的id以及組的id

如下圖:

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

uid是使用者id

gid就是組id

這些資訊都存放在 /etc/passwd檔案中. 是以我們要對這個檔案存放使用者的各式搞明白

使用指令:

cat -n /etc/passwd

顯示如下:

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

格式依次是:

  1. 使用者名
  2. 密碼(x,表示加密的密碼)
  3. UID(使用者辨別)
  4. GID(組辨別)
  5. 使用者全名或本地帳号
  6. 家目錄
  7. 登入使用的 Shell,就是登入之後,使用的終端指令,

    ubuntu

    預設是

    dash

  8. 了解下即可.

2.who 指令 以及 whoami指令

who顧名思義就是我是誰的意思. 它的意思就是看一下目前使用者是誰登入了linux.

whoami就是列出目前所有登入在linux中的使用者.

如下示範:

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

who顯示的是你的使用者名,其中後面 (:0) 代表的是目前登入.

whoami就是顯示所有登入在這個linux的使用者.當你用ssh連結的時候.就會有了.因為目前隻有一個

使用者.是以就顯示了一個.

3.讓添加的使用者具有sudo權限

我們使用

useradd

指令添加的使用者.預設是沒有sudo權限的. 因為他不在sudo這個組中.

我們可以使用指令

cat -n /etc/group | grep 使用者名

過濾一下. 可以看到.使用者并沒有在

這個檔案中.

比如我們的主使用者跟添加的使用者相比較.

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

後面有我們的使用者名,代表的是使用者.意思就是使用者擁有這個權限

我們可以看21行. sudo 後面有ibinary我們的使用者名.就代表ibinary這個使用者可以有sudo的權限.

我們看下我們添加的使用者.

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

如果查找我們添加的使用者.則沒有.

1.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 使用者名           

注意: 使用者的主組是通過

useradd -g

指定的.這個組一般不會改. 我們修改的是使用者的附加組.是以選項不一樣

都是用大 G選項. 而不是 小g選項. 一般修改的就是使用者的附加組.

可以了解為: 小g是代表你這個使用者在一個小組裡面. 大G代表的是,你還在這個小組裡面.隻不過你的權限高了.

我給你提升權限了.

如下:

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

可以看到上圖,我們的sudo組中,已經有zhangsan使用者了. 那麼以後我們做系統維護的話.zhangsan就可以使用

sudo權限了.

2.usermod 修改使用者預設登入的shell

看标題可能不懂,那麼說一下. 在我們linux中有終端. 終端就是shell 不過終端使用的shell是

bash. 而我們還有一種是dash. dash的話隻會顯示一個$符号. bash則會全部顯示.

而且可以解決一個問題.就是你按 ↑箭頭的時候.可以顯示出你以前的指令. 但是dash不可以.

putty xshell登入的時候.預設就是dash. 是以有時候會出現你敲過的指令 按↑鍵的話則會出現亂碼.

修改一下即可.

指令:

usermod -s /bin/bash 使用者名

如下:

Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令

我們修改為bash即可.否則就會出現上面亂碼情況.

4.which 檢視指令所執行位置的路徑

which指令很簡單.可以檢視你的指令是在那個目錄.

如我們的passwd. 一個是在/etc/bin 另一個就是/usr/bin/passwd.

一個是儲存使用者資訊的檔案.一個是使用者修改使用者密碼的程式.

  • which

    指令可以檢視執行指令所在位置,例如:
which ls

# 輸出
# /bin/ls

which useradd

# 輸出
# /usr/sbin/useradd           

1.指令存放目錄簡介

  • 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

    指令的位置

5.使用者切換

有的時候,一個使用者沒有的權限.我們可以切換到另一使用者使用.

指令格式如下:

序号 指令 作用 說明
01 su - 使用者名 切換使用者,并且切換目錄 - 可以切換到使用者家目錄,否則保持位置不變
02 exit 退出目前登入賬戶
  • su

    不接使用者名,可以切換到

    root

    ,但是不推薦使用,因為不安全
  • `exit 可以退出目前切換的使用者.傳回上一層使用者.
    Linux基礎知識第七講,使用者權限以及使用者操作指令Linux基礎知識第七講,使用者權限以及使用者操作指令
    可以直接切換到root使用者. 切換之後,就不用使用sudo指令了.

    6.權限修改總結

    linux中我們可以修改組, 檔案權限. 也可以修改擁有者.

    如下:

序号 指令 作用
01 chown 修改擁有者
02 chgrp 修改組
03 chmod 修改權限
  • 指令格式如下:
# 修改檔案|目錄的擁有者
chown 使用者名 檔案名|目錄名

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

# 遞歸修改檔案權限
chmod -R 755 檔案名|目錄名           
  • chmod

    在設定權限時,可以簡單地使用三個數字分别對應 擁有者 / 組 和 其他 使用者的權限
# 直接修改檔案|目錄的 讀|寫|執行 權限,但是不能精确到 擁有者|組|其他
chmod +/-rwx 檔案名|目錄名           

可以用ls -l 檢視詳細權限.

轉載于:https://www.cnblogs.com/iBinary/p/10208782.html

繼續閱讀