尝试在远程服务器上执行脚本(创建文件夹):“权限被拒绝”

时间:2019-02-18 17:57:17

标签: linux bash remote-access permission-denied

我写了一个非常简单的脚本,应该允许我在远程服务器上创建具有特定权限的目录。

我使用命令来执行脚本到远程服务器:

stan@192.168.159.133 /root/Documents/script

我得到了这个答案:

 bash: /root/Documents/script: Permission denied
 Connection to 192.168.159.133 closed.

我正在使用Fedora 20,服务器在Ubuntu 18.04.1。上。

我尝试使用chmod修改脚本文档的权限:

chmod 777 script

起初,我尝试使用集成在脚本内部的SSL连接来执行脚本(您可以在脚本中看到它)。

我尝试阅读几篇文章,但是对于大多数答案,我的知识仍然很薄弱,无法理解所有内容。

#!/bin/bash

#Connecting to Ubuntu Server
#ssh stan@192.168.159.133

#specifying the directory where I want to create my two directories
cd /home/stan

#Creating the first directory "PublicFolder" and assigning permissions
mkdir PublicFolder
chmod -R 606 PublicFolder

#Creating the first directory "PrivateFolder" and assigning permissions
PrivateFolder
chmod -R 604 PrivateFolder

1 个答案:

答案 0 :(得分:1)

我不会在脚本中评论权限设置,即使它们对我来说似乎很奇怪。我不会在777上发表评论,因为已经完成了。

当您的权限被拒绝时,可能是因为脚本无法执行或脚本中的某些内容拒绝执行。您的错误消息建议使用第一个。

首先:您可以读取文件吗?尝试cat /root/Documents/script。如果您看不懂它,则应确保可以阅读。出于多种原因,这可能意味着您需要将脚本放置在其他位置(而不是root的主目录下)(请参见Charles Duffy的评论)。

如果您可以读取文件,则可以尝试bash /root/Documents/script来执行它。如果可行,只需chmod a+x文件即可使其可执行。

那为什么/root/Documents中的脚本呢?看到脚本的内容,我希望它在/home/stan/scripts下,或类似的东西。这样,您可以随时更改其权限,读取它,甚至确保您执行它。