Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1812851
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2010-02-05 18:28:22

出错:XXX is not in sudoer file.

解决方案:
首需要切换到root身份
$su -
(注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)

然后
$visudo    
//切记,此处没有vi和sudo之间没有空格

1、移动光标,到最后一行
2、按a,进入append模式
3、输入
your_user_name ALL=(ALL)  ALL
4、按Esc
5、输入“:w”(保存文件)
6、输入“:q”(退出)

这样就把自己加入了sudo组,可以使用sudo命令了。


网上有很多关于linux sudo不要输密码的网页,基本上都是大同小异。我看了一些,感觉说的都不是很清楚。下面就如何实现linux 普通用户 sudo 时不要输入密码,详细说明一下.
一,如果是个人电脑只是为了玩一玩,学学linux,sudo 时可以把输入密码去掉,老是输入密码挺烦人的。如果是服务器就不要这样做了,太不安全了。
二,普通用户登录后,先查看一下这个用户属于哪些组。
zhangy@ubuntu:~$ groups
adm dialout cdrom sudo plugdev lpadmin admin sambashare
linux设置一些组,只有在这个组里面的用户,才可以执行sudo。我们可以通过查看/etc/sudoers这个文件,下面是ubuntu的sudoers
查看复制打印?
# User privilege specification  
root    ALL=(ALL) ALL                //root组  
  
# Allow members of group sudo to execute any command  
# (Note that later entries override this, so you might need to move  
# it further down)  
%sudo ALL=(ALL) ALL                 //sudo组  
#  
#includedir /etc/sudoers.d  
  
# Members of the admin group may gain root privileges  
%admin ALL=(ALL) ALL             //admin组  
在 这些组里面用户,才可以sudo ,如果你用的那个账号,不在这些组里面,可以用gpasswd -a 用户名 组名。例如:gpasswd -a zhangy admin这句话意思是说把zhangy这个用户加入到admin这个组当中。不同的linux系统,能执行sudo的组名是不一样 的,archlinux下就只有sudo这个组,而没有admin这个组。
三,修改/etc/sudoers这个文件
root@ubuntu:/home/zhangy# ll /etc/sudoers
-r--r----- 1 root root 570 2011-04-17 14:41 /etc/sudoers
1,这个文件是只读的,所以要想修改chmod 740 /etc/sudoers
2,vim /etc/sudoers 后把%admin ALL=(ALL) ALL 改成 %admin ALL=NOPASSWD:ALL
3,chmod 440 /etc/sudoers 改完后,别忘了把权限改回来。

阅读(897) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~