14 用戶組和權限管理4
一、雜項知識整理
1、groups 查看用戶所屬組列表
[user1@localhost ~]$ groups user3 user1
2、文件屬性:-rw-r–r–. 1 root root 0 8月 3 07:56 cgroup.clone_children
權限 引用計數 所有者 所屬組 大小 創建時間 文件名
r:可使用文件查看類工具獲取其內容
w:可修改其內容
x:可以把此文件提為一個進程
目錄屬性:r:查看目錄內容,列表,ls
x:cd,讀文件內容
w:對文件修改、刪除、創建。單獨有w無法實現,需要配合x
X:chmod -R a+X 加x權限至目錄而不給文件,若文件本身已經有任一x權限,則此文件能夠全部授權,a-X時,目錄,文件都取消。用數字設置權限不支持X,例如:
[root@localhost user.dir]# chmod -R a+X aaaa/ [root@localhost user.dir]# ll 總用量 4 -rw-r--r--. 1 root root 0 8月 3 08:51 a -rw-r--r--. 1 root root 0 8月 3 08:51 aa drwxr-xr-x. 4 root root 4096 8月 3 13:16 aaaa [root@localhost user.dir]# cd aaaa/ [root@localhost aaaa]# ll 總用量 8 -rw-r--r--. 1 root root 0 8月 3 13:12 a -rw-r--r--. 1 root root 0 8月 3 13:12 aa -rw-r--r--. 1 root root 0 8月 3 13:13 aaa drwxr-xr-x. 2 root root 4096 8月 3 13:14 aaaaaa -rw-r--r--. 1 root root 0 8月 3 13:16 abc drwxr-xr-x. 2 root root 4096 8月 3 13:16 abcd [root@localhost aaaa]# cd .. [root@localhost user.dir]# chmod -R a+x aaaa/ [root@localhost user.dir]# ll 總用量 4 -rw-r--r--. 1 root root 0 8月 3 08:51 a -rw-r--r--. 1 root root 0 8月 3 08:51 aa drwxr-xr-x. 4 root root 4096 8月 3 13:16 aaaa [root@localhost user.dir]# cd aaaa/ [root@localhost aaaa]# ll 總用量 8 -rwxr-xr-x. 1 root root 0 8月 3 13:12 a -rwxr-xr-x. 1 root root 0 8月 3 13:12 aa -rwxr-xr-x. 1 root root 0 8月 3 13:13 aaa drwxr-xr-x. 2 root root 4096 8月 3 13:14 aaaaaa -rwxr-xr-x. 1 root root 0 8月 3 13:16 abc drwxr-xr-x. 2 root root 4096 8月 3 13:16 abcd [root@localhost aaaa]# cd .. [root@localhost user.dir]# chmod -R a-X aaaa/ [root@localhost user.dir]# ll 總用量 4 -rw-r--r--. 1 root root 0 8月 3 08:51 a -rw-r--r--. 1 root root 0 8月 3 08:51 aa drw-r--r--. 4 root root 4096 8月 3 13:16 aaaa [root@localhost user.dir]# cd aaaa/ [root@localhost aaaa]# ll 總用量 8 -rw-r--r--. 1 root root 0 8月 3 13:12 a -rw-r--r--. 1 root root 0 8月 3 13:12 aa -rw-r--r--. 1 root root 0 8月 3 13:13 aaa drw-r--r--. 2 root root 4096 8月 3 13:14 aaaaaa -rw-r--r--. 1 root root 0 8月 3 13:16 abc drw-r--r--. 2 root root 4096 8月 3 13:16 abcd
3、給文件更改權限的幾種方式:文件權限與文件系統相關
chmod u=x file
chmod ug=x file 不管原本屬主屬組是什么權限,都變為只有x權限
chmod u+x file
chmod ug+x file 在原本的基礎上增加x權限
chmod 777 file 改變為777權限
chmod +r/x file 所有權限增加r和x
chmod +w file 只對所有者有效,增加w權限
4、關于umask:
umask:反掩碼:從最大權限中屏蔽相應的權限位,從而得出默認權限:對于文件:
110 110 110 6 6 6 創建文件最大權限:為了防止文件x權限而為666
001 011 111 1 3 7 如果反掩碼為137,根據屏蔽原理,反掩碼0不屏蔽,1屏蔽,得出結果為:
110 100 000 6 4 0 此結果正確
因此可以理解為:目錄:默認權限=最大權限-umask
文件:默認權限=最大權限-umask,如果出現奇數權限,則奇數那一位加1,偶數為不變。
配置文件位于/etc/.bashrc:更改umask值:umask ###暫時更改,更改配置文件永久更改。
5、特殊權限:SUID 、SGID、 Sticky BIT:
SUID:對可執行的二進制程序;有此特殊權限的程序,當運行為進程時,進程屬主不是發起者而是二進制程序自己的屬主;例如passwd;
chmod u+/-s FILE 如果本來有執行權限,顯示為s,沒有則為S
SGID:可以對目錄和二進制程序。當對目錄時,當目錄有寫權限時,那么所有用戶在目錄中新建文件或目錄時,新文件屬組不是用戶的基本組而是此目錄的屬組。
chmod g+/-s FILE 如果本來有執行權限,顯示為s,沒有則為S
Sticky BIT:對于屬組或者全局可寫的目錄,組內的所有用戶或系統上的所有用戶在此目錄中都能創建文件或者刪除文件,有sticky權限后,每個用戶能創建新文件,但是能刪除自己的文件。此權限設置在文件上沒有意義。
chmod o+/-t FILE 如果本來有執行權限,顯示為t,沒有則為T:系統的/tmp和/var/tmp默認有。
6、特殊權限的設置方法之二:chmod #### FILE 三個特殊權限自成一位8進制數,即:
1### sticky權限 2### sgid權限 7### 三個特殊權限都設置。
7、文件特殊屬性:chattr :
+/-i 有i屬性后不能刪除改名更改等
+/-a 有a屬性后只能追加內容,不能刪除等
lsatrr 顯示文件特殊屬性
[root@localhost testdir]# chattr +a aa [root@localhost testdir]# lsattr ---------------- ./string.txt ----------I----- ./shelltest ---------------- ./copytest ---------------- ./userinfo ---------------- ./user ---------------- ./lost+found ---------------- ./user.dir -----a---------- ./aa -----a---------- ./a ---------------- ./userpasswd [root@localhost testdir]# chattr +i a [root@localhost testdir]# chattr +i aa [root@localhost testdir]# lsattr ---------------- ./string.txt ----------I----- ./shelltest ---------------- ./copytest ---------------- ./userinfo ---------------- ./user ---------------- ./lost+found ---------------- ./user.dir ----ia---------- ./aa ----ia---------- ./a ---------------- ./userpasswd [root@localhost testdir]# cd aa [root@localhost aa]# touch aa touch: 無法創建"aa": 權限不夠
+ :在原有參數設定基礎上,追加參數。
– :在原有參數設定基礎上,移除參數。
= :更新為指定參數設定。
A:文件或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁盤I/O錯誤的發生。
S:硬盤I/O同步選項,功能類似sync。
a:即append,設定該參數后,只能向文件中添加數據,而不能刪除,多用于服務器日志文件安全,只有root才能設定這個屬性。
c:即compresse,設定文件是否經壓縮后再存儲。讀取時需要經過自動解壓操作。
d:即no dump,設定文件不能成為dump程序的備份目標。
i:設定文件不能被刪除、改名、設定鏈接關系,同時不能寫入或新增內容。i參數對于文件 系統的安全設置有很大幫助。
j:即journal,設定此參數使得當通過mount參數:data=ordered 或者 data=writeback 掛 載的文件系統,文件在寫入時會先被記錄(在journal中)。如果filesystem被設定參數為 data=journal,則該參數自動失效。
s:保密性地刪除文件或目錄,即硬盤空間被全部收回。
u:與s相反,當設定為u時,數據內容其實還存在磁盤中,可以用于undeletion。
各參數選項中常用到的是a和i。a選項強制只可添加不可刪除,多用于日志系統的安全設定。
I:系統自動生成的,用于文件夾的哈希樹索引?。
二、命令詳解及事例
1、umask命令:
-S 顯示umask的反向權限
[root@localhost ~]# umask -S u=rwx,g=rx,o=rx
更改umask的幾種方法:當前進程有效:
[root@localhost aaaa]# umask u=rw,g=r,o= [root@localhost aaaa]# umask 0137 [root@localhost aaaa]# umask 022 [root@localhost aaaa]# umask 0022
永久有效:配置文件:~/.bashrc或者/etc/bashrc,添加一行umask ###(都沒等于號)
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002 else umask 022 fi
命令:umask -p >> .bashrc 因為umask -p就是顯示umask 022,輸出可調用,相當于寫入文件。
2、chown命令:設置文件的屬主屬組:root才能執行;
-R 遞歸設置
–reference=RFILE FILE 將FILE的屬性設置為與RFILE相同
chown USER: FILE 文件屬組屬主都會改變
:GROUP 只改變屬組
root@localhost ~]# chown user1: aaa.txt [root@localhost ~]# ll 總用量 20 -rw-r--r--. 1 root root 46 7月 29 15:15 aaaaa.txt -rwxr-xr--. 1 user1 user1 39 7月 29 15:14 aaa.txt -rw-r--r--. 1 root root 54 7月 29 15:16 abc.txt -rw-------. 1 root root 1373 7月 19 05:02 anaconda-ks.cfg drwxr-xr-x. 3 root root 21 7月 28 21:25 mypython -rw-r--r--. 1 root root 319 8月 1 13:57 vimrc [root@localhost ~]# chown :user2 aaa.txt [root@localhost ~]# ll 總用量 20 -rw-r--r--. 1 root root 46 7月 29 15:15 aaaaa.txt -rwxr-xr--. 1 user1 user2 39 7月 29 15:14 aaa.txt -rw-r--r--. 1 root root 54 7月 29 15:16 abc.txt -rw-------. 1 root root 1373 7月 19 05:02 anaconda-ks.cfg drwxr-xr-x. 3 root root 21 7月 28 21:25 mypython -rw-r--r--. 1 root root 319 8月 1 13:57 vimrc
3、groupmems命令:更改和查看組成員:
-g 更改指定組,root權限,即要改其他組時加-g GROUPNAME
[root@localhost ~]# groupmems -g user2 -a user5 [root@localhost ~]# groupmems -g user2 -l user5
-a 指定用戶加入組
-d 從組中刪除用戶
-p 從組中清除所有成員
-l 顯示組成員列表
[root@localhost ~]# groupmems -l gentoo [root@localhost ~]# groupmems -p [root@localhost ~]# groupmems -l [root@localhost ~]# groupmems -a user3 [root@localhost ~]# groupmems -l user3 [root@localhost ~]# groupmems -d user3 [root@localhost ~]# groupmems -l
4、chgrp命令:設置文件的屬組信息,root權限;
-R 遞歸設置
-reference=RFILE FILE 將文件的屬組設置為與RFILE相同
root@localhost aaaa]# chgrp bin a [root@localhost aaaa]# ll 總用量 8 -rw-r--r--. 1 root bin 0 8月 3 13:12 a -rw-r--r--. 1 root root 0 8月 3 13:12 aa
三、課后作業及練習
見作業篇
原創文章,作者:SilencePavilion,如若轉載,請注明出處:http://www.www58058.com/27993