安装 Ubuntu Server 过程中创建的首个用户无法实现免密 sudo 效果

2015-10-21 10:27:24 +08:00
 sphawkcn
正常情况下,在安装好 Ubuntu Server 之后, adduser 新建一个用户 Tom 后,如果希望这个 Tom 能够在执行 sudo 时不需要输密码,那么使用 sudo visudo 命令在 /etc/sudoers 里面添加这么一行: Tom ALL=(ALL) NOPASSWD: ALL ,即可实现,这个没有问题。

那么问题来了,在安装 Ubuntu Server 的过程中,安装流程默认会让你新建一个用户(首个用户),假设叫 Mick ,这个 Mick 默认就具备了 sudo 权限,但是如果我想让 Mick 也具备不需要输密码也能 sudo 的能力,那么同样使用 sudo visudo 命令在 /etc/sudoers 里面添加这么一行: Mcik ALL=(ALL) NOPASSWD: ALL ,亲测发现在 sudo 的时候仍然需要密码,求教高手这是怎么回事?如何解决呢?拜谢!
4840 次点击
所在节点    Linux
43 条回复
MntCw
2015-10-21 17:06:04 +08:00
为什么让 sudo 不要密码 那和直接 root 登录有啥区别?
zhs227
2015-10-21 18:56:46 +08:00
@qyz0123321

我今天也遇到了这个问题,弄的满头包。

最后发现一条妙计:
pkexec "/usr/sbin/visudo"

他会自动查找具有 sudo 权限的用户,你选择一个普通用户,比如自己的用户,然后输入密码,珰珰:可以使用 root 权限编辑了。

尝试了一下 ubuntu 和 centos 好像都有这个命令。
msg7086
2015-10-21 20:22:57 +08:00
@MntCw 不打 sudo 便无法获得特权。
Cu635
2015-10-21 21:01:18 +08:00
修改并且保存 /etc/sudoers 之后,把用户先注销再登录一次
Cu635
2015-10-21 21:06:28 +08:00
@est 加入 sudo 组是允许使用 sudo 命令,/etc/sudoers 文件是配置如何使用 sudo 命令、有权使用 sudo 命令的用户如何划分更细的权限。


@MntCw
直接 root 的话所有命令自动是 root 权限,无密码 sudo 只有在 sudo xxx 的时候才是 root 权限,其它时候还是普通权限。
MntCw
2015-10-21 21:15:47 +08:00
@msg7086
@Cu635
那打了 sudo 没有密码和在 root 下直接执行哪个更方便,又想用 sudo 又不想用密码不懂为啥。被 windows 宠坏了? sudo 还是需要密码的,不需要密码就用 root 直接登录。
msg7086
2015-10-21 21:44:21 +08:00
@MntCw
真是莫名其妙。
我需要一个不用打密码就能提权,但是不打 sudo 就不提权的环境,有什么问题吗?

为啥别人一定要像你一样,要么所有命令都提权执行,要么就不停敲密码?
你这种想法我才不懂是要为啥。
lostsnow
2015-10-21 22:35:14 +08:00
@msg7086 如果是生产环境还真是不要这样用的好, 当然如果不是的话也不是说一定不让用, 只是安全性降低了而已
MntCw
2015-10-21 23:23:13 +08:00
@msg7086 有问题。
如果你想坚持这么用,那也可以。
ericFork
2015-10-22 00:45:30 +08:00
Ubuntu 新安装的 sudoers 文件有问题, adm admin 用户组傻傻分不清楚,不了解是 typo 还是故意的
zhengkai
2015-10-22 01:18:19 +08:00
@MntCw 别自虐成么,还要求别人也像你一样自虐。绝大部分情况下都是不打 sudo 的,如果特意多敲了 sudo 当然是有这意图的,干嘛还要再敲一次密码呢(敲这玩意很爽?还是因为弱密码),又不是把 sudo rm -rf 做成 alias

我不觉得有两个锁的门比有一个锁的更安全

倒觉得初学者为了纠正习惯性的打 sudo 才有必要设密码
msg7086
2015-10-22 01:55:27 +08:00
@lostsnow 应该也没降低多少安全性。
只有在个人账户被入侵且入侵者不知道账户密码的时候才有区别。

远程都是证书登录的,而且只在自己电脑上登录。
所以很少有机会被人在不拿到密码的情况下拿到账号 shell 的。

@zhengkai +1 。 Nice 比喻。
Remember
2015-10-22 02:52:32 +08:00
19 楼正解,下面这行覆盖了你的设置,
%sudo ALL=(ALL:ALL) ALL

要么把这行注释掉,要么把你设置的挪下来。
aivier
2015-10-22 09:00:36 +08:00
sudo su
这样不行么
MntCw
2015-10-22 09:05:38 +08:00
@zhengkai 呵呵
tkisme
2015-10-22 10:06:08 +08:00
免密码设置需要加到末尾
qyz0123321
2015-10-22 10:11:15 +08:00
@zhs227 看起来是个好命令,我是直接在 recovery mode 下重新修改的权限。。
SonicY
2015-10-22 13:01:47 +08:00
只有我一个人感觉这样很危险吗?
Remember
2015-10-22 18:51:59 +08:00
@SonicY 不危险,禁用 root 登录,设置自己账户用证书登录,没什么危险的。
Cu635
2015-10-24 22:48:55 +08:00
@MntCw 所有的命令都是 root 权限很爽是吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/229752

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX