Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在docker容器-kubernetes中启用命令行审核日志记录_Linux_Docker_Ubuntu_Logging_Kubernetes - Fatal编程技术网

Linux 在docker容器-kubernetes中启用命令行审核日志记录

Linux 在docker容器-kubernetes中启用命令行审核日志记录,linux,docker,ubuntu,logging,kubernetes,Linux,Docker,Ubuntu,Logging,Kubernetes,希望你能帮忙 我试图在docker容器中启用审计日志记录,因此,如果任何人kubectl exec访问docker容器并运行任何命令,那么这些命令将被记录,我们可以在kubectl日志中查看它们并使用fluentd进行捕获 向容器的/etc/profile添加以下行的选项适用于root,但不适用于非root用户,因为/proc/1/fd/1仅由root用户拥有和可写,并且更改所有权或权限不是一个选项 trap 'echo "$USER":"$BASH_COMMAND

希望你能帮忙

我试图在docker容器中启用审计日志记录,因此,如果任何人
kubectl exec
访问docker容器并运行任何命令,那么这些命令将被记录,我们可以在
kubectl日志中查看它们
并使用
fluentd
进行捕获

向容器的
/etc/profile
添加以下行的选项适用于
root
,但不适用于
非root
用户,因为
/proc/1/fd/1
仅由
root
用户拥有和可写,并且更改所有权或权限不是一个选项

trap 'echo "$USER":"$BASH_COMMAND" >> /proc/1/fd/1' DEBUG
到目前为止,我们已经尝试了以下方法:

  • 一个可行的选项是将容器作为
    非root运行,但不幸的是,这不是一个选项
  • 仅更改权限/所有权的选项不会更改权限/所有权
  • 另外,将
    mesg y
    添加到
    /etc/profile
    以允许对root用户的访问也不起作用,因为执行
    su-非root用户
    时权限被拒绝(
    mesg:cannot open/dev/pts/2:permission denied
    )-无法更改权限
  • 添加一个特殊文件并尝试从那里重定向日志的选项也不起作用,但权限仍然被拒绝。例如:
mkfifo-m666/tmp/logpipe#创建特殊文件
trap'echo“$USER”:“$BASH_COMMAND”/tmp/logpipe>/proc/1/fd/1”DEBUG#in/etc/profile
  • 更改为
    trap'echo“$USER”:“$BASH_COMMAND”'DEBUG
    也将不起作用,因为如果是docker,日志需要转到
    /proc/1/fd/1
如何在docker容器中启用命令行审核日志记录,或者如何解决容器中以
root
用户身份运行的
非root
/proc/1/fd/1
权限问题

任何想法都将受到高度赞赏

mkfifo -m 666 /tmp/logpipe  #create the special file
trap 'echo "$USER":"$BASH_COMMAND" <> /tmp/logpipe > /proc/1/fd/1' DEBUG  # in /etc/profile