導航:首頁 > 操作系統 > nodevlinux

nodevlinux

發布時間:2024-09-08 05:50:57

linux系統中如何修改及設置文件系統的許可權及安全

如果文件系統的許可權設置不合理,就會威脅系統的安全,所以當運維人員遇到不能修改及刪除文件的情況,就要對文件的的許可權進行修改和設置了,下面小編就給大家介紹下Linux系統中如何修改及設置文件的許可權。

一、鎖定系統重要文件

系統運維人員有時候可能會遇到通過root用戶都不能修改或者刪除某個文件的情況,產生這種情況的大部分原因可能是這個文件被鎖定了。在Linux下鎖定文件的命令是chattr,通過這個命令可以修改ext2、ext3、ext4文件系統下文件屬性,但是這個命令必須有超級用戶root來執行。和這個命令對應的命令是lsattr,這個命令用來查詢文件屬性。

通過chattr命令修改文件或者目錄的文件屬性能夠提高系統的安全性,下面簡單介紹下chattr和lsattr兩個命令的用法。

chattr命令的語法格式如下:

chattr [-RV] [-v version] [mode] 文件或目錄主要參數含義如下:

-R:遞歸修改所有的文件及子目錄。

-V:詳細顯示修改內容,並列印輸出。

其中mode部分用來控制文件的屬性,常用參數如下表所示:

參數含義

+在原有參數設定基礎上,追加參數

-在原有參數設定基礎上,移除參數

=更新為指定參數

a即append,設定該參數後,只能向文件中添加數據,而不能刪除。常用於伺服器日誌文件安全,只有root用戶才能設置這個屬性c即compresse,設定文件是否經壓縮後再存儲。讀取時需要經過自動解壓操作i即immutable,設定文件不能被修改、刪除、重命名、設定鏈接等,同時不能寫入或新增內容。這個參數對於文件系統的安全設置有很大幫助s安全的刪除文件或目錄,即文件被刪除後硬碟空間被全部收回u與s參數相反,當設定為u時,系統會保留其數據塊以便以後能夠恢復刪除這個文件。這些參數中,最常用到的是a和i,a參數常用於伺服器日誌文件安全設定,而i參數更為嚴格,不允許對文件進行任何操作,即使是root用戶lsattr用來查詢文件屬性,用法比較簡單,其語法格式如下:

lsattr [-adlRvV] 文件或目錄

常用參數如下表所示。

參數含義

-a列出目錄中的所有文件,包括以。開頭的文件-d顯示指定目錄的屬性

-R以遞歸的方式列出目錄下所有文件及子目錄以及屬性值-v顯示文件或目錄版本

在Linux系統中,如果一個用戶以root的許可權登錄或者某個進程以root的許可權運行,那麼它的使用許可權就不再有任何的限制了。因此,攻擊者通過遠程或者本地攻擊手段獲得了系統的root許可權將是一個災難。在這種情況下,文件系統將是保護系統安全的最後一道防線,合理的屬性設置可以最大限度地減小攻擊者對系統的破壞程度,通過chattr命令鎖定系統一些重要的文件或目錄,是保護文件系統安全最直接、最有效的手段。

對一些重要的目錄和文件可以加上「i」屬性,常見的文件和目錄有:

chattr -R +i /bin /boot /lib /sbin

chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbinchattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/hosts

chattr +i /etc/resolv.conf

chattr +i /etc/fstab

chattr +i /etc/sudoers

對一些重要的日誌文件可以加上「a」屬性,常見的有:

chattr +a /var/log/messages

chattr +a /var/log/wtmp

對重要的文件進行加鎖,雖然能夠提高伺服器的安全性,但是也會帶來一些不便,例如,在軟體的安裝、升級時可能需要去掉有關目錄和文件的immutable屬性和append-only屬性,同時,對日誌文件設置了append-only屬性,可能會使日誌輪換(logrotate)無法進行。因此,在使用chattr命令前,需要結合伺服器的應用環境來權衡是否需要設置immutable屬性和append-only屬性。

