转:sudoers文件
来源:互联网 发布:万方等数据库 编辑:程序博客网 时间:2024/06/11 04:23
昨天在机房呆了一天,忙活着部署hadoop分布式节点。在网上查了一些部署的资料,其中有一步是为所有的节点创建同样的用户'hadoop',并且加入到%admin组中。自己在做的时候提示%admin组不存在,其实Ubuntu系统中可以使用usermod username -g root的方式加入到管理组中,不晓得为什么自己的机器上使用%admin就提示找不到这个组。
Ubuntu默认把安装系统的用户加入到%admin组中,从而可以直接使用sudo来执行root权限的命令,但是自己阴差阳错之下把hadoop移除了%admin,从而无法执行sudo命令,提示不存在sudoers文件中了。所以解决的办法也很简单,只需要使用上面的命令把hadoop重新加入到管理组就可以了。问题虽然解决了,但是还是不甘心,决心去看看/etc/sudoers文件是个神马东东,于是打开文件:
上面黑体加粗的三个命令就是关键的三条策略,第一个User Privilege用来指定用户组root可以转变成任何其他的用户;第二个策略用来指定下列的admin组和hadoop组成员都可以使用sudo命令获取root权限;第三个策略则用来指定sudo命令可以执行的操作。对于一个具体的格式而言:
%hadoop ALL=(ALL) ALL
-%hadoop:针对hadoop组成员
-1st-ALL:适用的主机,尤其对于分布式系统来说,可以指定具体的主机名
-2nd-ALL:括号内的ALL表示hadoop组成员可以使用何种身份来执行sudo命令
-3rd-ALL:hadoop组成员可以扮演任何角色使用sudo命令执行哪些操作,比如/usr/bin/find, /usr/bin/rm等,ALL表示全部命令范围
了解了这些策略,可以直接在相应的项下添加自己的用户组,既可以赋予除了默认安装系统的用户之外的其他用户使用sudo命令的权限,也可以使用指定该用户使用sudo运行的操作种类来细化用户和组的管理,这里为了与用户名区分,%表示用户组名。
昨天遇到的另一问题是在为节点配置DNS的时候,通常的位置/etc/resolv.conf在Ubuntu下行不通了,即便配置了DNS,每次重启后都会被清空。其实文件头已经给出了提示:不要手动配置本文件,每次启动均会被重写。重写?没错,主要原因在于Ubuntu每次启动resolvconf服务都会使用/etc/resovlconf/resolv.conf.d/base文件内容重写该文件,因此解决DNS的问题有两种方法:
1. 在base文件中填写DNS名称;
2. 直接在网卡接口配置文件/etc/network/interfaces中填写DNS,在IP-NetMask-Gateway配置好后直接添加:
两个问题虽然都不难,但是在不能上网的机房里还是让自己费了不少功夫。幸好昨天忙活了半天配好了网络,可以在工位上远程操作省下不少功夫了。
Ubuntu默认把安装系统的用户加入到%admin组中,从而可以直接使用sudo来执行root权限的命令,但是自己阴差阳错之下把hadoop移除了%admin,从而无法执行sudo命令,提示不存在sudoers文件中了。所以解决的办法也很简单,只需要使用上面的命令把hadoop重新加入到管理组就可以了。问题虽然解决了,但是还是不甘心,决心去看看/etc/sudoers文件是个神马东东,于是打开文件:
点击(此处)折叠或打开
- #
- # This file MUST be edited with the 'visudo' command as root.
- #
- # Please consider adding local content in /etc/sudoers.d/ instead of
- # directly modifying this file.
- #
- # See the man page for details on how to write a sudoers file.
- #
- Defaults env_reset
- 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
- # Members of the admin group may gain root privileges
- %admin ALL=(ALL)ALL
- %hadoop ALL=(ALL)ALL
- # Allow members of group sudo to execute any command
- %sudo ALL=(ALL)ALL
- # See sudoers(5) for more information on "#include" directives:
- #includedir /etc/sudoers.d
%hadoop ALL=(ALL) ALL
-%hadoop:针对hadoop组成员
-1st-ALL:适用的主机,尤其对于分布式系统来说,可以指定具体的主机名
-2nd-ALL:括号内的ALL表示hadoop组成员可以使用何种身份来执行sudo命令
-3rd-ALL:hadoop组成员可以扮演任何角色使用sudo命令执行哪些操作,比如/usr/bin/find, /usr/bin/rm等,ALL表示全部命令范围
了解了这些策略,可以直接在相应的项下添加自己的用户组,既可以赋予除了默认安装系统的用户之外的其他用户使用sudo命令的权限,也可以使用指定该用户使用sudo运行的操作种类来细化用户和组的管理,这里为了与用户名区分,%表示用户组名。
昨天遇到的另一问题是在为节点配置DNS的时候,通常的位置/etc/resolv.conf在Ubuntu下行不通了,即便配置了DNS,每次重启后都会被清空。其实文件头已经给出了提示:不要手动配置本文件,每次启动均会被重写。重写?没错,主要原因在于Ubuntu每次启动resolvconf服务都会使用/etc/resovlconf/resolv.conf.d/base文件内容重写该文件,因此解决DNS的问题有两种方法:
1. 在base文件中填写DNS名称;
2. 直接在网卡接口配置文件/etc/network/interfaces中填写DNS,在IP-NetMask-Gateway配置好后直接添加:
dns-nameservers DNS-IP
即可两个问题虽然都不难,但是在不能上网的机房里还是让自己费了不少功夫。幸好昨天忙活了半天配好了网络,可以在工位上远程操作省下不少功夫了。
0 0
- sudoers文件配置(转)
- sudoers文件配置(转)
- 转:sudoers文件
- sudoers文件设置简记
- sudoers文件配置
- sudoers文件配置
- sudoers文件解析
- 设置sudoers配制文件
- 不在 sudoers 文件中~~
- sudo命令 sudoers文件
- Linux/Ubuntu sudoers 文件妙用
- tiantian 不在 sudoers 文件中
- 修改/etc/sudoers文件出错
- linux /etc/sudoers 文件说明
- linux修改/etc/sudoers文件
- 某文件不在sudoers 中
- Ubuntu 不在sudoers文件中
- [转]sudoers设置
- 按单词反转字符串
- 黑马程序员---选择排序 冒泡排序
- Codeforces Round #234 (Div. 2)
- github应用小记(LINUX)
- Ubuntu 12.04下解决Rhythmbox Music Player乱码问题
- 转:sudoers文件
- c# 多线程委托带参数传递
- 觉醒-决心
- 缺少commons-lang-2.5包报错
- WebService,SOAP
- Hibernate悲观锁/乐观锁
- JDK包含JRE
- Linux学习记录--正则表达式与其应用
- hdu 3555(数位dp裸题)