成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux權限那些事兒

系統 Linux
Linux的權限管理與Windows差異較大,很多Linux使用者難以系統的理解,而權限的重要性不言而喻,本文通過案例式循序漸進的講解,來為讀者朋友們庖丁解牛。在《從ls命令開始》和《深入理解SetUID》文章中,筆者已經分別講解了rwx權限和特殊權限SetUID ,本文查缺補漏把剩下的權限一一剖析,期望網友能夠看完這三篇文章后對Linux權限有一個整體的把握。

 Linux的權限管理與Windows差異較大,很多Linux使用者難以系統的理解,而權限的重要性不言而喻,本文通過案例式循序漸進的講解,來為讀者朋友們庖丁解牛。在《從ls命令開始》和《深入理解SetUID》文章中,筆者已經分別講解了rwx權限和特殊權限SetUID ,本文查缺補漏把剩下的權限一一剖析,期望網友能夠看完這三篇文章后對Linux權限有一個整體的把握。

一、 權限之粘著位

Linux中有一個存放臨時文件的目錄/tmp(類似于Windows中的temp目錄),每個用戶產生的臨時文件都存放在此目錄下,也就是說每個用戶對/tmp目錄都應該有寫權限(否則無法拷貝生成文件),這樣造成一個問題,比如,高洛峰在/tmp目錄下創建了一個文件,張沫看著不爽就可以刪掉,這如何控制?

其實,這種情況永遠都不會發生,因為/tmp目錄有一個特殊的權限標記:

ls -ld /tmp

drwxrwxrwt 5 root root 4096 May 24 13:55 /tmp

瞧見那個rwx權限最后的“t”了沒,那個神奇的“t”就是粘著位t(有的資料中文也稱為粘滯位),是Linux特殊權限中的第三個(另外兩個是SetUID和SetGID),定義為:權限為777的目錄設置粘著位t以后,具有寫權限每個用戶都可以在目錄下創建文件,不同的是每個用戶只能刪除自己是所有者的文件,也就是說只能刪除自己創建的文件。

讀者可以做一下試驗,重復一下《草根》第二期“從ls命令開始”中的案例一操作(給目錄/test授予777權限用一個普通用戶登錄刪除另一個普通用戶創建的文件),不過這次創建的目錄/test多授予它一個粘著位權限:

chmod o+t /test # 或 chmod 1777 /test

此時普通用戶嘗試刪除其他用戶的文件時,會給出提示“Operation not permitted”(中文翻譯:你丫沒事吧,瞎得瑟啥,哥的文件你刪不了)。

二、 文件系統權限

每個操作系統都要有一種組織管理數據的方式,我們可以理解為就是文件系統,比如Windows的NTFS、FAT ,Linux的EXT ,而在Linux加載分區時可以針對文件系統進行權限設定。

配置文件/etc/fstab保存了Linux啟動時自動加載的分區信息,/etc/fstab文件中第四項定義了加載時的設置,默認為defaults ,包括rw、suid、dev、exec、auto、nouser、async ,如果想改變整個分區的限定,可以利用這些選項。本文舉兩例說明,證明基于文件系統的權限那是相當霸道。

案例一:只讀分區

默認加載分區是可讀寫rw的,但是如果特殊應用希望分區加載后是只讀的,可以做一下設置:

vi /etc/fstab # 編輯/etc/fstab文件在defaults后加入ro選項(逗號分隔)

LABEL=/soft /soft ext3 defaults,ro 1 2

mount -o remount /soft # 重新加載/soft分區,使設置生效

如果你不嫌麻煩也可以重啟系統,設置同樣會生效。

此時整個/soft分區都是只讀的,用root登錄后執行:

touch /soft/testfile

