新聞中心
系統(tǒng)運維
第七章 Centos7-文件權(quán)限管理
本節(jié)所講內(nèi)容:
7.1文件的基本權(quán)限:r w x (UGO)
7.1.1對于文件與文件夾r w x的不同含義
[root@node-1 ~]# ll /etc/passwd
-rw-r--r-- 1 root root 1076 Jan 19 19:40 passwd
主要文件類型有以下幾種 表示普通文件
d 表示文件夾
c 表示字符型設(shè)備文件如鍵盤等
b 表示塊型設(shè)備文件如硬盤、光驅(qū)等
p 表示命名管道文件
l 表示符號鏈接文件
s 表示socket套接口文件
例:列舉一些文件說明
#ll /dev/sda /bin /etc/passwd /dev/tty0
lrwxrwxrwx. 1 root root 7 May 19 2018 /bin -> usr/bin
brw-rw---- 1 root disk 8, 0 Feb 5 2020 /dev/sda
crw--w---- 1 root tty 4, 0 Feb 5 2020 /dev/tty0
-rw-r--r-- 1 root root 1076 May 19 2018 /etc/passwd
1)對文件來講:
r:讀取內(nèi)容
w:寫入內(nèi)容
x:執(zhí)行
2)對文件夾來講:
r:查看目錄里有什么
w:在目錄中刪除、新建、重命名、移動等操作
x:可以進入目錄
7.1.2文件擁有者
UGO:所有者(owner)--用戶組(group)--其它用戶(other)
所有者: 文件所有及創(chuàng)建者
用戶組: 是具有相同權(quán)限用戶的邏輯集合,為了管理方便
其它用戶:除了owner與group外的用戶都包含在內(nèi)
7.1.3分解認識權(quán)限與用戶
文件類型 文件所有者權(quán)限 文件所屬組權(quán)限 其他用戶權(quán)限 硬鏈接數(shù) 文件擁有者 文件所屬組 文件大小 文件創(chuàng)建時間 文件名
例2: 你以什么用戶身份登錄,那么你創(chuàng)建的文件或目錄,自動成為該文件的所屬主和組
#su - wangtao
$ pwd
/home/wangtao
$ touch aa.txt
$ ll
-rw-rw-r-- 1 wangtao wangtao 0 Feb 4 16:12 aa.txt
7.1.4 更改文件的屬主和屬組
改變文件的所屬關(guān)系用到命令:
chown:可以用來改變文件(或目錄)的屬主
-R:可以修改目錄擁有者及屬組,包括目錄下的文件
主要格式如下:
chown :wangtao /opt/password --將/opt/password所屬組修改為wangtao這個組
chown wangtao :wangtao /opt/password --將/opt/password修改為wangtao用戶為擁有者,所屬組修改為wangtao這個組
chown -R :wangtao /opt --將/opt文件夾所屬組修改為wangtao這個組
文件所有者一定可以寫文件。 就像root可以對shadow強制寫。 因shadow的擁有者是root
7.1.5修改權(quán)限
7.1.5.1 使用字符設(shè)定
修改權(quán)限用的命令:chmod
作用:修改文件,目錄的權(quán)限
語法:chmod [對誰操作] [操作符] [賦于什么權(quán)限] 文件名
對誰操作:
u----> 用戶user,表示文件或目錄的所有者
g---->用戶組group,表示文件或目錄所屬的用戶組
o---->其它用戶others
a---->所有用戶all
操作符:
操作符 + #添加某個權(quán)限 ;
操作符 - # 減少某個權(quán)限 ;
操作符 = #直接給定一個具體權(quán)限
權(quán)限:r w x
此法是添加或減少權(quán)限,也可用數(shù)值表示
使用八進制(0-7)數(shù)字表示權(quán)限法
數(shù)值:421 421 421
例3:
#chmod g+x /opt/passwd
#chmod 644 /opt/passwd
7.1.6有三種權(quán)限可以應(yīng)用:讀取,寫入與執(zhí)行,這些權(quán)限對訪問文件和目錄的影響如下:
權(quán)限 對文件的影響 對目錄的影響
r(讀取) 可以讀取文件的內(nèi)容 可以列出目錄的內(nèi)容(文件名)
w(寫入) 可以更改文件的內(nèi)容 可以創(chuàng)建或刪除目錄中的任意文件
x(執(zhí)行) 可以作為命令執(zhí)行文件 可以訪問目錄的內(nèi)容(取決于目錄中文件的權(quán)限)
7.1.7umask值對權(quán)限的影響
文件的默認權(quán)限:666
文件夾的默認權(quán)限:777
根據(jù)設(shè)置的umask值去掉相關(guān)的權(quán)限,對于umask值為奇數(shù)時,相應(yīng)位上減1后再用默認權(quán)限減去相應(yīng)的值即可
umask值為偶數(shù)用默認權(quán)限減去相應(yīng)的值即可
如:umask=033 則算默認文件的權(quán)限是:666-(033-011)=666-022就可以了
umask=044 則算默認文件的權(quán)限是:666-(044)=622就可以了
7.2文件的特殊權(quán)限:suid sgid sticky和文件擴展權(quán)限ACL
7.2.1 文件的特殊權(quán)限:suid sgid sticky
1、SUID(set uid設(shè)置用戶ID):限定:只能設(shè)置在二進制可執(zhí)行程序上面。對目錄設(shè)置無效
功能:程序運行時的權(quán)限從執(zhí)行者變更成程序所有者的權(quán)限
說明:/usr/bin/passwd 具體此權(quán)限,這樣普通用戶也可以修改密碼
2、SGID:限定:既可以給二進制可執(zhí)行程序設(shè)置,也可以對目錄設(shè)置
功能:在設(shè)置了SGID權(quán)限的目錄下建立文件時,新創(chuàng)建的文件的所屬組會,繼承上級目錄的所屬組
說明:如果想目錄下新建文件繼承上級目錄權(quán)限,設(shè)置此權(quán)限位
3、Stickybit:粘滯位權(quán)限是針對目錄的,對文件無效,也叫防刪除位
限定:只作用于目錄
功能:目錄下創(chuàng)建的文件只有root、文件創(chuàng)建者、目錄所有者才能刪除。
說明:/tmp目錄有此權(quán)限位,其目錄下的文件也只有root與owner可以刪除
7.2.2 文件擴展權(quán)限ACL
擴展ACL :access control list
目的是解決用rwx權(quán)限無法解決的權(quán)限需求
查看擴展權(quán)限:getfacl 文件名
#getfacl /home/wangtao/aa.txt
getfacl: Removing leading \'/\' from absolute path names
[root@node-1 ~]# file: home/wangtao/aa.txt
[root@node-1 ~]# owner: wangtao
[root@node-1 ~]# group: wangtao
user::rw-
group::rw-
other::r--
設(shè)置擴展權(quán)限:setfacl 【參數(shù)】 文件名
-d:增加個默認的擴展訪問權(quán)限
-m:新建擴展權(quán)限
-R:一定要在-m前面,表示目錄下所有文件
-x:去掉單個權(quán)限
例1:
[root@node-1 ~]# setfacl -R -m u:lee:rw- testdirectory/? #-R一定要在-m前面,表示目錄下所有文件
[root@node-1 ~]# setfacl -x u:mk /tmp/a.txt # 去掉單個權(quán)限
[root@node-1 ~]# setfacl -b /tmp/a.txt # 去掉所有acl權(quán)限
例2:
[root@node-1 ~]# mkdir /opt/test
[root@node-1 ~]# setfacl -m d:u:wangtao:rwx /opt/test
[root@node-1 ~]# getfacl /opt/test
getfacl: Removing leading \'/\' from absolute path names
[root@node-1 ~]# file: opt/test
[root@node-1 ~]# owner: root
[root@node-1 ~]# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:wangtao:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[root@node-1 ~]# touch /opt/test/aa.txt
[root@node-1 ~]# getfacl /opt/test/aa.txt
getfacl: Removing leading \'/\' from absolute path names
[root@node-1 ~]# file: opt/test/aa.txt
owner: root
group: root
user::rw-
user:wangtao:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--
7.3無法‘刪除’文件之謎--擴展屬性
命令:chattr 設(shè)置文件屬性
參數(shù): a 只能追加內(nèi)容 ; i 不能被修改
如果增加屬性則用:+
如果去掉屬性則用:-
例:
[root@node-1 ~]# chattr +i /opt/passwd 增加不能修改屬性
[root@node-1 ~]#chattr -i /opt/passwd 去掉不能修改屬性
命令:lsattr 設(shè)置文件屬性
例:
[root@node-1 ~]#lsattr /opt/passwd
----i----------- /opt/passwd
分享名稱:跟高手學(xué)習(xí)LINUX筆記-7
網(wǎng)站地址:http://fisionsoft.com.cn/article/cjeiss.html