容器安全 - 提升容器的运行安全

OpenShift 4.x HOL教程汇总

以非特权方式运行容器

  1. 以特权的方式运行容器,确认可以执行“fdisk”命令,并能获得有效的返回结果。
$ sudo docker run -ti --privileged -v /etc:/mnt  centos bash
[root@e21f07ad1509 /]# fdisk -l
Disk /dev/vda: 98.7 GiB, 105931341824 bytes, 206897152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00096aae
 
Device     Boot Start       End   Sectors  Size Id Type
/dev/vda1  *     2048 204799999 204797952 97.7G 83 Linux
 
Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
 
[root@e21f07ad1509 /]# exit
exit
  1. 以非特权的方式运行容器,确认可以执行“fdisk”命令,但是不能获得有效的返回结果。
$ sudo docker run -ti  -v /etc:/mnt  centos bash
[root@a57b0407ebbe /]# fdisk -l
[root@86ec3a31683c /]# exit
exit

以非root用户运行容器

  1. 运行容器,确认进入容器后的缺省用户为 “root”。
$ sudo docker run -ti  -v /etc:/mnt  centos bash
[root@86ec3a31683c /]# id
uid=0(root) gid=0(root) groups=0(root)
[root@86ec3a31683c /]# exit
exit
  1. 用指定ID的“用户:组”运行容器,确认进入容器后的缺省用户为 “6667:6667”。
$ sudo docker run -ti -u 6667:6667 -v /etc:/mnt  centos bash
bash-4.4$ id
uid=6667 gid=6667 groups=6667
bash-4.4$ fdisk -l
bash-4.4$ exit
exit
  1. 用指定ID的“用户:组”运行容器,确认虽然使用的是特权模式,但是出现 “Permission denied”提示,说明“6667:6667”无权访问“/dev”下面的资源。
$ sudo docker run -ti --privileged -u 6667:6667 -v /etc:/mnt  centos bash
bash-4.4$ fdisk -l
fdisk: cannot open /dev/fd0: Permission denied
fdisk: cannot open /dev/vda: Permission denied
fdisk: cannot open /dev/vdb: Permission denied
fdisk: cannot open /dev/sr0: Permission denied
bash-4.4$ exit
exit

猜你喜欢

转载自blog.csdn.net/weixin_43902588/article/details/121367288