011 檔案管理高階(ACL SU SUDO)

2022-07-02 07:12:11 字數 4084 閱讀 9338

目錄檔案屬性(許可權)

sudo

su

acl是為了解決某種特殊環境下的,使用者許可權需求。

注:預設情況下,acl許可權跟普通許可權保持一致。

修改屬主的許可權

setfacl -m u::許可權 a.txt

修改屬組的許可權

setfacl -m g::許可權 a.txt

修改其他⼈的許可權

setfacl -m o::許可權 a.txt

修改具體某⼀個⽤戶的許可權

setfacl -m u:⽤戶名:許可權 a.txt

修改具體某⼀個組的許可權

setfacl -m g:組名:許可權 a.txt # 組必須存在

# 也可以給⽬錄設定,都⼀樣

# 檢視

getfacl /opt/a.txt

# 刪除

setfacl -x g:group1 /opt/a.txt # 刪除組hr的許可權

setfacl -b /opt/a.txt #刪除所有acl許可權

[root@jichu ~]# getfacl a.txt

# file: a.txt

# owner: root

# group: root

user::---

user:test:rw- #effective:r--

group::---

mask::r--

other::---

這裡檢視a.txt的時候,旁邊多了乙個#effective:r--,這裡代表著,即使使用者許可權再高,最高的許可權只有r,因為由mask控制著。

除了所有者和other不受影響,其他都會受到mask的影響,mask決定了他們的最⾼許可權)

ps:我們⼀般不更改 mask 許可權,只要賦予 mask 最⼤許可權(也就是 rwx),則給⽤戶或群組設定的 acl 許可權本身就是有效的。
預設情況下,acl是不會繼承上層目錄的許可權的,只有目錄設定可以繼承子集檔案才可以繼承acl許可權

[root@localhost linux12]# setfacl -m d:u:xiaochen:w ../linux12

[root@localhost linux12]# touch bcd.txt

[root@localhost linux12]# ls -l

total 0

-rw-r--r-- 1 root root 0 mar 16 15:40 abc.txt

-rw-rw-r--+ 1 root root 0 mar 16 15:43 bcd.txt

[root@localhost linux12]# getfacl bcd.txt

# file: bcd.txt

# owner: root

# group: root

user::rw-

user:xiaochen:-w-

group::r-x #effective:r--

mask::rw-

other::r--

[root@localhost ~]# touch /opt/.txt

[root@localhost ~]# chmod 000 /opt/*

[root@localhost ~]# lsattr /opt/

---------------- /opt/1.txt

---------------- /opt/2.txt

---------------- /opt/3.txt

[root@localhost ~]# [root@localhost ~]# chattr +a /opt/1.txt # 允許追加內容

[root@localhost ~]# chattr +i /opt/2.txt # 禁⽌任何修改,有些病毒程式會對⽂件加

上該許可權

[root@localhost ~]# chattr +a /opt/3.txt # 不更改⽂件訪問時間

[root@localhost ~]# [root@localhost ~]# lsattr /opt/

-----a---------- /opt/1.txt

----i----------- /opt/2.txt

-------a-------- /opt/3.txt

# 驗證

[root@localhost ~]# echo 111 >> /opt/1.txt

[root@localhost ~]# cat /opt/1.txt

111[root@localhost ~]# rm -rf /opt/1.txt

rm: ⽆法刪除"/opt/1.txt": 不允許的操作

# 去掉

[root@localhost ~]# chattr -a /opt/1.txt

[root@localhost ~]# chattr -i /opt/2.txt

[root@localhost ~]# chattr -a /opt/3.txt

用於普通用提公升許可權的。

檢查/etc/sudoers是否修改正確:visudo -c

sudoers檔案格式

tom       all=           (all)          all

使用者名稱 所有機器可登陸 所有ip或主機名 所有的指令

指令編寫格式

# 必須寫全路徑:which檢視命令全路徑

# 只支援vim命令提權

xianchen all=(all) /usr/bin/vim

# 支援所有的命令提權

tom all=(all) all

# 不支援某個命令提權

tom all=(all) all, !/usr/bin/vim

# 不支援某個命令的部分功能

登陸shell,需要輸⼊⽤戶名和密碼才能進⼊shell,⽇常接觸的最多的⼀種

⾮登陸shell,不需要輸⼊⽤戶和密碼就能進⼊shell,⽐如運⾏bash會開啟⼀個新的會話窗⼝

全域性配置⽂件:

/etc/profile

/etc/profile.d/*.sh

/etc/bashrc

個⼈配置⽂件:

~/.bash_profile

~/.bashrc

profile類⽂件, 設定環境變數, 登陸前運⾏的指令碼和命令。

bashrc類⽂件, 設定本地變數, 定義命令別名

ps: 如果全域性配置和個⼈配置產⽣衝突,以個⼈配置為準。

如果執⾏的是登入式shell,那麼配置⽂件執⾏順序是: 

/etc/profile -> /etc/profile.d/*.sh -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc

如果執⾏的是⾮登入式shell,那麼配置⽂件執⾏順序是:

~/.bashrc -> /etc/bashrc -> /etc/profile.d/*.sh

ps: 驗證使⽤echo在每⾏新增⼀個輸出即可,注意,要把輸出放在⽂件的第⼀⾏。如果說要寫登入執行指令碼,可以配置在/.bashrc當中。

Python011檔案操作

python011檔案操作 1.檔案的讀寫 f aaa.txt abcdefghijklmnopqrstuvwxyz0123456789 file open f aaa.txt rb 以唯讀二進位制方式開啟檔案 print file.name f aaa.txt print file.closed ...

Linux 0 11 檔案系統

每乙個程序都有乙個flip存放著乙個索引,該索引就是核心檔案表的索引,而檔案表中的項又指向記憶體i結點表中的一項,這樣程序就要以操作乙個檔案了。null for i 0 is zmap null block 2 for i 0 is imap blocks i if s s imap bread d...

5 檔案管理

1 檔案的基本概念 在unix linux系統中,幾乎所有的一切都可以看作檔案,因此,對於檔案的操作適用於各種輸入輸出裝置等等,當然目錄也可以看作檔案 如 dev null 空裝置 echo hello dev null 表示丟棄處理的結果 cat dev null a.txt 表示清空檔案a.tx...