我的 www 文件夹是 root:root。它应该是什么?我的网站运行正常,但也许我做错了什么。
我的 nginx.conf 显示用户是“nginx”。我应该将 www 所有权和组更改为该名称还是其他名称?
我主要想使用 FileZilla 通过 sftp 进入 www 文件夹。最好只允许访问 www 文件夹。我想上传网站文件,但我不知道正确的步骤。
我尝试过更改所有者和组,但我担心堆栈的某些部分会不喜欢它。例如,nginx 和 php 会配合吗?
我考虑过建立一个 sftp 组,甚至一个 sftp 用户。但我不想走一条应该避免的道路。
我应该对我的设置做什么?
编辑:
我应该说得更清楚一点。这是在 VPS 上运行的 CentOS。
我关于 SFTP 的问题与权限有关 - 我想通过 FileZilla 登录并将一些 html 文件拖到其中一个站点的 Web 目录中。
但当然,我没有适当的权限,而且我想知道处理权限的最佳方法是什么——主要是一种学习练习。
我希望它是安全的,例如可能只希望 sftp 用户能够看到一个特定的 Web 目录。但我对很多 Linux 都很陌生,权限、所有者和组都是一个挑战。
答案1
确保您已安装并正在运行 OpenSSH。
chkconfig sshd on
手动启动服务,或者检查状态
/etc/init.d/sshd status
/etc/init.d/sshd start
编辑:/etc/ssh/sshd_config
确保包含这一点;
...
Subsystem sftp /usr/lib/openssh/sftp-server
...
为您想要包含的每个用户|组添加以下行
Match User fooba
ChrootDirectory /home
AllowTCPForwarding no
X11Forwarding no
ForceCommand /usr/lib/openssh/sftp-server
请务必设置以下指令;
PermitRootLogin no
AllowUsers fooba
现在重新启动 ssh;
/etc/init.d/ssh restart
至于用户访问控制和目录权限,我建议阅读此邮政如果你还不熟悉的话。
和最后, 这邮政它确实很好地解释了像您这样的更具体的场景。