linux可以让用户sudo但如何设置其不能切换到root中?

发布于 2022-09-11 21:59:02 字数 577 浏览 24 评论 0

ubuntu16.0.4
  1. 让普通用户可以sudo执行命令 eg: sudo docker ps
  2. 通过sudo usermod -G sudo username 现在用户拥有了sudo
  3. 但是用户通过sudo susudo -isudo -s方式可以切换到root账号中, 这样在做用户操作日志的时候就有问题
  4. 通过vi /etc/sudoers 编辑%sudo ALL=(ALL:ALL) ALL ===> %sudo ALL=(ALL:ALL) ALL,!/bin/su

但是sudo -isudo -s还是可以切换, 如何把这两个命令禁用掉?


更新: 2019年8月28日12:52:10

其实我不是想给用户禁什么功能、只是不想用户随意切换用户、从而影响操作日志记录.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

愚人国度 2022-09-18 21:59:02

我是小白,弱弱的问一句,从普通user切换到root 不是提示要输入密码么?
普通用户是不会有root的密码呀, 有的话那就不叫普通用户了

小红帽 2022-09-18 21:59:02

把这两个禁掉又怎样呢?总没禁编辑器吧,sudo改一下/etc/sudoers不就啥都有了吗?
而且普通用户可以写个程序类似su的程序,同样可以获取管理员权限:

//suroot.c
int main(){
    ...
    setuid(0);
    exec("/bin/bash");
    ...
}

然后把该程序的权限设置为:

chmod a+x suroot
chmod u+s suroot
sudo chown root:root suroot

普通用户就能获取管理员权限了。


所以,不要想着禁什么,应该考虑给什么。见我这篇回答:请问怎样限制被赋予sudo权限的非root用户编辑/etc/sudoers文件?

让普通用户只能通过sudo执行特定的命令,配置/etc/sudoers就好了。

疾风者 2022-09-18 21:59:02
username1 ALL=(username2) /path/to/cmd1, /path/to/cmd2

这样 username1 只能 sudo 到 username2 ,并且只能以 username2 的身份运行 cmd1 跟 cmd2 。

(通过 sudo -u username2 ...

man sudo
man sudoers

撩发小公举 2022-09-18 21:59:02

同意@phantasyslayer
配置里的%sudo ALL=(ALL:ALL) ALL 这行明显权限过大
csdn上这个说得比较详细了https://blog.csdn.net/gzhouc/...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文