添加sudo用户

第一种方法: 添加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. 


说明:以上必须用root用户登录进去才可以修改,如果不知道root可以通过当前具有sudo权限的用户更改root用户密码,相应命令:sudo passwd root,会提示你输入当前用户密码及两次root用户新密码;修改密码完成后,可以通过su - root命令切换到root用户下执行上面所有的操作\\\\\\\\\\\\

















=====================================================






进入单用户模式:1,开机到grub时,用上下键移到第二行的恢复模式,按e(注意不是回车) 2,把ro single 改成rw single init=/bin/bash 然后按ctrl+x 就可以进入 单用户模式,进去干什么都行了。可以改普通用户密码,也可以改root密码。按ctrl+alt+delete 重启(我试过用命令关机,重启都不行,只能用这个)。






另外需要注意一下开机启动时,grub菜单 系统默认是隐藏的,去掉隐藏需要做如下操作:
1、你需要修改/etc/default/grub其中的第5行:
sudo gedit /etc/default/grub
GRUB_HIDDEN_TIMEOUT=0(默认是0,修要修改成大于0的值,比如10)
保存后退出!
2、再执行:
sudo update-grub


3、然后重启后在开机时按一下shift键就可以看到grub菜单了!







=======================================================

作为ubuntu等桌面系统,默认登录的帐号是没有root权限的,为了提升权限来执行任务,我们一般用到sudo+命令来执行,但是不难发现我们一般都要输入密码。那么有没有什么方法可以让我们执行sudo的时候不输入密码呢?当然有咯。那就是对sudoers文件进行修改。

如何修改sudoers?直接修改/etc/sudoers么?不,那样子修改很容易造成权限错乱。奶牛手动修改的时候,由于对于格式并不是那么了解,所以编辑的时候报错很多次,因此不建议用直接修改法。我们可以用visudo来进行编辑。

进入终端,执行sudo visudo

在#User privilege specification下面会罗列一些规则,我们现在需要做的是对我们的用户进行一些操作。假如我们的用户名为nenew

在文件的最后一行添加:

nenew    ALL=(ALL) NOPASSWD: ALL

然后保存退出,执行

sudo usermod -aG admin nenew

重启下看看nenew帐号执行sudo还需要密码么?这里我们需要了解顺序这个问题,在ubuntu的wiki上有比较详细的介绍。

%admin ALL=(ALL) ALL
这行只是让admin组的用户拥有可以像任何帐号一样执行命令的能力,但是还是需要有密码的,因此我们需要把我们的nenew用户加入到admin组中,所以有sudo usermod -aG admin nenew ,然后是对其进行NOPASSWD定义,这行一定要在%admin ALL=(ALL) ALL 这行后面,才会生效。

文章发玩之后很多朋友提出不安全问题来,确实,这样是存在安全隐患的。奶牛此文的目的也只是想让各位了解下sudoers的那个生效的顺序,当然,我们可以把最后的

nenew    ALL=(ALL) NOPASSWD: ALL 更改为对于命令进行限制,例如对于关机命令取消密码

nenew    ALL=(ALL) NOPASSWS: /sbin/shutdown, /sbin/halt, /sbin/reboot

更详细的说明请看:

https://help.ubuntu.com/community/Sudoers

http://www.gratisoft.us/sudo/sudoers.man.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值