sudo 限制普通用户权限

限制用户sudo所能执行的命令

linux是多用户多任务的分时操作系统,共享该系统的用户往往不只一个。

但由于root账户密码的敏感性和root账号的无限制权限, 有必要通过useradd创建一些普通用户, 只让他们拥有不完全的权限; 如有必要,再来申请执行一些root权限的指令。
sudo就是来解决这个需求的。
sudo命令的执行流程是: 当前用户转换到root, 然后以root身份执行命令, 执行完成后, 直接退回到当前用户.
需要注意的是: 执行sudo时输入的密码, 是当前用户的密码, 并非root密码.

赋予用户sudo操作的权限
[root@zhang ~]# visudo
#在99行下面添加以下内容
zhang ALL=(ALL) ALL
#如果是命令使用下面的方式:zhang ALL=(ALL) /bin/touch(多个权限用“,”分开,ALL所有权限,NOPASSWD: ALL免密码)

注:
一般常用sudo命令来临时获得root权限执行一些特权命令。这很方便,但是也有一个问题: 普通用户可以通过sudo命令完成用户的增删和密码的更改,甚至是对root用户的密码更改!!!
如:

xxx@yyy$:sudo passwd root
Input the new UNIX pass word:
这样就可以直接越过root直接修改root的密码。这是非常危险的。

解决办法

1、 groupadd admin 创建一个admin用户组,后边在设置权限时会用到

2、usermod -a -G admin [用户] 将用户添加到admin组

3、在这里可以通过 /etc/sudoers 文件限制

$:sudo visudo
注意,这命令在最后修改sudoers文件中,也要加以限制,否则还可以通过这个命令恢复。

在这个文件中修改默认的以下两行:

%admin ALL=(ALL) ALL
%sudo ALL=(ALL) ALL
为以下:

%admin ALL=/usr/sbin/,/sbin/,/usr/bin/,!/usr/bin/passwd,!/usr/sbin/visudo,!/usr/sbin/useradd,!/usr/sbin/userdel
%sudo ALL=/usr/sbin/,/sbin/,/usr/bin/,!/usr/bin/passwd,!/usr/sbin/visudo,!/usr/sbin/useradd,!/usr/sbin/userdel

转载于:https://blog.51cto.com/13069301/2096011

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值