另外,雖然通過chattr命令修改文件屬性能夠提高文件系統的安全性,但是它並不適合所有的目錄。chattr命令不能保護/、/dev、/tmp、/var等目錄。

根目錄不能有不可修改屬性,因為如果根目錄具有不可修改屬性,那麼系統根本無法工作:/dev在啟動時,syslog需要刪除並重新建立/dev/log套接字設備,如果設置了不可修改屬性,那麼可能出問題;/tmp目錄會有很多應用程序和系統程序需要在這個目錄下建立臨時文件,也不能設置不可修改屬性;/var是系統和程序的日誌目錄,如果設置為不可修改屬性,那麼系統寫日誌將無法進行,所以也不能通過chattr命令保護。

雖然通過chattr命令無法保護/dev、/tmp等目錄的安全性,但是有另外的方法可以實現,在面將做詳細介紹。

二、文件許可權檢查和修改

不正確的許可權設置直接威脅著系統的安全,因此運維人員應該能及時發現這些不正確的許可權設置,並立刻修正,防患於未然。下面列舉幾種查找系統不安全許可權的方法。

(1)查找系統中任何用戶都有寫許可權的文件或目錄查找文件:find / -type f -perm -2 -o -perm -20 |xargs ls -al查找目錄:find / -type d -perm -2 -o -perm -20 |xargs ls –ld(2)查找系統中所有含「s」位的程序

find / -type f -perm -4000 -o -perm -2000 -print | xargs ls –al含有「s」位許可權的程序對系統安全威脅很大,通過查找系統中所有具有「s」位許可權的程序,可以把某些不必要的「s」位程序去掉,這樣可以防止用戶濫用許可權或提升許可權的可能性。

(3)檢查系統中所有suid及sgid文件

find / -user root -perm -2000 -print -exec md5sum {} /;find / -user root -perm -4000 -print -exec md5sum {} /;

將檢查的結果保存到文件中,可在以後的系統檢查中作為參考。

(4)檢查系統中沒有屬主的文件

find / -nouser -o –nogroup

沒有屬主的孤兒文件比較危險,往往成為黑客利用的工具,因此找到這些文件後,要麼刪除掉,要麼修改文件的屬主,使其處於安全狀態。

三、/tmp、/var/tmp、/dev/shm安全設定

在Linux系統中,主要有兩個目錄或分區用來存放臨時文件,分別是/tmp和/var/tmp。存儲臨時文件的目錄或分區有個共同點就是所有用戶可讀寫、可執行,這就為系統留下了安全隱患。攻擊者可以將病毒或者木馬腳本放到臨時文件的目錄下進行信息收集或偽裝,嚴重影響伺服器的安全,此時,如果修改臨時目錄的讀寫執行許可權,還有可能影響系統上應用程序的正常運行,因此,如果要兼顧兩者,就需要對這兩個目錄或分區就行特殊的設置。

/dev/shm是Linux下的一個共享內存設備,在Linux啟動的時候系統默認會載入/dev/shm,被載入的/dev/shm使用的是tmpfs文件系統,而tmpfs是一個內存文件系統,存儲到tmpfs文件系統的數據會完全駐留在RAM中,這樣通過/dev/shm就可以直接操控系統內存,這將非常危險,因此如何保證/dev/shm安全也至關重要。

對於/tmp的安全設置,需要看/tmp是一個獨立磁碟分區,還是一個根分區下的文件夾,如果/tmp是一個獨立的磁碟分區,那麼設置非常簡單,修改/etc/fstab文件中/tmp分區對應的掛載屬性,加上nosuid、noexec、nodev三個選項即可,修改後的/tmp分區掛載屬性類似如下:

LABEL=/tmp /tmp ext3 rw,nosuid,noexec,nodev 0 0其中,nosuid、noexec、nodev選項,表示不允許任何suid程序,並且在這個分區不能執行任何腳本等程序,並且不存在設備文件。

在掛載屬性設置完成後,重新掛載/tmp分區,保證設置生效。

