当用户通过 ssh 访问暂存服务器时,他使用以下命令:
# sudo -u raja sudosh (user logged on in this format )
# sudo ssh xyz@server-ip-address sudosh ( login to staging server through ssh)
用户登录或使用 ssh 时不想使用 sudosh 命令,而是想使用/user/bin/sudosh
shell。用户希望按如下方式登录:
# raja
和
# ssh xyz@server-ip-address
解决方案是什么?
答案1
sudosh
· Github提供了有关如何设置sudosh
为用户默认 shell 的详细说明:
启用
sudo
日志记录。编辑/etc/sudoers.d/sudosh
:Defaults log_output Defaults!/usr/bin/sudoreplay !log_output Defaults!/sbin/reboot !log_output
将此命令添加到
/etc/shells
:/usr/bin/sudosh
提示:为防止用户使用其他 shell 登录,请从 中删除这些 shell
/etc/shells
。更新用户
foobar
以使用 sudosh shell。chsh -s /usr/bin/sudosh foobar echo 'foobar ALL=(foobar) ALL' > /etc/sudoers.d/sudosh-foobar
笔记:文件名
sudoers.d
不能包含.
字符
另一种选择(尽管很多更容易绕过!)alias
,例如:
alias raja='sudo -u raja sudosh'
alias ssh_login='sudo ssh xyz@server-ip-address sudosh'