sudo命令详解
sudo 指定用户执行命令 sudo -u hdfs ,指定hdfs用户执行后面的命令,因为root用户可以查询但是执行上传下载,报错没有权限,只能是hdfs用户执行命令才行,所以需要指定用户执行命令。
’sudo -u hdfs hdfs dfs -put /tmp/tableaubackup-zhongzhuan/tab-%s.tsbak /tableaubackup/zz'%riqi
原文链接:https://www.linuxidc.com/Linux/2017-11/148241.htm
1、原因:
让普通用户具有root用户的权限
通过sudo执行的命令都会存在日志里面
2、用法
1、sudo -l 列出当前用户有哪些sudo权限
2、visudo -c 检查语法是否错误
3、visudo 编辑/etc/sudoers 此工具的好处是在添加规则有误时,保存退出会提示给我们错误信息
1)、为普通用户添加权限
用户名 允许使用的主机=哪个用户的权限 执行什么命令(绝对路径)
lan ALL=(ALL) /usr/bin/yum , /usr/sbin/useradd (后面跟多个命令时必须要加",")
2)、为用户组添加权限
组前面加%
允许lan这个组下面的所有成员拥有所有的权限
3)、别名
使用别名可以将命令 用户分类授权,以更好的管理用户权限
4) 密码
普通用户使用sudo时需要密码,然后在5分钟内使用不需要输入密码
如果想要一直不使用密码,可以NOPASSWD这个关键词
5) 、查看日志
管理员监控普通用户做了什么sudo操作,新建一个文件用于存放日志
touch /var/log/sudo.log 将sudo日志存放于这个文件中
visudo 添加以下内容
所有的配置保存退出后即生效
6)使用示例
其同用户 sudo yum install 软件名(就可以以root用户的身份执行此条命令)
普通用户sudo免密登录root
[machangwei@mcw1 ~]$ ssh root@10.0.0.131 root@10.0.0.131's password: Last login: Mon Feb 7 19:28:05 2022 from 10.0.0.131 [root@mcw1 ~]$ logout Connection to 10.0.0.131 closed. [machangwei@mcw1 ~]$ sudo ssh root@10.0.0.131 Last login: Mon Feb 7 19:28:35 2022 from 10.0.0.131 [root@mcw1 ~]$ tail -1 /etc/sudoers machangwei ALL=(ALL) NOPASSWD: ALL [root@mcw1 ~]$