我在使用 vsftpd 服务器时遇到问题,无法在 ubuntu 14.04 上创建具有正确权限的文件夹
是否可以提供清晰的分步教程,介绍如何创建用户并相应地配置文件夹权限和访问权限?
在我的示例中,我想创建 user1。创建一个用于上传的文件夹。user1 应该能够下载和上传到此文件夹,但不能离开此文件夹。只有 user1 才可以连接到 ftp 服务器。
我已经遵循了一些现有的指南,但无法使其正常工作,并且希望清楚地了解 Ubuntu 的用户和访问权限。
提前感谢 Rob
答案1
您没有为严格的 FTP 用户提供 Gnu/Linux 系统上的真实 shell 帐户。
使用以下命令创建ftp用户。
对于您允许访问 FTP 服务器的每个新用户,都必须执行此步骤。
sudo su
mkdir /home/ftp
useradd -d /home/ftp/user1/ -s /dev/null user1 > /dev/null 2>&1
passwd user1
mkdir 命令将在 /home 目录下创建 ftp 目录。
useradd 命令将添加名为 user1 的新用户。
passwd命令将为该用户user1设置密码。
编辑 /etc/shells 文件,添加一个不存在的 shell 名称,如 null。
这个虚假的外壳将会限制 FTP 用户对系统的访问。
sudo su
nano /etc/shells
内容:
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
添加行 /dev/null,如下所示:
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/dev/null
Control + O,保存文件。Control + X,关闭 nano。
编辑 /etc/passwd 文件并手动添加 /./ 行以将 /home/ftp 目录与用户 user1 应自动 chdir 到的 /user1 目录分开。
sudo su
nano /etc/passwd
改变:
user1:x:504:504::/home/ftp/user1/:/dev/null
To
user1:x:504:504::/home/ftp/./user1/:/dev/null
Control + O,保存文件。Control + X,关闭 nano。
该帐户为user1。
第一部分 /home/ftp/ 表示应被视为其新根目录的文件系统。
点 . 将其与应自动更改目录的目录分开。将目录更改为 /user1/。