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的功能。
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 \
- /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
默认情况下AppArmor已安装并载入。它使用每个程序的profiles来确定这个程序需要什么文件和权限。有些包会安装它们自己的profiles,额外的profiles可以在apparmor-profiles包里找到。
下面简单介绍下AppArmor的使用:
(1)apparmor_status是用来查看AppArmor配置文件的当前状态的
- sudo apparmor_status
- sudo aa-complain /path/to/bin //可执行程序的路径
- sudo aa-enforce /path/to/bin //可执行程序的路径
(4)要将所有配置文件置入complain模式,输入:
- sudo aa-complain /etc/apparmor.d/*
(5)要将所有配置文件置入enforce模式:
- sudo aa-enforce /etc/apparmor.d/*
- cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
- cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
- sudo /etc/init.d/apparmor reload
- sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/
- sudo apparmor_parser -R /etc/apparmor.d/profile.name
- sudo rm /etc/apparmor.d/disable/profile.name
- cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
- sudo /etc/init.d/apparmor stop
- sudo update-rc.d -f apparmor remove
- sudo /etc/init.d/apparmor start
- sudo update-rc.d apparmor defaults
言归正传,重新回到lxc中的AppArmor上来。
LXC利用AppArmor配置文件来保护主机不受容器内实例的恶意行为,比如:容器内的实例对/proc/sysrq-tigger以及/sys目录下的绝大部分文件不具有写权限。另外,usr.bin.lxc-start配置文件用来防止lxc-start挂载除了容器根目录下列出的其他文件。在执行容器实例的init进程之前,还回去/etc/apparmor.d/lxc/lxc-default进行权限的检查,禁止init访问一些危险的资源。
在接下来的文章中将会重点介绍cgroup机制相关的内容!
相关推荐
xiaoying 2020-09-28
JackZhou 2020-08-01
vipiter 2020-06-06
changecan 2020-05-26
兰海泽 2020-02-18
dusuanyun 2015-08-15
CoderBoy 2019-11-03
JackZhou 2017-05-04
容器技术爱好者 2016-03-01
jinriit 2015-07-07
breezegao 2019-06-30
rually 2019-06-30
LucisCaelum 2015-08-15
有瑕疵的老兵 2015-06-24
石羊 2019-06-28
admin 2019-06-28
haniux 2018-09-09
PinGoole 2017-08-04
shiqiangdexin 2015-04-10