为什么我从本地机器复制的目录没有显示在目录列表中?

为什么我从本地机器复制的目录没有显示在目录列表中?

这是我运行的命令链:

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——递归

相关内容