我编写了一个脚本,该脚本允许我在远程服务器上创建具有特定权限的目录。
我使用命令将脚本执行到远程服务器:
[email protected] /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 [email protected]
#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
我发现有几种可能会导致您的问题。 1. 没有SSH在你的命令面前。试试这个: 2.您正在登录远程服务器
ssh [email protected] /root/Documents/script
斯坦并尝试执行用户下的脚本根。即使您更改文件的权限,Stan 将无权访问此脚本脚本。
3. 权限沿着目录树向下流动X属性。默认情况下,/根将要不是允许访问其下方的任何内容。 您可能会看到类似这样的内容: 或者,更可能的是,您会收到权限被拒绝的错误,因为 stan 无法查看 /root。 可能性:
ssh [email protected] ls -ld /root
ssh [email protected] ls -ld /root/Documents
drwxr----- root root /root
坏的根:192.168.159.133 #chmod -R a+rx /root
更好的移动 /root/Documents/script /tmp 并在 /tmp 上设置执行权限
最好的创建一个名为 /share 的目录,将 /root/Documents/script 移动到 /share 并在 /share 上设置 r+x 权限