这是我运行的命令链:
1)将本地目录复制到远程服务器:
$ scp -r <directory> callum@<remote-server-ip>:
2)登录远程服务器,并将目录移动到公共html目录:
$ sudo mv <directory> /var/www/html
3)从命令行我可以看到<directory>
现在列在/var/www/html
:
/var/www/html$ ls
<directory> node-apps
当我在浏览器中访问服务器 IP 时,将返回一个目录列表,并且仅节点应用程序出現。
如果我从命令行创建一个新目录或文件,这些是显示在浏览器中的目录列表中。
用户卡勒姆具有 sudo 权限并且我已设置 ssh-key 身份验证,并且已禁用 root 登录。
为什么我复制的目录没有显示在浏览器的目录列表中?
编辑:运行ls -lsa
输出:
4 drwxrwx--- 9 callum callum 4096 Mar 8 12:26 <directory>
4 drwxrwxr-x 3 callum callum 4096 Jan 26 14:06 node-apps
答案1
为了解决这个问题,您需要授予该目录的访问权限。
以下命令应该可以解决问题:
sudo chmod 775 /var/www/html/<directory_name>
- sudo-执行为
root
- chmod——更改目录的权限
- 755 – 向任何人提供读取/执行访问权限
请注意,您可能还需要使用以下递归 chmod 命令授予对目录内文件的访问权限:
sudo chmod -R 775 /var/www/html/<directory_name>
与上面相同,但附加参数:
- -R——递归