问了半个月了,谁会写这个shell???

[复制链接]
查看11 | 回复10 | 2021-1-27 06:46:14 | 显示全部楼层 |阅读模式
1。/home/pauly目录下有个1.sh,root身份执行它后会生成一个文件/home/pauly/cross/test.sh
2。我想把所有脚本都写到1.sh里面,
3.当test.sh生成后,我想在1.sh里面先切换到pauly用户,然后通过类似“./test.sh”这样语句以pauly身份来启动test.sh
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:46:14 | 显示全部楼层
关键是怎么切换用户对吧。
楼主参考一下这个吧(sudo命令)
http://baike.baidu.com/view/1138183.htm
我没有主机的root权限,没法帮你试验了
回复

使用道具 举报

千问 | 2021-1-27 06:46:14 | 显示全部楼层
好像是要修改
/etc/sudoers配置文件我没有权限
回复

使用道具 举报

千问 | 2021-1-27 06:46:14 | 显示全部楼层
1。/home/pauly目录下有个1.sh,root身份执行它后会生成一个文件/home/pauly/cross/test.sh
[joyself]为什么一定要用root身份执行1.sh?

我觉得即使是要用root身份执行1.sh,你可以在正常情况下用pauly身份登录
如果需要用root身份的时候,可以用命令su-c""来执行,
这个时候需要你输入root的密码,你可以用expect命令来做到。
如果你把你的情况说得更详细一点,大家可能可以给出更优的方案来实现。
回复

使用道具 举报

千问 | 2021-1-27 06:46:14 | 显示全部楼层
1.sh内容如下:
echo"echointest.sh">/home/pauly/cross/test.sh
chmod+x/home/pauly/cross/test.sh
2.sh
echo"backto1.sh">./back.txt
------------------------分隔线--------------------------
2.sh内容如下:
#!/usr/bin/expect--
#do
settimeout-1
spawn/bin/suinterface
expect"Password:"
send"interface@gxlt\r"
expect"\r\n"
#send"ls\n"
send"/home/pauly/cross/test.sh\n"
interact
------------------------分隔线--------------------------
说明
1.sh:产生test.sh,并调用2.sh
2.sh:切换用户,执行test.sh
test.sh:第二用户,要做的脚本
问题
我想把1.sh和2.sh写成1个可是没搞成功,期待高手;
调用2.sh之后好像回不到1.sh里面来了!因为1.sh里的最后一句不成功

回复

使用道具 举报

千问 | 2021-1-27 06:46:14 | 显示全部楼层
又试了下:
-------------------分隔线--------------------------
echo"rmtoberm.txt">/home/pauly/cross/test.sh
chmod+x/home/pauly/cross/test.sh
2.sh
echo"backto1.sh">./back.txt
-------------------分隔线--------------------------
#!/usr/bin/expect--
#do
settimeout-1
spawn/bin/suinterface
expect"Password:"
##send"interface@gxlterr\r"
send"interface@gxlt\r"
expect"\r\n"
##send"ls\n"
send"/home/pauly/cross/test.sh\n"
#interact
-------------------分隔线--------------------------
说明:
2.sh里面把interact注释掉,就能回到1.sh里面了(第四句执行成功);就是不会显示切换后用户的输出而已,
/home/pauly/cross/下的测试文件toberm.txt被成功删除

回复

使用道具 举报

千问 | 2021-1-27 06:46:14 | 显示全部楼层
spawn/bin/supauly【用户名】
expect"Password:"
##send"interface@gxlterr\r"
send"【pauly的密码】\r"
回复

使用道具 举报

千问 | 2021-1-27 06:46:14 | 显示全部楼层
mark

回复

使用道具 举报

千问 | 2021-1-27 06:46:14 | 显示全部楼层
su-c"command$args"
回复

使用道具 举报

千问 | 2021-1-27 06:46:14 | 显示全部楼层
关注
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行