免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 12598 | 回复: 10
打印 上一主题 下一主题

在sh文件里面执行su命令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-30 17:22 |只看该作者 |倒序浏览
正常情况下su命令时是要输入root密码的,这里想问下大家怎么能在sh文件里面直接就输入了密码,比方说,
#!/bin/sh

su -c 'mount -t vfat /dev/sda5 /C'

这时在终端下就要出现输入密码的一项,如果正确才能继续命令的执行,现在可不可以使密码直接在sh文件里面出现,然后终端执行时就不出现输入密码。

论坛徽章:
0
2 [报告]
发表于 2010-04-30 17:41 |只看该作者
SSH不输入密码连接远程Linux主机
系统环境 : ubuntu 6.06 / ubuntu 6.10
SSH服务 : openssh-server
1) 在本地主机生成密钥对
ssh-keygen -t rsa
这个命令生成一个密钥对:id_rsa(私钥文件)和id_rsa.pub(公钥文件)。默认被保存在~/.ssh/目录下。
2) 将公钥添加到远程主机的 authorized_keys 文件中
将文件上传到远程主机中
scp ~/.ssh/id_rsa.pub root@192.168.1.23:/root/
SSH到登陆到远程主机,将公钥追加到 authorized_keys 文件中
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
或直接运行命令:
cat ~/.ssh/id_dsa.pub|ssh root@192.168.1.23 `cat - >> ~/.ssh/authorized_keys`
3) 重启 open-ssh 服务
/etc/init.d/ssh restart

4) 测试
ssh root@192.168.1.23
scp /home/onion/.ssh/id_rsa.pub root@192.168.1.23:/root/
呵呵,不用输入密码了

论坛徽章:
0
3 [报告]
发表于 2010-04-30 17:41 |只看该作者
sudoers  定义不要密码不行么

论坛徽章:
0
4 [报告]
发表于 2010-04-30 18:46 |只看该作者
写在shell脚本 应该是不行的。。。。

论坛徽章:
0
5 [报告]
发表于 2010-04-30 19:19 |只看该作者
#!/usr/bin/expect -f

password="test"
eval spawn su -c 'mount -t vfat /dev/sda5 /C'
expect "password:" {send "$password" \r"}
expect eof

论坛徽章:
0
6 [报告]
发表于 2010-04-30 21:41 |只看该作者
谢谢大家的回复,我有点眉目了……

论坛徽章:
0
7 [报告]
发表于 2010-05-03 00:19 |只看该作者
回复 6# 死皮赖狗


    lz说说自己的想法吧,小弟也想学习下啊。。。。

论坛徽章:
0
8 [报告]
发表于 2010-05-03 10:44 |只看该作者
用expect或perl,shell的交互很差。

论坛徽章:
0
9 [报告]
发表于 2010-05-03 20:29 |只看该作者
不懂为什么linux 很多命令都没有输入密码参数的地方,为了安全性?

论坛徽章:
0
10 [报告]
发表于 2010-05-04 09:47 |只看该作者
回复 7# zhanglistar

也没什么啊,就是su的应用罢了,突发奇想
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP