SE Linux初級教程:添加新的使用者域

來源:互聯網
上載者:User
關鍵字 Linux 初級教程 使用者域

現在讓我們建立一個我們自己的使用者域, 並把它叫做second_t 。 我們也將會建立一個新的角色叫做second_r 。 要建立second_r 角色首先在前面的部分(剛剛分配了 user_r 角色並且並不真正建立這樣的使用者) 中一步一步跟著作,但是不要運行第 5.2 節中的make命令。 在你已經編輯 /etc/selinux/user之後,回到這裡並且繼續下一部分,關於編輯消費者領域檔的部分。

關於為什麼我不想要你運行make指令的原因,是因為早先的部分剛剛分配了缺省的一個 user_r 的角色。 但是我們將會建立一個新的角色,而且同樣地我們需要一個新的域與它搭配。 以下部分進行概略說明。

6.1編輯使用者的域檔

使用者域的設定檔是 /etc/selinux/domains/user.te 。 請先看一遍。 添加以下幾行:

full_user_role(second)

allow system_r second_r

allow sysadm_r second_r

在檔的什麼位置添加是無所謂的,在上面添加注釋:

# if adding new user roles make sure you edit the in_user_role macro in

# macros/user_macros.te to match

再來編輯 /etc/selinux/macros/user_macros.te 檔進行匹配。 打開此檔並找到 in_user_role (差不多在檔的結尾)這行。 添加 "role second_r types $1;" 現在這部分檔應該像這樣:

undefine(`in_user_role')

define(`in_user_role', `

role user_r types $1;

role second_r types $1;

')

回到我們編輯的第一個檔 (full_user_role(second)), 這樣我們就建立了second_t域和second_home_dir_t類型以及 second_home_t 類型(使用者主目錄的類型和主目錄裡檔的類型 )。 一個 second_tmp_t類型 ,當在/tmp目錄下建立檔時。 類型 second_tmpfs_t是在tmpfs中共用記憶體檔案系統中建立檔的上下文。 最後,second_tty_device_t和 second_devpts_t類型分別被用來標記終端設備(tty)和虛擬終端設備。 當然也建立了相應的策略應用於這些標記。

SE Linux內部並不支援任何類型的標定, 以及類型/域的繼承,等。 當然策略語言的編寫也不支援這些特徵。 所以我們用M4宏編譯器來設置簡單的域和類型。

我們現在來建立一個使用者在這個新域中使用 (second_t)並訪問 second_r 角色。

6.2再次建立一個新的測試使用者

使用 useradd, 建立一個新的使用者。 (讓我們假設使用者叫做 " spike") 把spike加入 /etc/selinux/users 只給予他對 second_r 角色的訪問權和沒有其它許可權。 然後運行

make -C /etc/selinux load

應用新的策略。

接下來是設置缺省域和新的角色。 我們可以編輯 /etc/security/default_type 檔並添加以下行:

second_r:second_t

我們現在必須手動設定/home/spike 和它的上下文。 useradd ,命令不會做這些事情,它只支援重新標記使用者的 user_r 角色。 運行下面的命令:

find /home/spike -print0 | xargs -0 chcon -h system_u:object_r:second_home_t ;\

chcon -h system_u:object_r:second_home_dir_t /home/spike

現在試著用spike使用者身份登錄。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.