Linux中如何配置sudo用户

用户名 ALL=(ALL) ALL

四. 注意事项

查找sudoers文件

 

如果当用登录的用户名不在”/etc/sudoers”文件中,是不能执行sudo命令的。可以用root身份手动修该文件,把当前登录用户名加入该文件中

1 切换到root用户
[linux@localhost ~]$ su root
密码:
[root@localhost ~]#

2 查看/etc/sudoers文件权限,如果只读权限,修改为可写权限
[root@localhost ~]# ll /etc/sudoers
-r–r—–. 1 root root 4030 12月 10 09:55 /etc/sudoers
[root@localhost ~]# chmod 777 /etc/sudoers
[root@localhost ~]# ls -l /etc/sudoers
-rwxrwxrwx. 1 root root 4030 12月 10 09:57 /etc/sudoers

图片 1

1

3 修改/etc/sudoers文件,执行命令如下:
/username是你的用户名/
[root@localhost ~]# echo ‘username ALL=(ALL) ALL’ >>
/etc/sudoers
可以在root权限下找到 root ALL=(ALL) ALL的字段,在下一行追加:
username ALL=(ALL) ALL

图片 2

2

( 我这里的username 是hk )

5分钟之后密码过期,下次需要重新输入,如果不想如此麻烦,可以用以下方法
username ALL=(ALL) NOPASSWD: ALL
说明:格式为{用户名 网络中的主机=(执行命令的目标用户) 执行的命令范围}

4 保存退出,并恢复/etc/sudoers的访问权限为440
[root@localhost ~]# chmod 440 /etc/sudoers
[root@localhost ~]# ll /etc/sudoers
-r–r—–. 1 root root 4030 12月 10 09:59 /etc/sudoers

图片 3

3


然后给文件增加权限chmod 400即可

如果在修改权限时为了图方便,直接chmod 777 /etc/sudoers 则在添加完用户后必须还原权限,如果不还原则在执行sudo命令时会出现如下错误提示:
  sudo:/etc/sudoers is world writable  sudo:no valid sudoers sources found ,quitting  sudo:unable to initialize policy plugin
  • 1
  • 2
  • 3

执行以下命令即可修复这个问题

  以root身份运行: chmod 440 /etc/sudoers 即可

添加用户到sudoers
在Ubuntu系统中普通用户均可以通过sudo 命令以super user
身份执行指令,只要输入该用户的密码即可,然而在CentOS中,即…

创建用户

作者 bhq2010

用hostname命令查看当前主机的主机名称。例如,该命令返回 vp0

图片 4

4


可以在/etc/sudoers.d文件夹中新建文件,文件名随意,在文件中添加内容如下:

在Ubuntu系统中普通用户均可以通过sudo 命令以super user 身份执行指令,只要输入该用户的密码即可,然而在CentOS中,即管在安装系统时候创建用户有Advance的设置项,可以将新创建的用户加入到群组中,这个时候填写了sudoer/sudoers均不行,登陆系统后执行sudo 命令还是会提示该用户不存在与群组sudoers中。遇到这个问题我们就需要将当前的用户添加到sudoers用户组中。

初始化密码

# chmod a-w /etc/sudoers

打开”/etc/hosts”文件 并将 vp0 加入到 “127.0.0.1”这行中

图片 5

5

OK,这样就完成了,经测试绝对可以。

Linux中的sudo文件在/etc/sudoers,但不建议直接修改此文件;

三. 撤销对/etc/sudoers文件权限的修改

adduser [username]

# vi /etc/sudoers 

CentOS 添加用户到sudoers

编辑sudoers

# chmod a-w /etc/sudoers 

二. 向sudoers中添加用户

whereis sudoers

修改sudoers文件的另外一个方法是网上很多地方都有的:

1. 因为/etc/sudoers文件的所有者是root,这个文件当前的权限是
      -r--r-----.  1 root root  #440
  • 1

chmod -v u+w /etc/sudoers

 

2. 如果不想每次都输入密码,可以修改后不需要每次都输入密码了。
  xxx ALL=(ALL)  NOPASSWD: ALL

授权

# chmod a+w /etc/sudoers 

1. 在sudoers文件中找到
  root  ALL=(ALL)   ALL    # 后面换行并将当前用户添加进去    xxx   ALL=(ALL)   ALL;
  • 1
  • 2

passwd [username]

执行命令如下:

2. 我们要对这个文件进行修改就需要将其权限改成对其他用户具备写权限,或者切换到超级用户模式。
      切换用户: 直接切换至root模式,并直接修改文件      或者      修改权限: 在root身份修改权限后以当前用户身份访问。 
  • 1
  • 2
  • 3

done

改权sudoers文件的权限时要注意:

如果是通过修改文件的权限去添加用户的,则在添加完后需要还原文件的权限属性。

给sudoers文件赋予写权限

$ sudo su – 

一. 修改/etc/sudoers文件的权限

chmod -v u-w /etc/sudoers

其中vi /etc/sudoers之后,需要在root ALL(ALL) ALL一行之后加上:

sudo命令的授权管理是在sudoers文件里

Ubuntu新添加的hadoop用户无法通过sudo执行命令,提示:

去除sudoers写权限

 

vim /etc/sudoers

添加

[username]     ALL=(ALL) ALL

 

 

 

$ sudo su –

 

 

 

hadoop is not in the sudoers file…

保存退出即可,其中hadoop是需要授予sudo执行权限的用户名

解决这个问题只需要切换到其他可以执行sudo的用户,修改/etc/sudoers文件即可,但是这个文件的修改要很小心,它默认的权限为440,所以要改权限,修改完文件再把权限改回去

hadoop is not in the sudoers file…
解决这个问题只需要切换到其他可以执行sudo的用户,修改…

重启Ubuntu,按Esc或者Shift键进入grub的引导菜单,选择进入recovery
mode,进入后选择root登录,便可以修改sudoers文件的权限

 

 

用sudo su -彻底切换到root,否则是不行滴

 

# vi /etc/sudoers

# chmod a+w /etc/sudoers

hadoop ALL(ALL) ALL

如果系统上的所有用户都用不了sudo的话也只好用这种办法了

 

网站地图xml地图