ubuntu16.04 正确编辑 /etc/sudoers 文件,禁止普通用户使用超级权限

本文详细介绍了在Ubuntu16.04中如何正确编辑/etc/sudoers文件,包括修改文件权限、禁止普通用户使用超级权限、编辑用户特权行以及允许普通用户使用sudo命令的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu16.04 正确编辑 /etc/sudoers 文件,禁止普通用户使用超级权限

/etc/sudoers 编辑权限问题

请先切换到超级用户(root),将 /etc/sudoers 修改为可编辑。

ls -lah /etc/sudoers
chmod 777 /etc/sudoers

/etc/sudoers 修改回只读模式。

chmod 440 /etc/sudoers
ls -lah /etc/sudoers

如何编辑 /etc/sudoers

User Privilege Lines

  • root ALL=(ALL:ALL) ALL
    The first field indicates the username that the rule will apply to (root).
  • demo ALL=(ALL:ALL) ALL
    The first “ALL” indicates that this rule applies to all hosts.
  • demo ALL=(ALL:ALL) ALL
    This “ALL” indicates that the root user can run commands as all users.
  • demo ALL=(ALL:ALL) ALL
    This “ALL” indicates that the root user can run commands as all groups.
  • demo ALL=(ALL:ALL) ALL
    The last “ALL” indicates these rules apply to all commands.
    This means that our root user can run any command using sudo, as long as they provide their password.

禁止普通用户使用 sudo, su 命令

这里约定普通用户的用户名是 www-data,其用户组只有 www-data
那么在 /etc/sudoers 中添加如下的规则,可以禁止用户使用 sudo 命令

www-data ALL=(www-data:www-data) /bin/*,/usr/bin/*,/sbin/*, /usr/sbin/*,!/usr/bin/sudo,!/bin/su,!/usr/bin/passwd,!/usr/bin/chattr -* /etc/sudoers

普通用户禁用 su 的话。这里需要注意的是 ubuntu 16.04 禁止普通用户使用 su 命令,需要修改 /etc/pam.d/su,找到类似 #auth required pam_wheel.so,取消其注释,并在其后添加允许使用 su 的用户组 group=sudo

最终的修改如下,修改后会立刻生效:

auth       required   pam_wheel.so group=sudo

可以不用在 /etc/login.defs 追加 SU_WHEEL_ONLY yes,如果追加,可能会报 SU Module Unknown Error。可能是由于 ubuntu 上没有 wheel 组,有可能会出现不兼容的情况,例如这位老哥 pam.d/su to restrict su access. SU Module Unknown Error

允许普通用户使用 sudo 命令

有如下几种方法,可以搜索其他博客进行参考:

  1. 把普通用户添加到 sudo 组别
  2. /etc/sudoers 添加规则,例如:
    www-data ALL=(ALL:ALL) ALL
    

为用户增加sudo权限(修改sudoers文件)

How To Edit the Sudoers File on Ubuntu and CentOS

【转】/etc/sudoers配置文件详解

公司Ubuntu设置员工sudo权限实例

Linux 禁止普通用户su切换root

Why is Debian not creating the ‘wheel’ group by default?

### Ubuntu 16.04 中 Root 权限操作与管理 #### 使用 `sudo` 命令临时获得管理员权限 对于大多数日常管理和配置任务,建议使用 `sudo` 命令来临时提升权限。这允许普通用户执行特定的超级用户指令而无需切换账户。 ```bash sudo apt-get update ``` 这种方式不仅安全而且方便,在完成必要的特权操作之后会自动降权回到正常用户的环境[^1]。 #### 设置无密码 sudo 访问 如果频繁输入密码感到不便,则可以考虑为某些命令设置免密执行: 编辑 `/etc/sudoers` 文件(强烈建议通过 visudo 工具打开以防止语法错误) ```bash visudo ``` 在文件末尾追加如下行(假设用户名为 your_username): ```bash your_username ALL=(ALL) NOPASSWD:ALL ``` 保存退出即可实现指定用户对所有命令的无密码调用[^2]。 #### 启用 root 用户登录 默认情况下,Ubuntu 的 root 账号处于锁定状态。要激活它,可以通过给定密码解锁此账号: ```bash sudo passwd root ``` 按照提示设定新密码后即完成了 root 用户的启用工作。不过需要注意的是直接作为 root 登录存在安全隐患,通常只应在必要时这样做[^3]。 #### 配置图形化界面下的自动登录至 root 为了使系统启动时能够直接进入具有最高权限的工作站桌面环境中,需调整 LightDM 显示管理器的相关参数: 利用文本编辑工具修改位于 `/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf` 下面的内容,确保其中含有以下几项设置: ```ini [SeatDefaults] autologin-user=root greeter-show-manual-login=true allow-guest=false ``` 上述更改使得机器重启过后就能看到已经预先填好的 root 名字框等待验证口令了[^4]。 #### SSH 远程连接中的 Root 授权控制 当涉及到远程服务器维护场景下,可能还会遇到关于是否允许 root 经由 SSH 协议接入的问题。此时应该前往 `/etc/ssh/sshd_config` 查找并适当放开对应的访问策略选项: 取消原有行前的井号注释符,并替换为更宽松的形式如: ```bash PermitRootLogin yes ``` 最后记得重启 sshd 服务以便生效新的认证规则: ```bash service ssh restart ``` 以上就是在 Ubuntu 16.04 上处理各类涉及 root 特权事务的方法概述[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值