文件的權限詳解(一)

文件的權限


修改文件的屬主和屬組

chown

功能:更改屬主命令,同時也能更改屬組
用法:
  

  • chown  選項  [屬主名][:屬組名]  文件名  (分隔符改成.也行)

  • chown  選項   參考的文件=要更改的文件

    • chown [OPTION]… –reference=RFILE FILE…

  • -R或–recursive  遞歸處理,將指定目錄下的所有文件及子目錄一并處理。

注意:

   chown 用戶名 文件名———————表示設置文件的所屬主吧
   chown 用戶名:  文件名——————-表示設置文件的所屬主和跟所屬主相同的所屬組
   chown 用戶名:組名  文件名 —————表示設置文件的屬主屬組
   chown :組名  文件名 ———————-表示設置文件的屬組

chgrp

功能:修改文件的屬組
用法:

chgrp [選項] 文件名
chgrp [選項]… –reference=參考文件名  要修改的文件名…
-R 遞歸



文件的權限:

文件:

r: 可使用文件查看類工具獲取其內容
w: 可修改其內容
x: 可以把此文件提請內核啟動為一個進程

目錄:

r: 可以使用ls查看此目錄中文件列表
w: 可在此目錄中創建文件,也可刪除此目錄中的文件
x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄
X:只給目錄x權限,不給文件x權限

umask

功能說明:指定在建立文件時預設的權限掩碼。
用法:

umask #: 設定

補充:umask是補碼模式
新建FILE權限: 666-umask
如果所得結果某位存在執行(奇數)權限,則將其權限+1
新建DIR權限: 777-umask

這種只對當前shell有效
全局設置: /etc/bashrc 用戶設置:~/.bashrc

chmod

功能說明:變更文件或目錄的權限。
語  法:
chmod
[-cfRv][–help][–version][<權限范圍>+/-/=<權限設置…>][文件或目錄…] 或
chmod [-cfRv][–help][–version][數字代號][文件或目錄…] 或 chmod
[-cfRv][–help][–reference=<參考文件或目錄>][–version][文件或目錄…]
權限范圍:

   u:User,即文件或目錄的擁有者。
 g:Group,即文件或目錄的所屬群組。
 o:Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個范圍。
 a:All,即全部的用戶,包含擁有者,所屬群組以及其他用戶。

選項:

   -c或–changes  效果類似"-v"參數,但僅回報更改的部分。
 -f或–quiet或–silent  不顯示錯誤信息。
 -R或–recursive  遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
 -v或–verbose  顯示指令執行過程。
 –reference=<參考文件或目錄>  把指定文件或目錄的權限全部設成和參考文件或目錄的權限相同

 <權限范圍>+<權限設置>  開啟權限范圍的文件或目錄的該項權限設置。
 <權限范圍>-<權限設置>  關閉權限范圍的文件或目錄的該項權限設置。
 <權限范圍>=<權限設置>  指定權限范圍的文件或目錄的該項權限設置。

用法:

設置文件權限方法1
[root@qzx ~]# ll user.txt 
-rw-r--r--. 1 root root 80 Aug  1 16:54 user.txt
[root@qzx ~]# chmod g-r user.txt 
You have new mail in /var/spool/mail/root
[root@qzx ~]# ll user.txt 
-rw----r--. 1 root root 80 Aug  1 16:54 user.txt
設置文件權限方法2
[root@qzx ~]# chmod 777 user.txt 
[root@qzx ~]# ll user.txt 
-rwxrwxrwx. 1 root root 80 Aug  1 16:54 user.txt
以參考文件設置目標文件
[root@qzx ~]# ll passwd.txt 
-rw-r--r--. 1 root root 26 Aug  1 16:56 passwd.txt
[root@qzx ~]# chmod --reference=passwd.txt user.txt 
[root@qzx ~]# ll user.txt 
-rw-r--r--. 1 root root 80 Aug  1 16:54 user.txt

linux文件系統上的特殊權限

基礎介紹:

1、 SUID, SGID, Sticky
2、 三種常用權限:r, w, x user, group, other
3、 安全上下文
4、 前提:進程有屬主和屬組;文件有屬主和屬組
(1) 任何一個可執行程序文件能不能啟動為進程:取決發起者
對程序文件是否擁有執行權限
(2) 啟動為進程之后,其進程的屬主為發起者;進程的屬組為
發起者所屬的組
(3) 進程訪問文件時的權限,取決于進程的發起者
(a) 進程的發起者,同文件的屬主:則應用文件屬主權限
(b) 進程的發起者,屬于文件屬組;則應用文件屬組權限
(c) 應用文件“其它”權限

SUID權限

可執行文件上SUID權限

1、 任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限
2、 啟動為進程之后,其進程的屬主為原程序文件的屬主
3、 SUID只對二進制可執行程序有效
4、 SUID設置在目錄上無意義
5、  權限設定:

  • chmod u+s FILE…

  • chmod u-s FILE..

  • chmod 4xxx FILE…

SGID權限

可執行文件上SGID權限

1、 任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限
2、 啟動為進程之后,其進程的屬組為原程序文件的屬組
3、 權限設定:

  • chmod g+s FILE…

  • chmod g-s FILE…

  • chmod 2xxx FILE…

2、目錄上的SGID權限

1、 默認情況下,用戶創建文件時,其屬組為此用戶所屬的主組
2、 一旦某目錄被設定了SGID,則對此目錄有權限的組用戶在此目錄中創建的文件所屬的組為此目錄的屬組
3、 通常用于創建一個協作目錄
4、 權限設定:

  • chmod g+s DIR…

  • chmod g-s DIR…

  • chmod 2xxx FILE…

