第一种方法: 添加sudo用户
当你安装Ubuntu的时候,它会自动添加第一个用户到sudo组,允许这个用户通过键入其自身帐户密码来获得超级用户(root)身份。然而,系统不会再自动添加其他的用户到sudo组当中去。如果你想在你的共享系统上授予某人某些超级用户特权,你必须给予他们sudo权利。
要添加新用户到sudo,最简单的方式就是使用 usermod 命令。运行
$sudo usermod -G admin username
这就你要作的,然而,如果用户已经是其他组的成员,你需要添加 -a 这个选项,象这样
$sudo usermod -a -G admin username
如果你更喜欢图形界面来操作这些,使用 “系统 -> 管理 -> 用户和组”。 选择你想添加到sudo组的用户,点击“属性”,在用户权限的区域,选择“执行系统管理任务”的选择框即可。
第二种方法:
将用户添加到sudo组且不输入密码
有时候我们只需要执行一条root权限的命令也要su到root,是不是有些不方便?这时可以用sudo代替
fedora默认新建的用户不在sudo组,需要编辑/etc/sudoers文件将用户加入,该文件只能使用visudo命令,首先需要切换到root
su - (注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用乎的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)
然后
visudo
这个和vi的用法一样,由于可能会有人不太熟悉vi,所以简要说一下步骤
移动光标,到最后一行,按a,进入append模式,输入
your_user_name ALL=(ALL)
然后按Esc,再输入:w保存文件,再:q退出
这样就把自己加入了sudo组,可以使用sudo命令了。
如果觉得在sudo的时候输入密码麻烦,把刚才的输入换成如下内容即可:
your_user_name ALL=(ALL)NOPASSWD: ALL
至于安全问题,对于一般个人用户,我觉得这样也可以的。
如果因为某种原因,当尝试用sudo的时候出现了以下错误,sudo: /etc/sudoers is mode 0777, should be 0440。这是因为sudoers配置文件读写权限出了问题。下面是从国外的网站上找到的解决方法。
jasongroome
When I try to use the sudo command in terminal I get the following error message:
sudo: /etc/sudoers is mode 0777, should be 0440
Any help with this would be greatly appreciated.
gowrann
the privileges of this file are incorrect they should be owner=read group=read and everyone=nothing, this translates to 440 at the moment you have 777 which gives owner/group & everyone read/write and execute privileges.
To change the privileges log in as root;
[localhost:/Users/neilgowr] root# cd /etc
[localhost:/etc] root# chmod 440 sudoers
[localhost:/etc] root# ls -l sudoers
-r--r----- 1 root wheel 315 Sep 3 2001 sudoers
this will fix it for you.
jasongroome
thanks a lot, it worked a treat.
当你安装Ubuntu的时候,它会自动添加第一个用户到sudo组,允许这个用户通过键入其自身帐户密码来获得超级用户(root)身份。然而,系统不会再自动添加其他的用户到sudo组当中去。如果你想在你的共享系统上授予某人某些超级用户特权,你必须给予他们sudo权利。
要添加新用户到sudo,最简单的方式就是使用 usermod 命令。运行
$sudo usermod -G admin username
这就你要作的,然而,如果用户已经是其他组的成员,你需要添加 -a 这个选项,象这样
$sudo usermod -a -G admin username
如果你更喜欢图形界面来操作这些,使用 “系统 -> 管理 -> 用户和组”。 选择你想添加到sudo组的用户,点击“属性”,在用户权限的区域,选择“执行系统管理任务”的选择框即可。
第二种方法:
将用户添加到sudo组且不输入密码
有时候我们只需要执行一条root权限的命令也要su到root,是不是有些不方便?这时可以用sudo代替
fedora默认新建的用户不在sudo组,需要编辑/etc/sudoers文件将用户加入,该文件只能使用visudo命令,首先需要切换到root
su - (注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用乎的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)
然后
visudo
这个和vi的用法一样,由于可能会有人不太熟悉vi,所以简要说一下步骤
移动光标,到最后一行,按a,进入append模式,输入
your_user_name ALL=(ALL)
然后按Esc,再输入:w保存文件,再:q退出
这样就把自己加入了sudo组,可以使用sudo命令了。
如果觉得在sudo的时候输入密码麻烦,把刚才的输入换成如下内容即可:
your_user_name ALL=(ALL)NOPASSWD: ALL
至于安全问题,对于一般个人用户,我觉得这样也可以的。
如果因为某种原因,当尝试用sudo的时候出现了以下错误,sudo: /etc/sudoers is mode 0777, should be 0440。这是因为sudoers配置文件读写权限出了问题。下面是从国外的网站上找到的解决方法。
jasongroome
When I try to use the sudo command in terminal I get the following error message:
sudo: /etc/sudoers is mode 0777, should be 0440
Any help with this would be greatly appreciated.
gowrann
the privileges of this file are incorrect they should be owner=read group=read and everyone=nothing, this translates to 440 at the moment you have 777 which gives owner/group & everyone read/write and execute privileges.
To change the privileges log in as root;
[localhost:/Users/neilgowr] root# cd /etc
[localhost:/etc] root# chmod 440 sudoers
[localhost:/etc] root# ls -l sudoers
-r--r----- 1 root wheel 315 Sep 3 2001 sudoers
this will fix it for you.
jasongroome
thanks a lot, it worked a treat.
说明:以上必须用root用户登录进去才可以修改,如果不知道root可以通过当前具有sudo权限的用户更改root用户密码,相应命令:sudo passwd root,会提示你输入当前用户密码及两次root用户新密码;修改密码完成后,可以通过su - root命令切换到root用户下执行上面所有的操作
转自:http://blog.chinaunix.net/uid-26760055-id-3125347.html