基本許可權ugo
許可權物件
屬主:u
屬組:g
其他人:o
全部:a(u+g+o)
許可權型別
讀:r=4
寫:w=2
執行:x=1
設定許可權
1.更改許可權
使用符號更改:
chmod 物件(u/g/o/a)賦值符(+/-/=)許可權型別(r/w/x) 檔案/目錄
例1:chmod u=rwx file1.txt(給file1屬主讀寫執行的權利)使用數字更改:例2:chmod g+w file1.txt(給file1屬組加個寫的許可權,注是在原有許可權基礎上加的)
例3:chmod o-w file1.txt(給file1其他人的寫許可權刪除,注意只是刪除了寫許可權,其他許可權不變)
注意:1.若u之前有rwx許可權,若u=r,則wx許可權剝奪了,若u= ,則說明u什麼許可權都沒了
2.給使用者授予許可權時一定不要把使用者檔案放root中,因為使用者無法進入root
chmod加-r引數,是對目錄進行授權,目錄下的所有檔案也都授權了
chmod 數字 檔案/目錄
例:chmod 766 file1.txt(對於file1這個檔案,u有rwx權,g和o有rw權)2.更改屬主、屬組
設定檔案屬於誰:
chown 使用者名稱.組名 檔案
例1: chown alice.hr file1 //改檔案file1的屬主為alice、屬組為hr設定檔案屬於哪個組:例2:chown alice file2 //只改檔案file2的屬主為alice
例3:chown .hr file3 //只改檔案file3的屬組為hr,注意前面加點
chgrp 組名 檔案
基本許可權acl
ugo與acl區別
acl檔案許可權管理: 設定不同使用者,不同的基本許可權(r、w、x)。物件數量不同。
ugo設定基本許可權: 只能乙個使用者,乙個組和其他人
acl是ugo的補充
語法命令 設定 使用者或組:使用者名稱或組名:許可權 檔案物件
例:setfacl -m u:alice:rwx file.txt(將file檔案的屬主改為alice且具有讀寫執行許可權)命令
setfacl設定:
(1)修改
setfacl -m
例:setfacl -m g:hr:rw file.txt(將file檔案的屬組改為hr且具有讀寫許可權)(2)刪除
setfacl -x //刪除某個組的acl許可權
setfacl -b //刪除所有acl許可權
例1:setfacl -x g:hr /home/test.txt //刪除組hr的acl許可權getfacl讀取:注意:-x是刪除這個組或使用者的全部acl許可權,若只想刪除某個許可權,例只想刪除r許可權則可用setfacl重新設定即可,不用-x刪除整個acl許可權了
例2:setfacl -b /home/test.txt //刪除所有acl許可權,是新加的使用者和組的許可權不刪除檔案本身的許可權
getfacl 檔案
getfacl與ll的區別就是,getfacl檢視的比較全,會顯示每個使用者、組的許可權等,ll檢視的會有疊加1、特殊位 suid
#高階許可權的型別:suid,(sgid)針對檔案/程式時,具備臨時提公升許可權。
#問題1: 下面的操作,為什麼會失敗!
[root@localhost ~]
# ll /root/file1.txt
-rw-r--r-- 1 root root 4 7月 27 14:14 /root/file1.txt
[root@localhost ~]
#su - alice
[alice@localhost ~]$ cat /root/file1.txt
cat: /root/file1.txt: 許可權不夠
#分析:root執行是超管的許可權,普通使用者執行時是普通使用者的許可權。
root /usr/bin/cat (root) /root/file1.txt ok
alice /usr/bin/cat (alice) /root/file1.txt
#示例1
#設定suid,使普通使用者通過suid臨時提權,檢視超管root使用者的檔案
#1.為cat程式新增上suid許可權。
[root@qianfeng ~]
# ll /usr/bin/cat
#自習觀察輸出資訊1
[root@qianfeng ~]
# chmod u+s /usr/bin/cat
[root@qianfeng ~]
# ll /usr/bin/cat
#自習觀察輸出資訊2(這兩次有什麼不同呢?)
#2.使用普通使用者執行cat。暫時獲得root許可權
[alice@qianfeng ~]$ cat /root/file1.txt
#請在試驗後,將cat的suid許可權除去。
[root@qianfeng ~]
# chmod u-s /usr/bin/cat
[root@qianfeng ~]
# ll /usr/bin/cat
#自習觀察輸出資訊3(請確認是否刪除suid特殊許可權)
2、檔案屬性chattr
用途:常用於鎖定某個檔案,拒絕修改。
分類:
案例
#1 先建立新檔案進行對比。檢視預設許可權。
[root@qianfeng ~]
# touch file100
[root@qianfeng ~]
# lsattr file100
-------------- file100
#2 加上不能刪除的屬性。
[root@qianfeng ~]
# chattr +i file100 //不能更改,重新命名,刪除
#3 檢視不同屬性
[root@qianfeng ~]
# lsattr file100
----i--------e- file100
#4 嘗試刪除
[root@qianfeng ~]
# rm -rf file100
rm: cannot remove `file100': operation not permitted
#5 將屬性還原。
[root@qianfeng ~]
# chattr -i file100
注意
設定檔案屬性(特別許可權),針對所有使用者,root是否會收到影響呢?
3、程序掩碼umask
程序掩碼 umask
概述:新建檔案、目錄的預設許可權會受到umask的影響,umask表示要減掉的許可權
#示例1: 在shell程序中建立檔案,先檢視當前使用者的umask許可權
[root@qianfeng ~]
# umask
0022
[root@qianfeng ~]
# touch file800
[root@qianfeng ~]
# mkdir dir800
[root@qianfeng ~]
# ll -d dir800 file800
drwxr-xr-x. 2 root root 4096 3月 11 19:40 dir800
-rw-r--r--. 1 root root 0 3月 11 19:40 file800
#示例2:修改shell umask值(臨時)
[root@qianfeng ~]
# umask 000
[root@qianfeng ~]
# mkdir dir900
[root@qianfeng ~]
# touch file900
[root@qianfeng ~]
# ll -d dir900 file900
drwxrwxrwx. 2 root root 4096 3月 11 19:44 dir900
-rw-rw-rw-. 1 root root 0 3月 11 19:44 file900
使用者的許可權(基本許可權UGO
屬主 u 屬組 g 其他人 o 所有人 a u g o 讀 r 4 寫 w 2 執行 x 1 語法使用符號 u使用者 g組 o其他 r讀 w寫 x執行 語法 chmod 物件 u g o a 賦值符 許可權型別 r w x 檔案 目錄4讀 2寫 1執行 root localhost chmod 64...
mysql配置使用者許可權 mysql使用者許可權配置
mysql使用者許可權配置 有什麼不對的地方請各位大神多多指教!1,檢視使用者表 mysql select user,password,host from mysql.user user 使用者名稱 password 密碼 加密 host 連線ip 2,開放遠端連線 vim etc mysql ma...
oracle使用者的許可權
dba 擁有全部特權,是系統最高許可權,只有dba才可以建立資料庫結構。resource 擁有resource許可權的使用者只可以建立實體,不可以建立資料庫結構。connect 擁有connect許可權的使用者只可以登入oracle,不可以建立實體,不可以建立資料庫構。對於普通使用者 授予conne...