本人就是菜鳥一個,把之前的學習筆記然後拿出來復習一下,順便記錄下來,希望小伙伴們在閱讀過程中有不對的地方,還請幫忙指出來,下面說說Linux賬號和權限管理,我們共同進步。
一. 用戶和組的管理
- 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 [選項]... 用戶名
-l:更改用戶帳號的登錄名稱
-L:鎖定用戶賬戶
-U:解鎖用戶賬戶
以下選項與useradd命令中的含義相同
-u、-d、-e、-g、-G、-s
userdel [-r] 用戶名 #添加 -r 選項時,表示連用戶的宿主目錄一並刪除
chage -d 0 用戶名
2.組的管理:
/etc/group #保存組賬號基本信息
/etc/gshadow #保存組賬號的加密密碼信息,很少用
groupadd命令
groupadd [-g GID] 組帳號名
gpasswd [選項]... 組帳號名
-a:向組內添加一個用戶
-d:從組內刪除一個用戶成員
-M:定義組成員列表,以逗號分隔
groupdel 組帳號名
id命令
用途:查詢用戶身份標識
格式:id [用戶名]
groups命令
用途:查詢用戶所屬的組
格式:groups [用戶名]
finger命令
用途:查詢用戶帳號的詳細信息
格式:finger [用戶名]
users、w 、who命令
用途:查詢已登錄到主機的用戶信息
二. 文件和目錄的屬性:屬主、屬組、權限
A. 訪問權限
讀取r:允許查看文件內容、顯示目錄列表
寫入w:允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄
可執行x:允許運行程序、切換目錄
B. 歸屬(所有權)
屬主:擁有該文件或目錄的用戶帳號
屬組:擁有該文件或目錄的組帳號
第一個字符:表示文件或目錄的類型,可以是d(目錄)、b(塊設備文件)、c(字符設備文件),減號“-”(普通文件)、字母“l”(鏈接文件)等。
第2-4個字符:表示屬主的權限
第5-7個字符:表示屬組的權限
第8-10個字符:表示其它人的權限
查看文件/目錄的權限和歸屬
---------------------------------------------------------------------------------
| 權限項 | 讀 | 寫 | 執行 | 讀 | 寫 | 執行 | 讀 | 寫 | 執行 |
---------------------------------------------------------------------------------
|字符表示| 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://xxxxxx/Linuxjc/1135389.html TechArticle