普通用户中 rootsh 运行问题

普通用户中 rootsh 运行问题

我已经安装了 rootsh,它在 CentOS 6 中运行良好。但它的日志同时写入/var/log/messages/var/log/rootsh/

我希望日志仅写入/var/log/rootsh/,而不是/var/log/messages。当我从 root 运行命令时,我可以禁用 syslog:

rootsh --no-syslog

我也希望能够使用普通用户禁用 syslog。我以普通用户身份登录并编辑.bashrc以添加以下行

rootsh --no-syslog

它正在创建 225 个进程:

[root@testing ~]# ps aux | grep rootsh | wc -l
225

[root@testing ~]# ps aux | grep rootsh | less

code 16521 0.0 0.0 8256 832 pts/1 S+ 14:43 0:00 /usr/bin/rootsh --no-syslog
code 16535 0.0 0.0 8256 816 pts/3 S+ 14:43 0:00 /usr/bin/rootsh --no-syslog
code 16549 0.0 0.0 8256 820 pts/5 S+ 14:43 0:00 /usr/bin/rootsh --no-syslog
code 16563 0.0 0.0 8256 816 pts/6 S+ 14:43 0:00 /usr/bin/rootsh --no-syslog
code 16577 0.0 0.0 8256 820 pts/7 S+ 14:43 0:00 /usr/bin/rootsh --no-syslog
code 16591 0.0 0.0 8256 820 pts/8 S+ 14:43 0:00 /usr/bin/rootsh --no-syslog
code 16605 0.0 0.0 8256 820 pts/9 S+ 14:43 0:00 /usr/bin/rootsh --no-syslog
code 16619 0.0 0.0 8256 824 pts/10 S+ 14:43 0:00 /usr/bin/rootsh --no-syslog
code 16633 0.0 0.0 8256 820 pts/11 S+ 14:43 0:00 /usr/bin/rootsh --no-syslog
code 16647 0.0 0.0 8256 820 pts/12 S+ 14:43 0:00 /usr/bin/rootsh --no-sysl

答案1

这里发生的事情是你陷入了一个循环 - 看看 pstree 的输出

sshd───bash───rootsh───bash───rootsh───bash───rootsh...

每次运行 bash 时,它都会运行 .bashrc,而 .bashrc 又运行 rootsh,它是 bash 的包装器,因此它运行 bash,而 bash 又运行 .basrc ...

您可以将调用放在 .bash_profile 中,这样它只会在登录 shell 中运行

~/.bash_profile
      The personal initialization file, executed for login shells
~/.bashrc
      The individual per-interactive-shell startup file

pstree 的输出如下

sshd───bash───rootsh───bash───pstree

但是不要rootsh -i在你的.bash_profile 中使用。

相关内容