1
est 2015-10-21 10:31:36 +08:00
和 LZ 问题无关,只是吐槽下,为毛教程都是让改 /etc/sudoers ?把用户加到 sudo 组里就行了的事情。非得那么费劲。。。。。。。唉。
|
2
billwsy 2015-10-21 10:32:59 +08:00
Mcik? Mick?
|
5
zhs227 2015-10-21 10:53:15 +08:00
两个问题:
1. 如果想要让一个用户具有 sudo 权限,只要加入到相应的组就行了,不需要修改 /etc/sudoers 这个组名, ubuntu 好像就是 sudo , centos 是 wheel 2. /etc/sudoers 这个文件,最好不要直接编辑,要使用 visudo 3. 你的问题我没试过,觉得隔一段时间输个密码也不费事。楼主发现问题了结一下贴 |
6
sphawkcn OP @zhs227 谢谢指点。
1 、赋予 sudo 权限只需要加入 sudo 组,俺知道,但是这样不能实现免密码 sudo 。 2 、 /etc/sudoers 这个文件,最好不要直接编辑。俺也知道的,我是通过 sudo visudo 来编辑的,不是直接编辑的。 3 、所述问题依旧在。 |
7
ooxxcc 2015-10-21 11:11:01 +08:00
直接把文件内容贴上来看看,说不定有 typo 呢
还有这行加在文件最后比较合适 |
8
sphawkcn OP @ooxxcc
Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/ sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL Mick 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 |
9
msg7086 2015-10-21 11:40:47 +08:00
其实上面已经说了一半答案了。
你的用户在%sudo 组里,所以改下%sudo 组试试看? PS: 如果 Mick 那行不加的话,请记得务必给 root 设一个密码。 Ubuntu 的 sudo 用户组,如果你不小心给自己账户设组的时候把 sudo 组去掉了的话,就再也回不去 root 了。 我的建议是加上 Mick ,同时给%sudo 加上 NOPASSWD 。 |
10
zhs227 2015-10-21 11:40:50 +08:00
你有没有重启过 sudo 的服务呢? `sudo service sudo restart`
另外,关注一下最后面那个目录`sudoers.d`,里面还有文件的,找一找有没有自己的那个用户,如果有的话,这个目录里面的内容会覆盖你的设置。 http://askubuntu.com/questions/192050/how-to-run-sudo-command-with-no-password 上面是一个参考链接,我觉得还不错。 BTW :答案没有经过尝试,纯属瞎答。正准备试一下的时候, vagrant up ,发现我的 D 盘挂了。正在恢复数据中。 |
12
msg7086 2015-10-21 11:50:35 +08:00
@zhs227 看了一眼 debian 的 sudo 服务文件,里面只写了一件事,就是把 /var/lib/sudo 里的东西全删了。
|
13
sphawkcn OP @msg7086 非常感谢,已经测试成功,你的方法靠谱。我是在保留 Mick 那行的基础上,再同时给%sudo 加上 NOPASSWD 。
添加的代码如下: ……………… Mick ALL=(ALL:ALL) NOPASSWD: ALL ……………… # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) NOPASSWD: ALL 由此又想到了另外一个问题,这样应该是 sudo 组下所有用户都可以免密码 sudo 了吧,而不是指定的某一个人,当然,这个问题有点钻牛角尖了。 再次感谢以上积极帮忙解答的各位! |
14
msg7086 2015-10-21 11:58:29 +08:00
@sphawkcn 自然是这样。如果要安全的话,留下自己名字的 sudo 权限,然后把 sudo 从自己的 groups 里删了就好。
|
15
aliuwr 2015-10-21 12:01:27 +08:00
我估计就是你用户名写错了,用户名一般都是全小写。大写字母默认要加强制参数才能设置。
|
18
sphawkcn OP 问题解决,见 13 楼,结贴。
|
19
zhs227 2015-10-21 13:51:48 +08:00
|
20
qyz0123321 2015-10-21 16:40:41 +08:00
推荐 visudo ,之前就是直接改文件把 sudo 搞挂了。。没有 root , sudo 进不去。。
|
21
MntCw 2015-10-21 17:06:04 +08:00 via Android
为什么让 sudo 不要密码 那和直接 root 登录有啥区别?
|
22
zhs227 2015-10-21 18:56:46 +08:00
@qyz0123321
我今天也遇到了这个问题,弄的满头包。 最后发现一条妙计: pkexec "/usr/sbin/visudo" 他会自动查找具有 sudo 权限的用户,你选择一个普通用户,比如自己的用户,然后输入密码,珰珰:可以使用 root 权限编辑了。 尝试了一下 ubuntu 和 centos 好像都有这个命令。 |
24
Cu635 2015-10-21 21:01:18 +08:00
修改并且保存 /etc/sudoers 之后,把用户先注销再登录一次
|
25
Cu635 2015-10-21 21:06:28 +08:00
|
26
MntCw 2015-10-21 21:15:47 +08:00
|
27
msg7086 2015-10-21 21:44:21 +08:00
@MntCw
真是莫名其妙。 我需要一个不用打密码就能提权,但是不打 sudo 就不提权的环境,有什么问题吗? 为啥别人一定要像你一样,要么所有命令都提权执行,要么就不停敲密码? 你这种想法我才不懂是要为啥。 |
30
ericFork 2015-10-22 00:45:30 +08:00
Ubuntu 新安装的 sudoers 文件有问题, adm admin 用户组傻傻分不清楚,不了解是 typo 还是故意的
|
31
zhengkai 2015-10-22 01:18:19 +08:00
@MntCw 别自虐成么,还要求别人也像你一样自虐。绝大部分情况下都是不打 sudo 的,如果特意多敲了 sudo 当然是有这意图的,干嘛还要再敲一次密码呢(敲这玩意很爽?还是因为弱密码),又不是把 sudo rm -rf 做成 alias
我不觉得有两个锁的门比有一个锁的更安全 倒觉得初学者为了纠正习惯性的打 sudo 才有必要设密码 |
32
msg7086 2015-10-22 01:55:27 +08:00
|
33
Remember 2015-10-22 02:52:32 +08:00
19 楼正解,下面这行覆盖了你的设置,
%sudo ALL=(ALL:ALL) ALL 要么把这行注释掉,要么把你设置的挪下来。 |
34
aivier 2015-10-22 09:00:36 +08:00
sudo su
这样不行么 |
36
tkisme 2015-10-22 10:06:08 +08:00
免密码设置需要加到末尾
|
37
qyz0123321 2015-10-22 10:11:15 +08:00
@zhs227 看起来是个好命令,我是直接在 recovery mode 下重新修改的权限。。
|
38
SonicY 2015-10-22 13:01:47 +08:00
只有我一个人感觉这样很危险吗?
|