linux 權限命令

基本權限  

r  4  讀    w 2 寫    x  1  執行

chown

chown cj /test

chown cj:group /text 

chgrp

chgrp -R  root  file

添加組成員

gpasswd -a user_name group_name

 

chmod

 

$ chmod u+x file                      給file的屬主增加執行權限

$ chmod 751 file                      給file的屬主分配讀、寫、執行(7)的權限,給file的所在組分配讀、執行(5)的權限,給其他用戶分配執行(1)的權限

$ chmod u=rwx,g=rx,o=x file      上例的另一種形式

$ chmod =r file                     爲所有用戶分配讀權限

$ chmod 444 file                   同上例

$ chmod a-wx,a+r   file          同上例

$ chmod -R u+r directory           遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的權限

$ chmod 4755                            設置用ID,給屬主分配讀、寫和執行權限,給組和其他用戶分配讀、執行的權限。

 

FACL   

-m  改變   -x   移除

setfacl -m user(u):cj:rw file

setfacl -m group(g):root:rw file

setfacl -m mask(m)::r  file     臨時管理,只要有下個user加進去,此命令就會失效

getfacl  file

ACL高級(mask , default)

[root@master2-dev ~]# setfacl -m u:wj:rwx install.log
 

[root@master2-dev ~]# getfacl install.log
# file: install.log
# owner: root
# group: wj
user::---
user:wj:rwx
group::---
mask::rwx
other::---

mask 除了所有者和其他人都會受mask影響

建議:爲了方便管理文件權限,其他人的權限爲空

[root@master2-dev ~]# setfacl -m o::- install.log    //chmod  o=- install.log

setfacl -m mask(m)::r  file     臨時管理,只要有下個user加進去,此命令就會失效

[root@master2-dev ~]# getfacl install.log
# file: install.log
# owner: root
# group: wj
user::---
user:wj:rwx
group::---
mask::rwx
other::---
 

[root@master2-dev ~]# getfacl install.log
# file: install.log
# owner: root
# group: wj
user::---
user:wj:rwx            #effective:---
group::---
mask::---
other::---
 

[root@master2-dev ~]# setfacl -m u:ocdp:r install.log
[root@master2-dev ~]# getfacl install.log
# file: install.log
# owner: root
# group: wj
user::---
user:ocdp:r--
user:wj:rwx
group::---
mask::rwx
other::---
 

繼承:d

setfacl -m -R d:u:ocdp:rw file1     //-R 遞歸  file1下面創建的所有目錄都對ocdp有讀寫權限

高級權限 suid(4) sgid(2) sticky(1)

sgid 新建文件繼承目錄數組

chmod g+s /home/hr

sticky 用戶只能刪除自己的文件

chmod o+t /file

  文件 目錄
suid √以所有者  
sgid    繼承屬組
sticky   用戶只能刪除自己的文件

文件屬性 lsattr chattr

chattr
用chattr命令可以改變一個文件的隱藏屬性。其語法格式爲:

chattr [ -RVf ] [ -v version ] [ mode ] files…

下面給出幾個選項的含義:

選項    含義
-R    遞歸更改目錄下所有子目錄和文件的屬性
-V    顯示詳細信息
-f    忽略大部分錯誤信息
-v version    設置文件的檔案號碼
mode    設置文件的隱藏屬性,其格式爲+-=[acdeijstuACDST]
最關鍵的是在[mode]部分,[mode]部分的格式是+-=[acdeijstuACDST],這部分是用來設置文件的屬性。其中+表示在原有參數設定基礎上追加參數;-表示在原有參數設定基礎上移除參數;=表示更新爲指定參數。下面列出幾個常用的屬性參數的含義:

屬性    含義
A    文件的atime(access time)不可被修改,這樣可以減少磁盤I/O數量,對於筆記本電腦有利於提高續航能力
S    硬盤I/O同步選項,功能類似sync
a    即append,設定該參數後,只能向文件中添加數據,而不能刪除,多用於服務器日誌文件安全,只有root才能設定這個屬性
i    文件不能被刪除、改名、設定鏈接關係,同時不能寫入或新增內容(即使是root用戶)。只有root才能設定這個屬性
c    即compresse,文件會自動的經壓縮後再存儲,讀取時會自動的解壓
d    即no dump,設定文件不能成爲dump程序的備份目標
j    即journal,設定此參數使得當通過mount參數”data=ordered”或”data=writeback”掛載的文件系統,文件在寫入時會先被記錄(在journal中)。如果filesystem被設定參數爲data=journal,則該參數自動失效
s    即secure,保密選項。設置了s屬性的文件在被刪除時,其所有數據塊會被寫入0
u    即undelete,反刪除選項。與s相反,文件在被刪除時,其所有的數據塊都保留着,用戶今後可以恢復該文件
例如這條命令,可以將MySecretDir目錄下的文件設置爲不允許任何人修改:

$ sudo chattr -R =i ~/MySecretDir
1
lsattr
用lsattr命令列出文件的隱藏屬性。其語法格式爲:

lsattr [ -RVadv ] [ files… ]

下面給出幾個選項的含義:

選項    含義
-R    遞歸顯示目錄下所有子目錄和文件的屬性
-V    顯示lsattr程序的版本信息
-a    顯示所有文件的屬性信息,包括以.開頭的文件
-d    顯示目錄的屬性,而不是目錄下的文件的屬性
-v    顯示文件的檔案號碼
例如,下面這條命令顯示MySecretDir目錄的隱藏屬性:

$ lsattr -Rd MySecretDir/
----i----------- MySecretDir/

umask

umask 0022   要剪掉的權限   這樣設置是暫時的,shell窗口關閉就失效了

umask -S

u=rwx,g=rx,o=rx

vim /etc/login.defs   //永久    UMASK           077
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章