歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux賬號和權限管理

Linux賬號和權限管理

日期:2017/3/1 11:46:11   编辑:關於Linux

  一. 用戶和組的管理

  - Linux中用戶種類

  種類   特點

  root   是管理員,擁有至高無上的權限,不受限制,UID為0

  普通用戶   管理員創建的用戶,受權限限制,UID一般從500開始,可以登錄系統

  程序用戶   安裝應用程序,系統創建的,一般UID小於500,一般不可以登錄系統,shell一般是/sbin/nologin

  Linux中組的種類:

  種類   特點

  基本組(私有組)   一個用戶只有一個私有組,當用戶創建目錄和文件的時候,目錄和文件默認的屬組是基本組

  附加組(公共組)   用戶可以有多個附加組

  用戶的管理:

  /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刪除不了

  

[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

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

Copyright © Linux教程網 All Rights Reserved