Docker 减少系统管理Linux功能

Docker 减少系统管理Linux功能,docker,containers,linux-capabilities,Docker,Containers,Linux Capabilities,我正在创建一个Docker容器,我不想为其保留“privileged”标志true。这是为了让它更安全,更好地控制。 我的容器主要从事以下任务(这将帮助我定义它的资源访问范围并相应地实施访问控制) 1.在容器上安装gluster文件系统 2.运行SSH守护程序以接受传入的SSH连接 3.运行一些通常可用的bash命令 我在运行docker容器时使用了“-cap add=SYS_ADMIN”选项来实现这一点。然而,由于系统管理员增加了比我需要的更多的特权(如下所列)。如何仅实现系统管理功能的子集

我正在创建一个Docker容器,我不想为其保留“privileged”标志true。这是为了让它更安全,更好地控制。 我的容器主要从事以下任务(这将帮助我定义它的资源访问范围并相应地实施访问控制) 1.在容器上安装gluster文件系统 2.运行SSH守护程序以接受传入的SSH连接 3.运行一些通常可用的bash命令

我在运行docker容器时使用了“-cap add=SYS_ADMIN”选项来实现这一点。然而,由于系统管理员增加了比我需要的更多的特权(如下所列)。如何仅实现系统管理功能的子集

系统管理员:

执行一系列系统管理操作,包括:quotactl(2)、mount(2)、umount(2)、swapon(2)、swapoff(2)、sethostname(2)和setdomainname(2)

  • 执行特权系统日志(2)

  • 操作(自Linux 2.6.37以来,应使用CAP_SYSLOG来允许
    这些行动)。执行VM86_请求_IRQ VM86(2)命令

  • 在任意系统V IPC上执行PC_集和IPC_RMID操作 物体

  • 对受信任和安全扩展属性执行操作(请参见
    属性(5))

  • 使用lookup_dcookie(2)
  • 使用ioprio_集合(2)分配

  • IOPRIO_类_RT和(Linux 2.6.25之前)IOPRIO_类_空闲I/O
    排班

  • 传递套接字凭据时伪造UID

  • 超过/proc/sys/fs/file max,系统范围内对 打开文件,在打开文件的系统调用中(例如,接受(2), 执行(2)、打开(2)、管道(2))

  • 使用CLONE_*标志创建带有CLONE(2)和 取消共享(2)
  • 调用性能事件打开(2)
  • 访问特权性能事件信息
  • 呼叫SETN(2)
  • 调用fanotify_init(2)
  • 执行KEYCTL_CHOWN和KEYCTL_SETPERM KEYCTL(2)操作
  • 执行madvise(2)MADV_操作
  • 使用TIOCSTI ioctl(2)在输入中插入字符 呼叫方控制终端以外的终端的队列。 使用过时的nfsservctl(2)系统调用
  • 使用过时的bdflush(2)系统调用
  • 执行各种特权块设备ioctl(2)操作
  • 执行各种特权文件系统ioctl(2)操作
  • 对许多设备驱动程序执行管理操作

其他功能都不够吗?()像net_admin一样,装载文件系统?