普通用户切换root用户实现自动输入密码
背景:
在一些shell脚本中需要用到普通用户切换root用户并执行相应的命令,不需人为干预。
实现:
使用linux的expect工具实现。
代码:
1 #!/usr/bin/expect2 spawn su3 expect "Passward:"4 send "******\r"5 send "ls\n"6 #send "docker exec -it e61f16df7591 /bin/bash /usr/local/tomcat/1.sh\n"7 send "docker exec -it e61f16df7591 /usr/bin/python /usr/local/tomcat/2.py\n"8 interact
代码释义:
第二行 spwan 捕捉切换用户命令
第三行:expect捕捉终端的对话信息,eg:如下图
第四行:send 写入你的密码明文
第五~七行:send 写入你需要执行的命令
第八行:约定结束交互后,所处位置为脚本内最后所在位置
注意:该脚本执行不能指定解释器,只能通过绝对路径的方式执行命令
/root/1.sh 或者./1.sh,无法于shell混写
进阶:
set timeout -1 #注意,此处为设置永不超时
shell混合代码:
执行使用sh expect.sh
#!/bin/bash
day=`date +%Y%m%d -d "-1 days"`expect <<END
set timeout -1
spawn scp -r /root/2.txt root@192.168.148:/tmp/1.txt
expect "Password:"
send "*****\r" #密码
send "ls\r"
expect eof
END
#interact
expect eof #表示结束交互,会返回到原终端所在位置,也就是退回到执行脚本的用户。
普通用户切换root用户实现自动输入密码相关推荐
- AWS亚马逊主机ec2用户切换root用户
AWS亚马逊主机切换root用户 使用证书文件登录ec2用户 ssh -i "你的实例密钥如guoye-hongkong.pem" centos@xxxx.compute.amaz ...
- centos7错误:can‘t create 事务 lock on /var/lib/rpm/.rpm.lock (权限不够)切换root用户
执行删除操作时出现错误:权限不够 1.使用sudo命令 centOS7上普通用户切换root用户,相互切换 当前普通用户登录,想要切换为root用户,需要输入命令 su 需要输入root密码.输入时候 ...
- 设置普通用户执行docker命令,执行docker命令无需输入密码或者切换root用户
每次执行docker命令都要输入密码或者切换root用户,非常不方便,尤其是在shell脚本中就更麻烦了,一起来解决这个问题: 1. 创建名为docker的组,如果之前已经有该组就会提示已存在: su ...
- Shell脚本切换root用户或获取root权限
前言 需求:Shell脚本不能通过root用户执行,只能通过普通用户执行.但是脚本中的某些命令需要时root权限. 想法:在执行需要root权限的命令时切换到root用户 或者 拿到root权限. 一 ...
- linux禁止普通用户切换,Linux系统如何禁止普通用户切换root?
Linux系统如何禁止普通用户切换root? 在上正文之前,我们先将一些基础的Linux用户以及用户组的相关命令: 1.添加用户 useradd [-g group] [-d user_home_di ...
- linux下的用户 | 新建和删除一个普通用户 | 普通用户和root用户之间的来回切换
Linux系统本身是一款多用户协作的系统. linux系统中的用户分为两类 root用户 :root用户也可以被称为超级用户,权限最高,在linux上不受限制 普通用户 :权限受限制,在linux系统 ...
- linux安全设置:限制su、sudo切换root用户权限设置,su\sudo使用,SSH远程连接密钥登录
目录 限制su命令切换到root用户 限制非root用户修改密码 su.sudo.sudo su 服务器安全 限制su命令切换到root用户 限制su命令切换到root用户 不希望所有用户都可以通过s ...
- Ubuntu切换登录用户和root用户
在使用Ubuntu时候,有时候会需要在登录用户和root用户之间进行切换,有什么命令可以简单快速的切换呢 先来看一个命令: 再来看一个: su,这个命令就是切换当前登录用户和root用户之间进行切换的 ...
- Kali Linux快速切换root用户
Kali Linux快速切换root用户 从Kali Linux 2019.4开始,默认安装过程将创建一个普通用户.大学霸IT达人而且,在安装过程中没有为root用户设置密码,也不知道其密码.所以,系 ...
最新文章
- 舞伴问题数据结构java_Gale-Shapley算法解决舞伴问题过程详解(C++实现)
- python安装numpy-NumPy 安装
- CF1060D Social Circles
- java map集合遍历方法,Java的Map集合的三种遍历方法
- android webview tel:,Android WebView“tel:”链接显示未找到网页
- PyTorch基础-猫狗分类实战-10
- Hive on Tez出现exec.Task: Failed to execute tez graph. java.lang.NullPointerException
- 将现有MFC应用程序迁移到BCGControlBar VC界面库中
- 联想YOGA四款新品齐发 跨设备新技术Lenovo One惊艳亮相
- 移动支付到底有多美?
- java获取当前项目或类路径
- FastStone Capture注册破解码
- matlab李雅普诺夫吸引子,matlab计算Rossler吸引子的李雅普诺夫指数
- bzoj 1260 (区间dp)
- 手绘几何图形识别(上)
- 计算机名加符号,最新带符号的网名
- Canal监听阿里云RDS
- 深度学习在知识图谱的应用
- bmp格式图片怎么转成JPG格式?教你一键转格式的方法
- 英语口语学习(03-06)