首頁 > 軟體

Linux賬號和許可權管理

2020-06-16 17:39:12

本人就是菜鳥一個,把之前的學習筆記然後拿出來複習一下,順便記錄下來,希望小夥伴們在閱讀過程中有不對的地方,還請幫忙指出來,下面說說Linux賬號和許可權管理,我們共同進步。

一. 使用者和組的管理
- Linux中使用者種類

種類 特點
root 是管理員,擁有至高無上的許可權,不受限制,UID為0
普通使用者 管理員建立的使用者,受許可權限制,UID一般從500開始,可以登入系統
程式使用者 安裝應用程式,系統建立的,一般UID小於500,一般不可以登入系統,shell一般是/sbin/nologin
  • Linux中組的種類:
種類 特點
基本組(私有組) 一個使用者只有一個私有組,當使用者建立目錄和檔案的時候,目錄和檔案預設的屬組是基本組
附加組(公共組) 使用者可以有多個附加組
  1. 使用者的管理:
/etc/passwd   #存放了使用者的資訊
/etc/shadow   #存放了使用者的密碼資訊等
  • 新增使用者賬號

    useradd命令

useradd  [選項]...  使用者名稱   
    -u:指定 UID 標記號
    -d:指定宿主目錄,預設為 /home/使用者名稱
    -e:指定帳號失效時間
    -g:指定使用者的基本組名(或UID號)
    -G:指定使用者的附加組名(或GID號)
    -M:不為使用者建立並初始化宿主目錄
    -s:指定使用者的登入Shell
  • 設定/更改使用者口令

    passwd命令

passwd  [選項]...  使用者名稱
    -d:清空使用者的密碼,使之無需密碼即可登入
    -l:鎖定使用者帳號
    -S:檢視使用者帳號的狀態(是否被鎖定) 
    -u:解鎖使用者帳號
  • 修改使用者賬號的屬性
    usermod命令
usermod  [選項]...  使用者名稱
    -l:更改使用者帳號的登入名稱
    -L:鎖定使用者賬戶
    -U:解鎖使用者賬戶
    以下選項與useradd命令中的含義相同
    -u-d-e-g-G-s
  • 刪除使用者賬號
    userdel命令
userdel  [-r]  使用者名稱  #新增 -r 選項時,表示連使用者的宿主目錄一併刪除
  • 使用者第一次登陸必須更改密碼
chage  -d  0  使用者名稱   

2.組的管理:

/etc/group   #儲存組賬號基本資訊
/etc/gshadow  #儲存組賬號的加密密碼資訊,很少用
  • 新增組賬號

groupadd命令

groupadd  [-g GID]  組帳號名
  • 新增刪除組成員
    gpasswd命令
    用途:設定組帳號密碼(極少用)、新增/刪除組成員
gpasswd  [選項]...  組帳號名
    -a:向組內新增一個使用者
    -d:從組內刪除一個使用者成員
    -M:定義組成員列表,以逗號分隔
  • 刪除組賬號
    groupdel命令
groupdel  組帳號名
  • 查詢賬號資訊:

id命令

    用途:查詢使用者身份標識
    格式:id  [使用者名稱]

groups命令

    用途:查詢使用者所屬的組
    格式:groups  [使用者名稱]

finger命令

    用途:查詢使用者帳號的詳細資訊
    格式:finger  [使用者名稱]

users、w 、who命令

    用途:查詢已登入到主機的使用者資訊

二. 檔案和目錄的屬性:屬主、屬組、許可權

  • 檔案/目錄的許可權和歸屬
A.  存取許可權
        讀取r:允許檢視檔案內容、顯示目錄列表
        寫入w:允許修改檔案內容,允許在目錄中新建、移動、刪除檔案或子目錄
        可執行x:允許執行程式、切換目錄
B.  歸屬(所有權)
        屬主:擁有該檔案或目錄的使用者帳號
        屬組:擁有該檔案或目錄的組帳號
  • ls -l 執行命令後得結果分析