touch: cannot touch `testfile': Read-only file system

會提示/soft分區是只讀的,即便牛X到是root也不可以創建文件,這是凌駕于rwx權限之上的文件系統權限,相當的牛A與牛C之間。像本例是筆者公司的軟件共享目錄,一般半個月才更新一次軟件,平時不想任何人增加或刪除(包括不希望root用戶誤刪除),所以設置為ro ,更新軟件時,可以臨時更改會rw來設置:

mount -o remount,rw /soft

在命令行上也可以設置分區權限,但是只是當前會話有效,而寫入/etc/fstab文件后則會一直有效。

案例二:安全分區

數據存儲的分區,如用做備份的分區,我們可以增加下安全設置選項:

vi /etc/fstab # 編輯/etc/fstab文件在defaults后加入noexec選項

LABEL=/backup /backup ext3 defaults,noexec 1 2

mount -o remount /backup # 重新加載/backup分區,使設置生效

此時做個試驗,我們使用普通用戶拷貝一個命令文件pwd在/backup目錄下

cp /bin/pwd /backup

/backup/pwd

-bash: pwd: Permission denied

ls -l pwd

-rwxr-xr-x 1 liming liming 93560 Sep 25 10:13 pwd

命令拷貝到/backup下雖然具有可執行權限,但是也無法執行,在/backup分區下,任何可執行文件都將不能執行,這么做的意義在哪里?如果攻擊程序、木馬、病毒不能夠執行,那么就相當于沒有意義。

其他選項不做更多演示,這里只拋磚引玉,其他選項設置讀者可man mount查看,查看-o選項中的詳細介紹,更多設置讀者可自行嘗試,所謂授之以魚不如授之以漁讀萬卷書不如行萬里路萬惡淫為首窗前明月光啊。#p#

三、 權限之chattr

chatrr只有超人root用戶可以使用,用來修改文件的權限屬性,建立凌駕于rwx基礎權限之上的授權。

在此介紹兩個常用選項:

a 只允許在文件后追加數據,如果目錄具有此屬性,系統將只允許在目錄下建立和修

改文件,而不允許刪除任何文件。

i 不允許對文件進行任何修改,如果目錄具有此屬性,那么只能修改目錄下的文件,

不允許建立和刪除文件。

案例一:無法刪除和更改的文件

如果要建立一個公共訪問的目錄,大家都可以刪除和創建、拷貝文件,但是有一個基本的使用此目錄的規則,要建立一個說明文件README ,這個文件不允許大家刪除和修改,則可以如下設置:

chattr +i README

這時,README文件所在目錄所有用戶都有讀寫權限,但是任何用戶都無法刪除README文件(包括root),嘗試刪除會提示:

rm README

rm: remove write-protected regular empty file `README'? y

rm: cannot remove `README': Operation not permitted

同樣也不可以改變文件的內容,可以查看到README文件被增加了一個不可更改的屬性:

lsattr README

----i-------- README

此時,README變成了一個非常牛XX的文件,即便你是SuperUser也無法刪除和修改它,想對它干嘛都不成。

若要更改或刪除文件也必須先去掉i屬性才可以:

chattr -i README

案例二:備份目錄應用

假設有這樣一種應用,我們每天自動化實現把上海服務器的日志通過scp和rsync遠程備份到北京的備份服務器上,備份服務器的存儲目錄可設置為只可創建文件而不可刪除。

chattr +a /backup/log

設置后,可在本機測試:

cp /var/log/messages /backup/log # 可以拷貝文件

rm /backup/log/messages # 刪除文件則被禁止

rm: remove regular file `messages'? y

