歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

linux容器技術-LXC相關技術知識介紹


linux容器技術-LXC相關技術知識介紹   1. lxcbr0     當/etc/default/lxc中的USE_LXC_BRIDGE="true"的時候,橋lxcbr0會在lxc啟動的時候自動創建,並且被賦予10.0.3.1的ip地址,使用這個橋的lxc實例可以從10.0.3.0/24中分配ip。一個dnsmasq實例在後台運行用來監聽lxcbr0,用來實現dns和dhcp的功能。   www.2cto.com   2. 使用隔離的文件系統作為lxc實例的存儲     lxc實例的配置信息以及根文件系統都存放在/var/lib/lxc目錄下,另外,沒創建一個實例也會將其cache到/var/lib/lxc目錄下。如果你想使用除/var之外的其他文件系統的話,也可以通過以下兩種方式來實現:   sudo mkdir /srv/lxclib /srv/lxccache sudo rm -rf /var/lib/lxc /var/cache/lxc sudo ln -s /srv/lxclib /var/lib/lxc sudo ln -s /srv/lxccache /var/cache/lxc 或者: sudo mkdir /srv/lxclib /srv/lxccache sudo sed -i '$a \  www.2cto.com   /srv/lxclib /var/lib/lxc none defaults,bind 0 0 \ /srv/lxccache /var/cache/lxc none defaults,bind 0 0' /etc/fstab sudo mount -a
  3. LXC的安全性 -- apparmor(應用程序訪問控制系統)     AppArmor 是一個類似於selinux 的東東,主要的作用是設置某個可執行程序的訪問控制權限,可以限制程序 讀/寫某個目錄/文件,打開/讀/寫網絡端口等等。  默認情況下AppArmor已安裝並載入。它使用每個程序的profiles來確定這個程序需要什麼文件和權限。有些包會安裝它們自己的profiles,額外的profiles可以在apparmor-profiles包裡找到。     下面簡單介紹下AppArmor的使用: (1)apparmor_status是用來查看AppArmor配置文件的當前狀態的 sudo apparmor_status (2)aa-complain將一個程序置入complain模式。 sudo aa-complain /path/to/bin   //可執行程序的路徑 (3)aa-enforce將一個程序置入enforce模式 sudo aa-enforce /path/to/bin    //可執行程序的路徑 /etc/apparmor.d目錄是AppArmor配置文件的所在之處。可用來操作所有配置文件的模式mode。
  (4)要將所有配置文件置入complain模式,輸入: sudo aa-complain /etc/apparmor.d/*  www.2cto.com   (5)要將所有配置文件置入enforce模式: sudo aa-enforce /etc/apparmor.d/* (6)apparmor_parser用來將一個配置文件載入內核。它也可以通過使用-r選項來重新載入當前已載入的配置文件。要載入一個配置文件: cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a (7)要重新載入一個配置文件: cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r (8)/etc/init.d/apparmor可用來重新載入所有配置文件: sudo /etc/init.d/apparmor reload (9)The /etc/apparmor.d/disable目錄可以和apparmor_parser -R選項一起使用以禁用一個配置文件。 sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/profile.name
  (10)要重新激活 一個已禁用的配置文件,請在 /etc/apparmor.d/disable/裡刪除到其配置文件的軟鏈接。然後使用選項 -a載入配置文件。 sudo rm /etc/apparmor.d/disable/profile.name cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a (11)AppArmor可以被禁用,其內核模塊可以通過輸入以下命令卸載:   www.2cto.com   sudo /etc/init.d/apparmor stop sudo update-rc.d -f apparmor remove (12)要重新啟用AppArmor,輸入: sudo /etc/init.d/apparmor start sudo update-rc.d apparmor defaults 至於如何編寫AppArmor的配置文件,將會在後面的文章中介紹!   言歸正傳,重新回到lxc中的AppArmor上來。 LXC利用AppArmor配置文件來保護主機不受容器內實例的惡意行為,比如:容器內的實例對/proc/ sysrq-tigger以及/sys目錄下的絕大部分文件不具有寫權限。另外,usr.bin.lxc-start配置文件用來防止lxc-start掛載除了容器根目錄下列出的其他文件。在執行容器實例的init進程之前,還回去/etc/apparmor.d/lxc/lxc-default進行權限的檢查,禁止init訪問一些危險的資源。     在接下來的文章中將會重點介紹cgroup機制相關的內容!     作者 ustc_dylan
Copyright © Linux教程網 All Rights Reserved