昨天一个网友问如何能够将输入密码的工作在shell里面自动完成,研究了一下,发现这种交互式的工作,普通的shell实现不了,据说可以借助expect来搞定,所以初步学习了一下expect,成果和大家分享一下: 应用一: 实现从普通用户“test”切换到root用户,自动输入root的密码,不用在终端提示符下执行密码输入操作。 步骤: (1)vi autosu.sh (2)#! /usr/bin/expect -f //指定expect工具的路径,如果不清楚具体路径,可以用"which expect"命令来查看。 spawn su - // 在expect 中用"spawn"关键字来调用命令“su - ” expect ":" //在执行了su - 命令之后,提示输入密码的提示符。例如你在执行了su - 命令之后,终端里面会出现提示“口令:”,那么你就可以在这里写expect ":",或者expect -exact "口令:" send "rootpasswd\r" //这里expect用send将你的root密码自动输入到上面的提示符之后。 interact //操作完成。 注意:这里强调一下执行脚本时要注意的地方,不能按照习惯来用sh ***.sh来这行expect的程序,会提示找不到命令,因为expect用的不是bash所以会报错。执行的时候直接./***.sh就可以了。~切记! 应用二: 从普通用户切换到root之后,执行“ls”操作,调用执行aaa.sh,返回执行结果,间隔10S。 #/usr/bin/expect -f spawn su - // 在expect 中用"spawn"关键字来调用命令“su - ” expect ":" //在执行了su - 命令之后,提示输入密码的提示符。例如你在执行了su - 命令之后,终端里面会出现提示“口令:”,那么你就可以在这里写expect ":",或者expect -exact "口令:" send "rootpasswd\r" //这里expect用send将你的root密码自动输入到上面的提示符之后。 expect "#" //当遇到提示符以#结尾时,即为root权限时; send "ls\r" //expect 用spend方法调用ls 命令,并且回车(“\r”) expect "#" send "sh aaa.sh\r" //调用sh aaa.sh,即执行一个脚本文件aaa.sh。 expect "#" send "echo $?\r" sleep 10 interact
2024-06-07 20:45:52 2KB selenium
1
ubuntu进入root用户
2022-11-21 13:03:23 29KB ubuntu root 切换用户
1
docker容器中切换用户,提示权限不足: 解决办法: 启动容器是使用特权启动: docker run -i -t –privileged -v /home/dora:/home/dora centos_ora /bin/bash 补充知识:linux下docker使用普通权限运行 linux下安装docker默认会安装为名为docker的用户才能运行的权限,使用时需要切换用户,很不方便 为了直接使用命令,需要将当前用户加入docker组 sudo usermod -aG docker your_username 重启生效! 以上这篇docker容器中切换用户,提示权限不足的解决就是
2022-06-24 18:45:20 45KB c do doc
1
Linux运维-运维课程运维基本功d2-基本命令-13-su切换用户命令.mp4
2022-06-08 19:00:48 10.16MB linux 运维 课程资源
前言 在Linux系统中,由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令。 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户tom登录的,但要添加用户任务,执行useradd ,tom用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出tom用户,重新以root用户登录,但这种办法并不是最好的;二是我们没有必要退出tom用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。 我们可以看到当然通过su切换是一种比较好的办法;通过s
2022-03-17 17:40:56 94KB do IN linux切换用户
1
ubuntu登录后,默认是普通用户权限,那么普通用户权限和root权限如何切换呢,下面总结下它们之间如何切换。 普通用户切换到root用户 登录ubuntu后,按上组合键CTRL+ALT+T进入终端界面,一般终端界面默认为普通用户权限模式,如何从普通用户进入root用户,有如下方法: 1、按上su,然后按照提示输入相应的root密码,就可登录到root权限下。 2、按上sudo su,然后按照提示输入相应的root密码,就可登录到root权限下(这个命令下,一般不需要输入相应的root密码)。 3、按上su root,然后按照提示输入相应的root密码,就可登录到root权限下。 root用户
2022-02-22 01:35:02 39KB linux切换用户 root root权限
1
加入English.ini 以及简体 .ini文件 实现了中英文双功能切换的用户界面。 MultiLag.vi为主程序。
2022-01-30 09:12:12 54KB labview用户界面 中英双功能
浏览器可以通过改变Cookie,实现快速切换登录帐号。 即可以点击工具栏Cookie按钮切换帐号, 也可以通过项目管理脚本定时自动切换帐号。 实测结果,适用于大多数网站,论坛等。
2021-12-06 08:11:50 12.72MB 浏览器 Cookie
1
主要介绍了Shell脚本中实现切换用户并执行命令操作,看了示例代码就秒懂了,原来如此简单,需要的朋友可以参考下
2021-09-07 18:25:04 39KB Shell脚本 切换用户并执行命令
1
用vsts团队开发中会遇到用户凭据已经记录,而导致无法切换用户凭据的问题。本文介绍如何切换用户凭据。
2021-05-28 16:28:10 33KB vs.net 用户凭据
1