linux使用者是通過user id 來識別的
管理員:root uid=0
普通使用者:uid 1-60000來分配
系統使用者對應的uid=1-999(centos7後)對守護程序的資源獲取進行許可權分配
登入的普通使用者uid 1000+ 主要是給使用者進行互動式登入
組是通過group id來識別的
root組 gid=0
系統組gid=1-999,對守護程序的資源獲取進行許可權分配
普通組gid=1000+ 普通使用者使用
使用者和組的關係:使用者只能有乙個主組,預設的建立使用者會自動建立和使用者名稱相同的組作為主組,組中只有乙個使用者的也叫私有組
使用者除了可以有乙個主組外還可以有多個附加組
#下面命令可以檢視組關係和uid、gid
id root
uid=0(root) gid=0(root) groups=0(root)
使用者可以檢視的檔案和許可權有關,有些檔案只能是有相關許可權的使用者才可以檢視所以許可權至關重要
使用者和組的配置檔案在下面目錄
/etc/passwd #使用者和屬性資訊
/etc/shadow #使用者密碼和相關屬性
/etc/group #組和屬性資訊
/etc/gshadow #組密碼和屬性資訊
下面是相關的命令
useradd
#建立使用者命令
userdel
#刪除使用者命令
usermod
#修改使用者屬性命令
groupadd
#建立組命令
groupdel
#刪除組命令
groupmod
#修改組命令
newgrp #臨時切換主組命令
groupmems #更改和檢視組成員關係
檔案許可權一般分為:
所有者許可權(owner)
所屬組許可權(group)
其他人許可權(other)
-rw-r--r--. 1 root root 1982 aug 9 2019 vir
#比如這個最前面有三組許可權,-表示沒有許可權
許可權屬性分為
讀許可權(readable)簡稱 r
寫許可權(writable) 簡稱 w
執行許可權(excutable) 簡稱 x
用數字來表示r=4 w=2 x=1 所有7是最大許可權
比如:wrx------ = 700 許可權
wrx-r–r- = 744 許可權
umask 可以用來保留建立檔案許可權
新檔案的建立預設許可權是:666-umask,許可權結果是奇數則許可權+1,偶數許可權不變
新建目錄許可權是:777-umask
普通使用者的umask預設002
root使用者umask預設022
umask持久保持檔案:
全域性設定:/etc/bashrc
使用者設定:~/.bashrc
修改許可權命令:
chmod
#檔案許可權修改命令
chown
#所有者所屬組修改命令
chgrp
#只修改檔案屬組
檔案系統的特殊許可權
除了wrx許可權外還有三種特殊許可權:suid、sgid、sticky
suid:二進位制可執行檔案上面的suid許可權功能
任何乙個可執行程式檔案能不能啟動為程序,取決與發起者對檔案是否擁有執行許可權
啟動為程序後,程序的屬主為原程式的屬主
suid只對二進位制可執行檔案有效
suid設定在目錄上沒有意義
設定方法:
chmod g+s file
chmod 2444 file
chmod g-s file
sgid:二進位制可自行檔案的sgid許可權功能
任何乙個可執行程式檔案能不能啟動為程序,取決與發起者對檔案是否擁有執行許可權
啟動為程序後,程序的屬主為原程式的屬主
注:目錄上面的sgid功能:預設情況下,在使用者建立檔案,檔案屬組為建立使用者的主組,但是被設定了sgid,則對目錄有寫許可權的使用者在此目錄中建立的檔案屬組為目錄屬組,一般用於建立協作目錄
設定方法:
chmod g+s dir
chmod 2444 dir
chmod g-s dir
sticky:有此許可權的目錄通常可以刪除目錄中的任何檔案,無**件許可權或擁有權在目錄設定sticky位,只有檔案的所有者或者root可以刪除此檔案,所有sticky設定在檔案上無意義
設定方法:
chmod o+t dir
chmod 1444 dir
chmod o-t dir
如何設定檔案的其他特殊許可權
chattr +i #不能刪除,改名,更改
chattr +a #只能追加內容
lsattr #顯示特定許可權
acl許可權
acl可以靈活的實現許可權管理,除了檔案的所有者,所屬組和其他人,可以對更多使用者設定許可權
acl生效順序
所有者—>自定義使用者—>所屬組|自定義組—>其他人
setfacl #設定acl許可權命令
getfacl #檢視設定的acl許可權
acl也可以對mask許可權設定
setfacl -m mask::rx file
mv和cp命令也支援acl功能 使用者和許可權管理
建立使用者 username 你將建立的使用者名稱 host 指定該使用者在哪個主機上可以登陸,如果是本地使用者可用localhost,如果想讓該使用者可以從任意遠端主機登陸,可以使用萬用字元 password 該使用者的登陸密碼,密碼可以為空,如果為空則該使用者可以不需要密碼登陸伺服器 例子 cr...
使用者和許可權管理
一 使用者管理 1 開啟遠端登入 在服務端開啟 1.sudo i 2.cd etc mysql mysql.conf.d 3.cp mysqld.cnf mysqld.cnf.bak 4.vi mysqld.cnf 找到43行左右 加 注釋 bind address 127.0.0.1 5.儲存退出...
檔案許可權管理和使用者管理
修改檔案或目錄許可權 linux系統的使用者管理 linux系統是乙個典型的多使用者系統,不同使用者處於不同地位,擁有不同的許可權 他是為了保護linux系統的安全性 linux系統不同的使用者訪問同乙個檔案 目錄 的許可權做出不同的規定 在linux系統中如何區分檔案和目錄 靠著檔案屬性區分 檔案...