自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unix操作系統(tǒng)shell的使用進(jìn)行限制

系統(tǒng) 其他OS
Shell是用戶跟Unix操作系統(tǒng)內(nèi)核進(jìn)行溝通的一個工具。默認(rèn)情況下,不同的用戶其采用的shell功能是相同的。但是當(dāng)Unix操作系統(tǒng)有多個用戶在使用的話,就需要對某些用戶的shell 功能進(jìn)行限制。

我們來講一下Unix操作系統(tǒng)的知識。Unix操作系統(tǒng)是一個比較完善的多用戶操作系統(tǒng)。多個用戶可以在同一個Unix操作系統(tǒng)上進(jìn)行各自的操作,而不會發(fā)生相互的干擾。不過為了提高Unix操作系統(tǒng)多用戶操作的安全性,Unix工程師仍然要采取一些必要的措施。今天,我們來對shell的使用進(jìn)行限制。

對shell的使用進(jìn)行限制

Shell是用戶跟Unix操作系統(tǒng)內(nèi)核進(jìn)行溝通的一個工具。默認(rèn)情況下,不同的用戶其采用的shell功能是相同的。但是當(dāng)Unix操作系統(tǒng)有多個用戶在使用的話,就需要對某些用戶的shell 功能進(jìn)行限制。如需要限制用戶使用cd命令,即不允許用戶隨意更改當(dāng)前目錄。用戶所創(chuàng)建的所有文件與目錄都必須在其自己的主目錄下面,即home/用戶名目錄下。

在Unix操作系統(tǒng)下可以實現(xiàn)類似的控制。當(dāng)為某個用戶采用了限制版本的shell之后,則這個用戶只能夠執(zhí)行位于某些特定目錄下面的程序。通常情況下這個目錄是由一個完全不同的Path變量所決定的,而且他的值用戶不能夠改變,一般情況下就把這個目錄設(shè)置為當(dāng)前目錄。

為了限制某個用戶的活動或者可以采用的命令,系統(tǒng)工程師需要創(chuàng)建一個用戶帳號,并只允許他使用某個特殊的受到一定限制的shell。通常情況下,現(xiàn)在的shell 版本都基本上能夠支持這個功能。一般來說,如果系統(tǒng)工程師指定用戶使用受限制的shell,那么這個用戶就可能受到如下的限制。

一是這個用戶不能夠使用CD命令進(jìn)行目錄的切換。也就是說,此時用戶只能夠在Unix操作系統(tǒng)設(shè)置的當(dāng)前目錄中進(jìn)行操作。這對于普通用戶來說,是一個非常有用的限制措施。由于他們不能夠在目錄之間進(jìn)行切換操作,那么也就不會對其他用戶的資料造成無意或者有意的損壞,有利于其他用戶資料的安全性。

二是對命令的使用有所限制。當(dāng)對用戶采用了限制版本的shell之后,這個用戶就不能夠使用含有“/”的路徑。也就是說這個用戶不能夠用相對路徑或者絕對路徑執(zhí)行一個命令。另外,也不能夠更改Path變量。

Path變量為shell 提供了定位可執(zhí)行文件的搜索路徑。當(dāng)用戶向系統(tǒng)發(fā)出一個指令時,shell就會按這個Path變量所設(shè)置的搜索路徑的順序查找這個命令文件,如果找到了這個命令文件就執(zhí)行這個文件;找不到的話就提示錯誤信息。這也就是說這個用戶不能夠訪問保存在其他目錄里的命令。為此設(shè)置讓用戶采用限制版本的shell,可以限制用戶的某些行為。

如Unix操作系統(tǒng)工程師可以把這個用戶可以用的命令預(yù)先在Path變量中設(shè)置;然后把不允許的命令路徑從path變量中刪除。如此的話就可以限制用戶“可以做什么;不可以做什么”。對用戶可以使用的命令進(jìn)行限制,可以保障其他用戶的安全。

