亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

      Linux怎么安裝使用semanage

      時(shí)間: 春健736 分享

        semanage命令是用來(lái)查詢(xún)與修改SELinux默認(rèn)目錄的安全上下文,那么大家知道Linux怎么安裝使用semanage嗎?接下來(lái)大家跟著學(xué)習(xí)啦小編一起來(lái)了解一Linux安裝使用semanage下的解決方法吧。

        Linux安裝使用semanage方法

        Selinux極大的增強(qiáng)了Linux系統(tǒng)的安全性,能將用戶(hù)權(quán)限關(guān)在籠子里,如httpd服務(wù),apache默認(rèn)只能訪(fǎng)問(wèn)/var/www目錄,并只能監(jiān)聽(tīng)80和443端口,因此能有效的防范0-day類(lèi)的攻擊。舉例來(lái)說(shuō),系統(tǒng)上的 Apache 被發(fā)現(xiàn)存在一個(gè)漏洞,使得某遠(yuǎn)程用戶(hù)可以訪(fǎng)問(wèn)系統(tǒng)上的敏感文件(比如 /etc/passwd 來(lái)獲得系統(tǒng)已存在用戶(hù)),而修復(fù)該安全漏洞的 Apache 更新補(bǔ)丁尚未釋出。此時(shí) SELinux 可以起到彌補(bǔ)該漏洞的緩和方案。因?yàn)?/etc/passwd 不具有 Apache 的訪(fǎng)問(wèn)標(biāo)簽,所以 Apache 對(duì)于 /etc/passwd 的訪(fǎng)問(wèn)會(huì)被 SELinux 阻止。

        CentOS系統(tǒng)自帶的chcon工具只能修改文件、目錄等的文件類(lèi)型和策略,無(wú)法對(duì)端口、消息接口和網(wǎng)絡(luò)接口等進(jìn)行管理,semanage能有效勝任SELinux的相關(guān)配置工作。

        安裝:

        代碼如下:

        # yum -y install policycoreutils-python

        用法:

        semanage命令用來(lái)查詢(xún)與修改SELinux默認(rèn)目錄的安全上下文。

        semanage fcontext [-S store] -{a|d|m|l|n|D} [-frst] file_spec

        semanage fcontext [-S store] -{a|d|m|l|n|D} -e replacement target

        主要參數(shù):

        -a:添加

        -d:刪除

        -m:修改

        -l:列舉

        -n:不打印說(shuō)明頭

        -D:全部刪除

        -f:文件

        -s:用戶(hù)

        -t:類(lèi)型

        r:角色

        基本使用:

        管理登錄linux的用戶(hù)和SELinux局限的用戶(hù)之間的映射。

        代碼如下:

        semanage login [-S store] -{a|d|m|l|n|D} [-sr] login_name | %groupname

        管理策略模塊:

        代碼如下:

        semanage module [-S store] -{a|d|l} [-m [--enable | --disable] ] module_name

        管理網(wǎng)絡(luò)端口類(lèi)型定義

        代碼如下:

        semanage port [-S store] -{a|d|m|l|n|D} [-tr] [-p proto] port | port_range

        例:如apache采用非標(biāo)準(zhǔn)端口,需執(zhí)行如下命令:

        代碼如下:

        emanage port -a -t http_port_t -p tcp port_number

        查看當(dāng)前允許的httpd端口:

        代碼如下:

        # semanage port -l|grep http

        http_cache_port_t tcp 3128, 8080, 8118, 8123, 10001-10010

        http_cache_port_t udp 3130

        http_port_t tcp 8888, 80, 443, 488, 8008, 8009, 8443

        pegasus_http_port_t tcp 5988

        pegasus_https_port_t tcp 5989

        注意:8888是我剛才添加的

        管理網(wǎng)絡(luò)接口類(lèi)型定義

        代碼如下:

        semanage interface [-S store] -{a|d|m|l|n|D} [-tr] interface_spec

        管理網(wǎng)絡(luò)節(jié)點(diǎn)類(lèi)型定義

        代碼如下:

        semanage node [-S store] -{a|d|m|l|n|D} [-tr] [ -p protocol ] [-M netmask] address

        管理文件中映射定義

        代碼如下:

        semanage fcontext [-S store] -{a|d|m|l|n|D} [-frst] file_spec

        semanage fcontext [-S store] -{a|d|m|l|n|D} -e replacement target

        例:讓 Apache 可以訪(fǎng)問(wèn)位于非默認(rèn)目錄下的網(wǎng)站文件

        首先,用 semanage fcontext -l | grep '/var/www' 獲知默認(rèn) /var/www 目錄的 SELinux 上下文:

        代碼如下:

        /var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0

        從中可以看到 Apache 只能訪(fǎng)問(wèn)包含 httpd_sys_content_t 標(biāo)簽的文件。

        假設(shè)希望 Apache 使用 /srv/www 作為網(wǎng)站文件目錄,那么就需要給這個(gè)目錄下的文件增加 httpd_sys_content_t 標(biāo)簽,分兩步實(shí)現(xiàn)。

        首先為 /srv/www 這個(gè)目錄下的文件添加默認(rèn)標(biāo)簽類(lèi)型:semanage fcontext -a -t httpd_sys_content_t '/srv/www(/.*)?' 然后用新的標(biāo)簽類(lèi)型標(biāo)注已有文件:restorecon -Rv /srv/www 之后 Apache 就可以使用該目錄下的文件構(gòu)建網(wǎng)站了。

        其中 restorecon 在 SELinux 管理中很常見(jiàn),起到恢復(fù)文件默認(rèn)標(biāo)簽的作用。比如當(dāng)從用戶(hù)主目錄下將某個(gè)文件復(fù)制到 Apache 網(wǎng)站目錄下時(shí),Apache 默認(rèn)是無(wú)法訪(fǎng)問(wèn),因?yàn)橛脩?hù)主目錄的下的文件標(biāo)簽是 user_home_t。此時(shí)就需要 restorecon 將其恢復(fù)為可被 Apache 訪(fǎng)問(wèn)的 httpd_sys_content_t 類(lèi)型:

        代碼如下:

        restorecon -v /srv/www/foo.com/html/file.html

        restorecon reset /srv/www/foo.com/html/file.html context unconfined_u:object_r:user_home_t:s0->system_u:object_r:httpd_sys_content_t:s0

        semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?" //新建一條規(guī)則,指定/web目錄及其下的所有文件的擴(kuò)展屬性為httpd_sys_content_t

      看過(guò)“Linux怎么安裝使用semanage”的人還看了:

      1.Linux上怎么安裝和使用Makeself

      2.Arch Linux的安裝步驟是哪些

      3.rdesktop怎么安裝和使用

      4.LINUX操作系統(tǒng)如何安裝圖形界面

      5.怎么安裝Ubuntu操作系統(tǒng)

      6.Linux系統(tǒng)怎么安裝rzsz工具

      1095212