Ubuntu下/etc/sudoers的设置和sudo免密码执行及设置无效的原因

简介: Ubuntu下免密码执行sudo及设置无效的原因

sudo配置文件格式

授权规则格式:用户 登入主机=(代表用户) 命令
示例:

root ALL=(ALL) ALL 

格式说明:

user: 运行命令者的身份 
host: 通过哪些主机 
(runas):以哪个用户的身份 
command: 运行哪些命令 
以%开头的是组

指定命令

student ALL=(root) /sbin/pidof,/sbin/ifconfig

定义别名

User_Alias NETADMIN = netuser1,netuser2
Cmnd_Alias NETCMD = /usr/sbin/ip 
NETADMIN ALL=(root) NETCMD

可以执行目录下除了xxx外的所有命令

#james 可以从136,138主机登录执行/usr/sbin/下的所有命令,除了/usr/sbin/userdel
james 192.168.175.136,192.168.175.138=(root) /usr/sbin/,!/usr/sbin/userdel

sudo用法

切换身份

sudo -i -u xujx 

以什么身份执行命令

sudo [-u user] COMMAND

列出用户可用和被禁的命令

sudo -u user -l

其他参数说明

-V 显示版本信息等配置信息
-u user 默认为root
-l,ll 列出用户在主机上可用的和被禁止的命令
-v 再延长密码有效期限5分钟,更新时间戳
-k 清除时间戳(1970-01-01),下次需要重新输密码
-K 与-k类似,还要删除时间戳文件
-b 在后台执行指令
-p 改变询问密码的提示符号 

设置su,sudo不用输入密码:

sudo visudo

添加yourUserName ALL=(ALL) NOPASSWD: ALL , 后 ctrl+o, 回车 , ctrl+x 退出:

# User privilege specification
root    ALL=(ALL:ALL) ALL
yourUserName 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

新启动一个terminal, 测试没有生效。

原因: 设了nopasswd,但是不起作用,原因是被后面的group的设置覆盖了。改为添加在文件最后一行即可。

# 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
yourUserName ALL=(ALL) NOPASSWD: ALL
相关文章
|
2月前
|
Ubuntu Shell Python
Ubuntu学习笔记(一):pycharm设置快捷启动图标详解
这篇博客详细讲解了如何在Ubuntu 20.04系统中为PyCharm设置快捷启动图标,包括创建.desktop文件、编辑文件内容以及添加到收藏夹的步骤。
395 0
Ubuntu学习笔记(一):pycharm设置快捷启动图标详解
|
2月前
|
网络协议 Ubuntu 网络安全
|
2月前
|
开发框架 缓存 Ubuntu
dotnet开发框架+ubuntu防火墙命令+win11设置自动登录+阿里云短信发送限制
dotnet开发框架+ubuntu防火墙命令+win11设置自动登录+阿里云短信发送限制
41 3
|
2月前
|
Ubuntu 安全 网络协议
Ubuntu设置smb功能
通过以上步骤,您已经在Ubuntu系统上成功设置了SMB共享服务,实现了与不同操作系统间的文件共享。记住,根据实际需求调整配置文件,特别是在安全性方面,比如限制访问权限、使用加密传输等,以确保共享环境既便利又安全。
82 0
|
4月前
|
Ubuntu 网络协议 数据安全/隐私保护
【Ubuntu】sudo apt-get update 无法解析域名(亲测有效)
在Ubuntu 18.04系统中,用户在执行sudo apt-get update时遇到“无法解析域名‘ip’”的错误。经分析,问题源于之前设置的网络代理配置未完全清除。解决方案是找到并重命名/etc/apt/apt.conf.d下的proxy.conf文件,使其不再生效。操作后,sudo apt-get update命令恢复正常,问题得到完美解决。
857 4
【Ubuntu】sudo apt-get update 无法解析域名(亲测有效)
|
4月前
|
Ubuntu 网络安全 数据安全/隐私保护
Ubuntu 普通用户修改sudoers导致无法使用sudo的解决办法
Ubuntu 普通用户修改sudoers导致无法使用sudo的解决办法
140 2
|
4月前
|
Ubuntu 网络安全
【ubuntu 网卡混杂模式设置】
【ubuntu 网卡混杂模式设置】
96 1
|
4月前
|
Ubuntu 数据库
在Ubuntu 12.04上安装和设置Postfix的方法
在Ubuntu 12.04上安装和设置Postfix的方法
46 1
|
5月前
|
Ubuntu 网络协议
ubuntu 20.4 局域网固定ip设置
【7月更文挑战第24天】
58 6
|
4月前
|
Ubuntu
Ubuntu双显示屏如何设置竖屏
本文介绍了如何在Ubuntu操作系统中设置双显示屏,特别是如何通过命令行将外接显示屏设置为竖屏显示。文章提供了详细的步骤,包括使用`xrandr`命令查询显示屏、旋转屏幕,以及尝试设置开机自启动和开机手动启用的方法。
137 0