sudo无密码配置没生效?也许是因为顺序

文章讲述了在Ubuntu中如何通过编辑sudoers文件,为特定用户(user1)设置NOPASSWD,以便在执行sudo命令时无需每次都输入密码。问题在于,当用户同时属于%admin或%sudo组时,直接的用户权限设置可能不起作用。解决方案是将NOPASSWD的设置放在组权限之后。

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

在Ubuntu上经常要用到sudo来运行一些系统相关的命令。每新开一次终端运行sudo就要重新输入一次密码,也是很烦。

用visudo修改sudoer的配置,在“用户特权”的root用户下写了用户名user1,并让它NOPASSWD

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
user1   ALL=(ALL:ALL) NOPASSWD:ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "@include" directives:

@includedir /etc/sudoers.d

但是很遗憾,这不生效。

原来是这个用户user1还在%admin和%sudo这个两个group里。

由此可见,如果将用户的定义写在这两个group前,某些设置可能不生效。

所以,我将定义NOPASSWD的位置写在了group之后。 It works!

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

user1   ALL=(ALL:ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "@include" directives:

@includedir /etc/sudoers.d

### 修改 Redis 配置文件中的码设置 为了在 Redis 配置文件中更改码,需编辑 `redis.conf` 文件并找到或添加 `requirepass` 参数来设定新码。确保此参数未被注释掉,并且其值设为期望的新码字符串[^2]。 如果遇到配置后的码未能生效的情况,在 Windows 环境下可尝试通过命令行工具验证当前配置状态: ```bash config get requirepass ``` 上述命令用于获取已配置的连接码;若返回为空则表明码可能并未成功应用。此时应确认 `redis.conf` 中关于 `requirepass` 的定义无误,并检查是否存在其他可能导致该设置失效的因素,比如错误的日志记录或者权限问题等[^5]。 另外值得注意的是,当使用 `include` 指令引入外部配置文件时,放置顺序会影响最终加载效果——位于后面的同名选项将会覆盖先前读取到的内容。因此建议将此类指令置于主配置文档相应条目之后以确保预期行为得以实现[^3]。 对于 Linux 用户来说,完成修改后记得重启服务使改动即时生效: ```bash sudo systemctl restart redis.service ``` 而对于 Windows 平台上的部署实例,则可通过重新启动服务器进程的方式让新的认证机制投入使用。 #### 设置示例 以下是针对不同操作系统平台的具体操作指南: - **Linux/macOS** 编辑 `/etc/redis/redis.conf` 或者对应的路径下的配置文件,加入如下行(假设要使用的码是 mypassword): ```text requirepass mypassword ``` - **Windows** 对于 Windows 版本而言,除了更新本地存储的 `redis.windows.conf` 外,还需调整批处理脚本 `startup.bat` 来指向含有最新变更的配置文件版本: ```batchfile @echo off start redis-server.exe --service-start --loglevel verbose --protected-mode no --port 6379 --bind 127.0.0.1 --maxmemory-policy allkeys-lru --daemonize yes --dir .\data --dbfilename dump.rdb --appendonly yes --requirepass "mypassword" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值