三是不能夠使用一些特定的操作符號。如在Unix操作系統(tǒng)中,可以利用ls –i > ls_list命令。這個命令的意思就是查詢當(dāng)前目錄下的所有文件與目錄相關(guān)信息,并把查詢結(jié)果寫入到一個文件中。但是如果未某個用戶指定了受限版本的shell之后,則這個用戶就不能夠使用包括>在內(nèi)的一些特殊操作符。如不能夠使用>或者>>操作符號創(chuàng)建文件或者把某些內(nèi)容追加到現(xiàn)有文件中去。

從以上的分析中可以看出,采用受限版本的用戶只能夠執(zhí)行特定目錄下的命令。如果系統(tǒng)工程師需要讓某個受限用戶來執(zhí)行其他目錄下的命令,也是可以的。此時就需要用到筆者以前文章中談到過的硬連接的功能。

如現(xiàn)在Unix操作系統(tǒng)工程師允許使用/bin/ifconfig這個命令。由于這個目錄通常不再用戶的當(dāng)前目錄下,而且用戶又能夠使用帶/符號的路徑名稱,那該如何處理呢?其實很簡單,系統(tǒng)工程師指需要利用in名稱在用戶的當(dāng)前目錄下創(chuàng)建這個命令的連接即可。此時系統(tǒng)就會根據(jù)這個連接去打開其原命令文件。

若系統(tǒng)工程師現(xiàn)在所采用的shell版本不支持受限shell該如何處理呢?其實這也很好解決。如果用戶現(xiàn)在所使用的系統(tǒng)中沒有一個受限的shell,此時系統(tǒng)工程師可以結(jié)合標(biāo)準(zhǔn)的shell環(huán)境與-r可選項一起使用,來達(dá)到類似的目的。如筆者可以利用sh –r等類似的命令讓shell強(qiáng)制以受限的模式運(yùn)行。

不過這里需要注意的是,通常情況下Unix操作系統(tǒng)工程師不能夠把這些命令加入到/etc/passwd文件中。故系統(tǒng)工程必須先運(yùn)行普通的shell環(huán)境,然后再在啟動文件中利用exec命令來啟動這些命令,并且必須把Path變量設(shè)置為一個目錄。

可見此時設(shè)置起來比較麻煩。為此筆者的意見是,如果Unix操作系統(tǒng)工程師真的要讓用戶采用受限的shell,那筆者還是建議采用本身就有類似的功能的shell版本為好。如果用戶當(dāng)前使用的shell版本沒有一個受限的shell,那么筆者建議把這個shell進(jìn)行升級。因為如果按照如上的配置與shell版本升級的工作量來說,沒有多大的差別。

故如果條件允許的情況下,還是直接給用戶采用支持受限shell的軟件為好,以減少后續(xù)維護(hù)與部署的工作量。我們對Unix操作系統(tǒng)的知識就了解到這里吧。

【編輯推薦】

  1. Unix操作系統(tǒng)病毒之ELK CLONER
  2. 舉例Unix操作系統(tǒng)gzip命令的使用
  3. 簡析Unix操作系統(tǒng)gzip命令
  4. 舉例解釋Unix操作系統(tǒng)tar命令
  5. 學(xué)習(xí)筆記Unix操作系統(tǒng)tar命令
責(zé)任編輯:小霞
相關(guān)推薦

2010-05-07 13:04:11

Unix Shell

2010-04-16 14:46:22

2010-04-07 16:15:04

Unix操作系統(tǒng)

2010-04-14 15:44:10

Unix操作系統(tǒng)

2010-04-08 13:06:02

Unix操作系統(tǒng)

2010-04-19 13:31:06

Unix操作系統(tǒng)

2010-04-15 11:15:04

2010-04-15 14:40:26

Unix操作系統(tǒng)

2010-04-15 10:45:57

2010-04-08 12:49:00

Unix操作系統(tǒng)

2010-04-16 14:23:52

Unix操作系統(tǒng)

2010-04-07 14:32:47

Unix操作系統(tǒng)

2010-04-13 12:27:44

Unix操作系統(tǒng)

2010-04-16 09:27:36

2010-04-09 10:49:01

Unix操作系統(tǒng)

2010-04-30 17:53:29

2010-04-28 19:11:29

Unix操作系統(tǒng)

2010-05-06 17:59:50

Unix命令

2010-04-08 16:18:22

Unix操作系統(tǒng)工具

2010-04-19 18:18:30

Unix操作系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號