對於/var/tmp,如果是獨立分區,安裝/tmp的設置方法是修改/etc/fstab文件即可;如果是/var分區下的一個目錄,那麼可以將/var/tmp目錄下所有數據移動到/tmp分區下,然後在/var下做一個指向/tmp的軟連接即可。也就是執行如下操作:

[root@server ~]# mv /var/tmp/* /tmp

[root@server ~]# ln -s /tmp /var/tmp

如果/tmp是根目錄下的一個目錄,那麼設置稍微復雜,可以通過創建一個loopback文件系統來利用Linux內核的loopback特性將文件系統掛載到/tmp下,然後在掛載時指定限制載入選項即可。一個簡單的操作示例如下:

[root@server ~]# dd if=/dev/zero of=/dev/tmpfs bs=1M count=10000[root@server ~]# mke2fs -j /dev/tmpfs

[root@server ~]# cp -av /tmp /tmp.old

[root@server ~]# mount -o loop,noexec,nosuid,rw /dev/tmpfs /tmp[root@server ~]# chmod 1777 /tmp

[root@server ~]# mv -f /tmp.old/* /tmp/

[root@server ~]# rm -rf /tmp.old

最後,編輯/etc/fstab,添加如下內容,以便系統在啟動時自動載入loopback文件系統:

/dev/tmpfs /tmp ext3 loop,nosuid,noexec,rw 0 0

為了驗證一下掛載時指定限制載入選項是否生效,可以在/tmp分區創建一個shell文件,操作如下:

[root@tc193 tmp]# ls -al|grep shell

-rwxr-xr-x 1 root root 22 Oct 6 14:58 shell-test.sh[root@server ~]# pwd

/tmp

[root@tc193 tmp]# 。/shell-test.sh

-bash: 。/shell-test.sh: Permission denied可以看出,雖然文件有可執行屬性,但是已經在/tmp分區無法執行任何文件了。

最後,再來修改一下/dev/shm的安全設置。由於/dev/shm是一個共享內存設備,因此也可以通過修改/etc/fstab文件設置而實現,在默認情況下,/dev/shm通過defaults選項來載入,對保證其安全性是不夠的,修改/dev/shm的掛載屬性,操作如下:

tmpfs /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0

通過這種方式,就限制了任何suid程序,同時也限制了/dev/shm的可執行許可權,系統安全性得到進一步提升。

上面就是Linux下文件系統許可權修改和設置的相關介紹了,為了系統的安全著想,可使用命令鎖定重要的文件,合理的文件許可權設置也是很重要的。

⑵ node-v4.4.5-linux-x86.tar.xz怎麼安裝

解壓tar.xz文件:先 xz -d xxx.tar.xz 將 xxx.tar.xz解壓成 xxx.tar 然後,再用 tar xvf xxx.tar來解包
所以,先xz -d node-v4.4.5-linux-x86.tar.xz
然後,tar xvf node-v4.4.5-linux-x86.tar
然後進入目錄查看是否需要進行make後來install

閱讀全文

與nodevlinux相關的資料

熱點內容
es系統封裝教程程序員大本營 瀏覽:521
程序員聚餐喝什麼酒好 瀏覽:606
編譯程序生成安裝文件 瀏覽:953
linux查看usb設備 瀏覽:282
安卓怎麼禁止app充值 瀏覽:559
動盪對加密貨幣的影響 瀏覽:358
國家反詐app哪裡看注冊時間 瀏覽:563
打孔式文件夾怎麼裝視頻 瀏覽:29
php怎麼學比較好 瀏覽:381
python中關於函數調用 瀏覽:362
debian系統命令行如何排序 瀏覽:407
車壓縮機保修幾年 瀏覽:307
linux同步腳本 瀏覽:664
福建新唐集成硬體加密 瀏覽:943
空調壓縮機被破壞 瀏覽:105
現在學php怎麼樣 瀏覽:90
linuxchttp下載 瀏覽:770
大數據虛擬機雲伺服器 瀏覽:57
java與嵌入式開發 瀏覽:20
minios如何搭建文件伺服器 瀏覽:1000