第一個字元:表示檔案或目錄的型別,可以是d(目錄)b(塊裝置檔案)c(字元裝置檔案),減號“-”(普通檔案)、字母“l”(連結檔案)等。
第2-4個字元:表示屬主的許可權
第5-7個字元:表示屬組的許可權
第8-10個字元:表示其它人的許可權
  • Linux中基本許可權分為r(4)、w(2)、x(1)
檢視檔案/目錄的許可權和歸屬
---------------------------------------------------------------------------------
| 許可權項 |  讀  |   寫  |  執行 |   讀  |   寫  |  執行 |   讀  |   寫  |  執行 |
---------------------------------------------------------------------------------
|字元表示|  r   |   w   |   x   |   r   |   w   |   x   |   r   |   w   |   x   |
---------------------------------------------------------------------------------
|數位表示|  4   |   2   |   1   |   4   |   2   |   1   |   4   |   2   |   1   |
---------------------------------------------------------------------------------
|許可權分配|  檔案所有者   |   檔案所屬組   |   其他使用者    |%2
  • 設定檔案和目錄的許可權

    chmod命令

         格式1:chmod   [ugoa]  [+-=] [rwx]  檔案或目錄... 

         格式2:chmod nnn 檔案或目錄...

         常用命令選項

         -R:遞回修改指定目錄下所有子項的全新
  • 設定檔案和目錄的歸屬

chown命令

        格式:chown  屬主  檔案或目錄

        chown  :屬組  檔案或目錄

        chown  屬主:屬組  檔案或目錄

        常用命令選項

        -R:遞回修改指定目錄下所有檔案、子目錄的歸屬

 

  • 使用者賬號的初始組態檔

  檔案來源

      新建使用者帳號時,從/etc/skel 目錄中複製而來

      主要的使用者初始組態檔

      ~/.bash_profile:使用者每次登入時執行

      ~/.bashrc:每次進入新的Bash環境時執行

      ~/.bash_logout:使用者每次退出登入時執行

A.Umask  可以設定新建檔案、目錄時的預設許可權,(預設許可權 = 現有預設許可權 - 許可權掩碼)

Umask [許可權掩碼]

 

B.附加許可權

a)Set位許可權:給可執行的程式或指令碼檔案設定。 SUID----4, SGID----2

執行檔案設定了set後,任何使用者在執行該檔案時,獲得該檔案屬主、屬組賬號對應的身份。

比如普通使用者無法修改/etc/shadow檔案,但是卻可以修改自己的密碼,因為/usr/bin/passwd設定了set許可權。

ll  /usr/bin/passwd

例: cp /bin/mkdir  /tmp/mymkdir

     Chmod u+s /tmp/mymkdir

     ll /tmp/mkdir

     切換到其他使用者,/tmp/mymkdir  建立檔案(宿主目錄下),發現屬主為root。而mkdir屬主為自己

b)黏滯位:用於為目錄設定特殊的附加許可權,當目錄被設定了黏滯位許可權以後,即便使用者對該目錄寫入許可權,也不能刪除該目錄中其他使用者的檔案資料。例 /tmp  , /var/tmp

例: 在/tmp中,使用使用者aa建立檔案,使用使用者bb刪除不了
<pre name="code" class="html">[root@localhost ~]# su - vanko
[vanko@localhost ~]$ cd /tmp/
[vanko@localhost tmp]$ mkdir vanko
[vanko@localhost tmp]$ ls -ltr
total 4
drwxrwxr-x 2 vanko vanko 4096 Jan  8 10:09 vanko
[root@localhost ~]# su - xu
[xu@localhost ~]$ cd /tmp
[xu@localhost tmp]$ mkdir xu
[xu@localhost tmp]$ ls -ltr 
total 8
drwxrwxr-x 2 vanko vanko 4096 Jan  8 10:09 vanko
drwxrwxr-x 2 xu    xu    4096 Jan  8 10:09 xu
[xu@localhost tmp]$ rm -rf vanko
rm: cannot remove `vanko': Operation not permitted
[xu@localhost tmp]$ rm -rf xu

對於使用者和許可權我就寫了這麼多,還有其它方面沒有注意到了,還請多多保函!!!

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-06/132405.htm


IT145.com E-mail:sddin#qq.com