用處:可以創建一個SGID的組,給組設置權限后組中所有成員在此目錄創建的文件的屬組都將屬于SGID的組

[qzx@localhost 2770]$ ll -d ../2770/
drwxrws---. 2 xiaoming xiaoming 27 8月   4 12:11 ../2770/
[root@localhost qiuzhaoxian]# su qzx
qzx@localhost 2770]$ touch qzcx
[qzx@localhost 2770]$ mkdir qiun
[qzx@localhost 2770]$ ll
總用量 0
drwxrwsr-x. 2 qzx      xiaoming 6 8月   4 12:14 qiun
-rw-rw-r--. 1 xiaoming xiaoming 0 8月   4 12:10 qww
-rw-rw-r--. 1 qzx      xiaoming 0 8月   4 12:11 qzcx

t權限

Sticky 位

1、 具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件,無論該文件的權限或擁有權
2、 在目錄設置Sticky 位,只有文件的所有者或root可以刪除該目錄內的文件
3、 sticky 設置在文件上無意義
4、 權限設定:

  • chmod o+t DIR…

  • chmod o-t DIR…

  • chmod 1xxx FILE…

例如:

[qzx@localhost 2770]$ ll -d /tmp
drwxr-xr-t. 19 root root 4096 8月   4 12:05 /tmp

權限位映射

1、 SUID: user,占據屬主的執行權限位

s: 屬主擁有x權限
S:屬主沒有x權限

2、 SGID: group,占據屬組的執行權限位

s: group擁有x權限
S:group沒有x權限

3、 Sticky: other,占據other的執行權限位

t: other擁有x權限
T:other沒有x權限

提示:如果出現大寫字母就是故障狀態

其他

設定文件特定屬性

1、 chattr +i 不能刪除,改名,更改
2、 chattr +a 只能增加
3、 lsattr 顯示特定屬性

1、用chattr +i防止系統中某個關鍵文件被修改添加或刪除

[root@VM_18_121_centos ~]# chattr -R +i qin
[root@VM_18_121_centos ~]# lsattr qin/
----i----------- qin/qzx
----i----------- qin/qzxa
[root@VM_18_121_centos ~]# echo qweqwww > qin/qzx 
-bash: qin/qzx: Permission denied
[root@VM_18_121_centos ~]# touch qin/qwer
touch: cannot touch 'qin/qwer': Permission denied
[root@VM_18_121_centos ~]# rm -rf qin/*  
rm: cannot remove 'qin/qzx': Permission denied
rm: cannot remove 'qin/qzxa': Permission denied

2、讓某個文件只能往里面追加數據,但不能刪除,適用于各種日志文件:

[root@VM_18_121_centos ~]# chattr -R +a qin
[root@VM_18_121_centos ~]# lsattr qin/
-----a---------- qin/qzx
-----a---------- qin/qzxa
[root@VM_18_121_centos ~]# echo eawdqwdq > qin/qzx
-bash: qin/qzx: Operation not permitted
[root@VM_18_121_centos ~]# echo eawdqwdq >> qin/qzx
[root@VM_18_121_centos ~]# rm -rf qin/qzx
rm: cannot remove 'qin/qzx': Operation not permitted

原創文章,作者:qzx,如若轉載,請注明出處:http://www.www58058.com/28777

(0)
qzxqzx
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • Linux文件查找命令詳解

    Linux中在文件系統上查找符合條件的文件,實現工具有locate和find locate: 1.它是依賴于事先索引構建好的數據庫進行查找的。更新它的數據庫有兩種方式,一種是系統定期自動更新,另一種是執行命令updatedb手動更新數據庫。 注意:索引構建過程需要遍歷整個根文件系統,極消耗資源 2.它的工作特性: 1.因為是基于數據庫實現的,所以查找速度快(…

    Linux干貨 2017-04-10
  • 磁盤管理、文件管理、系統管理

    分區管理工具:fdisk,parted,sfdisk fdisk:MBR模式,對于一塊硬盤來說,最多只能管理15個分區; # fdisk -l [-u] [device…]:查看 # fdisk device 子命令:管理功能 p:顯示已有分區 n:新建分區 d:刪除 w:寫入磁盤并退出 q:放棄更改并退出 m:獲取幫助 l:列出分區id t:調…

    Linux干貨 2017-12-15
  • 8 文本查看、處理與統計分析

    文本查看 cat cat [OPTION]… [FILE]… 該命令用于正向查看文本文件,但不可分頁,一次性顯示完成 參數說明 參數 說明 -E 顯示行結束符$ -n 對顯示出的每一行進行編號 -A 顯示所有控制符 -b 非空行編號 -s 壓縮連續的空行成一行 -T 顯示tab為^I 示例  tac tac […

    Linux干貨 2016-08-10
  • 基于mysql的數據庫分析系統(rsyslog)

    rsyslog:日志收集和存儲系統 1.事件在電腦中的日志記錄格式為:     日期時間 主機 進程[pid]:事件內容 2.rsyslog的特性:     多線程;     UDP,TCP,SSL/TLS,RELP; &nbsp…

    Linux干貨 2016-10-23
  • 馬哥教育網絡班22期第2周課程作業

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。     1、cp 文件復制 [選項]源文件 目標文件         -r 遞歸復制    …

    Linux干貨 2016-08-31
  • zabbix如何監控webserver

    1、模版 2、應用集 3、項目 4、觸發器

    Linux干貨 2016-02-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-04 15:01

    總結的很好,排版也很精美。再接再勵

欧美性久久久久