【发布时间】:2011-06-07 20:58:57
【问题描述】:
请帮帮我,因为我正在尝试通过 'ssh -i' 在一堆服务器上执行 'rm -Rf' 和 'ln -s' 并且符号链接以某种方式失败,尽管直接在服务器上运行可以工作.. .
$ ssh -i ~/.ssh/id_rsa www@web1 '
rm -Rf /home/www/system &&
ln -s /home/www/framework/system /home/www/system'
ln: creating symbolic link `/home/www/system' to `/home/www/framework/system': No such file or directory
这是我在删除服务器上看到的路径 /home/www/framework 的内容:
$ ls -al
total 32
drwxr-xr-x 5 www www 4096 2011-04-26 09:21 .
drwxr-xr-x 5 www www 4096 2011-06-03 11:25 ..
-rw-r--r-- 1 www www 2547 2011-04-26 09:21 license.txt
drwxr-xr-x 8 www www 4096 2011-04-26 09:21 system
【问题讨论】:
-
看起来 www 用户可能被监禁(出于安全原因)并且看不到 /home/www/framework/system 绑定到的挂载点。此外,通过 ssh 使用任何类型的
rm -Rf都不是一个好习惯 -
谢谢!我将在
rm -Rf上工作,同时您能否提供一些指导方针,我应该在哪里寻找通过 ssh 启用符号链接?我真的很感激你的努力! -
你应该找出它为什么不起作用:) 你可以看到 /proc/PID/root 指向什么;事实上,
sudo ls -ltrad /proc/*/root | rev | sort -r | rev可能是找出任何chrooted进程的快速方法。在 ssh 会话之外运行它,在服务器上,同时连接 ssh 会话 -
另外,您是否在 ssh 上使用与本地相同的用户 (
www)?您可能根本没有权限遍历根目录。在 homedir 中尝试ln -s ./framework/system ./system
标签: deployment ssh symlink ln