rm: cannot remove `messages': Operation not permitted

chattr命令不宜對目錄/、/dev、/tmp、/var等設置,嚴重者甚至容易導致系統無法啟動,比如根目錄如果設置了i屬性,謹慎設置,看過此文試驗后造成系統問題者,筆者概不負責……

四 權限之ACL

Linux中默認的權限管理比較菜,難以實現復雜的權限控制,如針對一個文件設置幾個用戶或用戶組具有不同權限,這就需要依靠ACL(Access Control List)訪問控制列表實現,可以針對任意指定的用戶/用戶組分配權限。

開啟分區的ACL功能 ,需要在/etc/fstab文件中加入acl選項,如:

LABEL=/backup /backup ext3 defaults,acl 1 2

然后重新加載分區即可生效:

mount -o remount /backup

如果想臨時生效可不修改/etc/fstab文件,直接執行命令“mount -o remount,acl /backup”即可。

案例:設定復雜權限控制目錄

設定目錄/backup/log用戶zhangsan有讀寫執行權限,用戶lisi有讀權限,用戶wangwu有讀寫權限,而用戶組bakgroup有讀和執行權限,則可做如下設置:

setfacl -m u:zhangsan:rwx,u:lisi:r,u:wangwu:rw,g:bakgroup:rx /backup/log

setfacl -m可以設置文件/目錄的訪問權限,至于權限設定的寫法包括三個組成部分,第一部分列出設定對象是用戶u或用戶組g ;第二部分指定用戶名或用戶組名;第三部分指定訪問權限rwx ,設定多組權限中間用逗號分隔。如“u:lisi:r”表示設定用戶lisi為只讀權限。

查看目錄屬性:

ls -ld /backup/log

drwxrwxr-x+ 2 root root 4096 May 25 07:16 /backup/log

會發現文件權限位后增加了一個加號,這說明/backup/log設置了ACL ,同時可以查看其詳細的權限設置:

getfacl /backup/log

# file: backup/log

# owner: root

# group: root

user::rwx

user:zhangsan:rwx

user:lisi:r--

user:wangwu:rw-

group::r-x

group:bakgroup:r-x

mask::rwx

other::r-x

這樣即可實現Linux中文件/目錄的復雜權限控制,要注意的是ACL優先于基本權限設置,也就是說如果默認所屬組為rx權限,但是ACL若指定了所屬組中某個成員為rwx權限,則此成員擁有rwx權限。#p#

五 權限之管理員授權

管理員做為特權用戶,很容易誤操作造成不必要的損失,再者都是root管理也怪累的,管理員也是人,也需要留點時間去約約會看看電影裝裝傻發發呆啥的不是……所以健康的管理方法是Linux服務架構好后,可授權普通用戶協助完成日常管理,現在最流行的工具是Sudo ,幾乎所有Linux都已缺省安裝。

Sudo使用簡單,管理員root使用visudo命令即可編輯其配置文件/etc/sudoers進行授權,具體格式為:

用戶名/用戶組名 主機地址=授權命令(絕對路徑)

如,授權用戶zhaoliu可以關機和重啟,則添加如下行:

zhaoliu Helen=/sbin/shutdown,/sbin/reboot

指定組名用百分號標記,如%admgroup ,多個授權命令之間用逗號分隔。

用戶zhaoliu可以使用sudo查看授權的命令列表:

sudo -l

Password:

User zhaoliu may run the following commands on this host:

(root) /sbin/shutdown

(root) /sbin/reboot

提示輸入密碼為zhaoliu的密碼,驗證其是否為管理員通過sudo授權的用戶,執行命令:

sudo /sbin/shutdown -h now

zhaoliu即可關機,注意命令寫絕對路徑,或者把/sbin路徑導入到用戶缺省路徑中,否則無法執行。

案例:授權用戶管理Apache

授權一個用戶管理你的Web服務器,不用自己插手是不是很爽,以后修改設置更新網頁什么都不用管,一定Happy死了,LOOK——

首先要分析授權用戶管理Apache至少要實現哪些基本授權:

1、可以使用Apache管理腳本

2、可以修改Apache配置文件

3、可以更新網頁內容

假設Aapche管理腳本為/etc/rc.d/init.d/httpd ,滿足條件一,用visudo進行授權:

zhaoliu Helen=/etc/rc.d/init.d/httpd reload,/etc/rc.d/init.d/httpd configtest

授權用戶zhaoliu可以通過Apache管理腳本重新讀取配置文件讓更改的設置生效(reload)和可以檢測Apache配置文件語法錯誤(configtest),但不允許其執行關閉(stop)、重啟(restart)等操作。

滿足條件二,同樣使用visudo授權:

zhaoliu Helen=/bin/vi /etc/httpd/conf/httpd.conf

授權用戶可以root身份使用vi編輯Apache配置文件。

以上兩種sudo的設置,要特別注意,很多朋友使用sudo會犯兩個錯誤:第一,授權命令沒有細化到選項和參數;第二,認為只能授權管理員執行的命令。

條件三則比較簡單,假設網頁存放目錄為/var/www/html ,則只需要授權zhaoliu對此目錄具有寫權限或者索性更改目錄所有者為zhaoliu即可,如果需要還可以設置zhaoliu可以通過FTP等文件共享服務更新網頁。

本文所有操作在Red Hat Enterprise Linux 5.4下完成,其他Linux基本無差異,本文基本涵蓋Linux的所有權限管理方式,雖不細致但足以讓讀者對其有一個整體的了解。

最后請切記系統安全的基本原則:授權用戶最小的權限。

蜘蛛俠說“能力越大責任越大”,Linux管理員說“能力越大出錯幾率越大”,阿門。

【編輯推薦】

管理Linux文件權限和所有權

倫敦證交所的Linux之路:2009.2 - 2011.2

VNC遠程管理Linux服務器安全指導

責任編輯:黃丹 來源: 《草根》第二期
相關推薦

2024-11-18 15:30:53

Linux目錄權限

2017-05-18 16:30:29

Linux內存管理

2020-04-08 09:20:25

Linux內存系統

2012-07-19 15:30:00

Linux

2013-12-26 14:23:03

定位系統GPS監測

2021-06-09 13:28:40

密碼安全身份認證數據安全

2018-09-26 06:50:19

2021-06-02 08:33:31

TPCTPC-H系統

2022-02-08 17:39:04

MySQL服務器存儲

2013-04-23 10:51:15

Linux壓縮

2013-03-12 17:33:17

Linux系統性能調優

2013-06-05 16:44:33

Linux系統用戶賬號管理

2013-04-02 11:21:52

Linux操作系統虛擬主機

2013-09-09 10:54:24

2021-04-29 10:30:58

MySQL數據遷移

2024-08-12 08:41:40

2023-04-11 07:34:40

分布式系統算法

2022-02-18 19:24:15

性能優化代碼

2019-11-20 10:00:56

開源侵權版權

2021-03-18 09:01:53

軟件開發軟件選型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区 | 成人精品一区二区三区 | 午夜一区| 精品国产精品国产偷麻豆 | jizz中国日本 | 日本一卡精品视频免费 | 精品亚洲一区二区三区 | 干一干操一操 | 免费在线观看av的网站 | 国产精品高清一区二区三区 | 在线观看av不卡 | 老外黄色一级片 | 成人超碰| 国产乱码久久久久久一区二区 | 牛牛热在线视频 | 欧美日韩亚洲视频 | 中文字幕高清av | 日韩中文字幕一区 | 99热播精品 | 91国内视频在线 | 红桃成人在线 | 狠狠ri| 一区二区三区中文字幕 | 国产精品免费大片 | 成人aaa视频| 91美女视频| 亚洲精品成人 | 欧美日韩在线国产 | 在线观看国产www | 精品国产一级片 | 中文字幕视频在线 | 亚州精品成人 | 亚洲字幕在线观看 | 亚洲免费在线 | 欧美精品91爱爱 | 国产亚洲精品精品国产亚洲综合 | 极品国产视频 | 日韩和的一区二在线 | 亚洲天堂成人在线视频 | 精品视频一区二区在线观看 | 国产人久久人人人人爽 |