将 FTP 用户登录默认目录设置为/home/ftp。
时间: 2023-12-28 19:03:41 浏览: 141
要将FTP用户登录的默认目录设置为/home/ftp,可以按照以下步骤操作:
1. 编辑FTP服务器的配置文件,通常是/etc/vsftpd.conf。
2. 找到以下行:
```
#chroot_local_user=YES
```
3. 将该行的注释符号“#”去掉,并将其值改为“YES”:
```
chroot_local_user=YES
```
4. 在文件的末尾添加以下行:
```
user_sub_token=$USER
local_root=/home/ftp/$USER
```
这将使FTP用户的主目录设置为/home/ftp/用户名。
5. 保存并关闭文件。
6. 重启FTP服务器以使更改生效,例如:
```
sudo service vsftpd restart
```
现在,当FTP用户登录时,他们将被限制在其个人目录中,即/home/ftp/用户名。
相关问题
linux ftp 用户及目录权限设置,【linux】FTP添加用户,设置权限和目录
在 Linux 系统中,FTP 服务器是一个常见的服务,通过 FTP 可以方便地共享文件。在 FTP 服务器中,用户和目录的权限设置非常重要。下面介绍如何在 Linux 系统中添加 FTP 用户,设置权限和目录。
1. 安装 FTP 服务器
首先需要安装 FTP 服务器软件,常用的有 vsftpd、proftpd 等。以 vsftpd 为例,在终端中输入以下命令安装:
```
sudo apt-get update
sudo apt-get install vsftpd
```
2. 配置 FTP 服务器
在安装完成后,需要进行 FTP 服务器的配置。可以通过编辑 /etc/vsftpd.conf 文件进行配置。以下是一些常用的配置项:
- anonymous_enable=YES:启用匿名访问。
- local_enable=YES:启用本地用户访问。
- write_enable=YES:允许用户上传文件。
- chroot_local_user=YES:将用户锁定在其主目录中。
- userlist_file=/etc/vsftpd.userlist:指定用户列表文件。
- userlist_enable=YES:启用用户列表功能。
修改完成后,需要重启 FTP 服务器使配置生效:
```
sudo service vsftpd restart
```
3. 添加 FTP 用户
添加 FTP 用户可以使用系统自带的 useradd 命令。例如,添加一个名为 ftpuser 的用户:
```
sudo useradd ftpuser
```
4. 设置 FTP 用户密码
添加用户后,需要设置用户密码。可以使用 passwd 命令设置密码:
```
sudo passwd ftpuser
```
5. 设置 FTP 用户目录权限
默认情况下,FTP 用户的主目录是 /home/ftpuser。如果需要修改主目录,可以在 /etc/passwd 文件中修改:
```
sudo vi /etc/passwd
```
找到 ftpuser 对应的行,修改其中的目录即可。例如:
```
ftpuser:x:1001:1001::/var/ftp:/bin/bash
```
将目录修改为 /var/ftp。
6. 设置 FTP 用户访问权限
可以通过 userlist_file 配置项指定用户列表文件,以限制只有列表中的用户才能访问 FTP 服务器。可以使用以下命令创建用户列表文件:
```
sudo touch /etc/vsftpd.userlist
```
然后将允许访问 FTP 服务器的用户写入到该文件中:
```
sudo echo "ftpuser" >> /etc/vsftpd.userlist
```
7. 设置 FTP 用户目录权限
最后需要设置 FTP 用户的目录权限,以保证用户能够正确访问其主目录。可以使用以下命令修改目录权限:
```
sudo chown ftpuser:ftpuser /var/ftp
sudo chmod 755 /var/ftp
```
其中,chown 命令将目录所有者和所属组都设置为 ftpuser,chmod 命令将目录权限设置为 rwxr-xr-x。
完成以上步骤后,就可以使用 FTP 客户端连接到 FTP 服务器并访问相应的目录了。
配置FTP服务,要求不允许匿名用户站点访问,配置本地用户webgl,该用户对var/webhome目录具有所用权限,var/webhome目录为web服务的主目录,webgl账户可以上传、下载web站点资源,同时创建虚拟用户ftp2,仅对var/webhome有读权限
好的,下面是具体的配置步骤:
1. 安装 vsftpd
使用以下命令安装 vsftpd:
```
sudo yum install vsftpd
```
2. 配置 vsftpd
编辑 /etc/vsftpd/vsftpd.conf 文件并进行以下更改:
```
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
```
这里设置了不允许匿名用户访问,启用了本地用户登录和写入权限,设置了本地用户的默认掩码为022,启用了日志记录,设置了用户列表等。
3. 添加用户
创建一个名为 webgl 的用户并设置密码:
```
sudo adduser webgl
sudo passwd webgl
```
创建虚拟用户 ftp2,添加用户的同时创建用户家目录:
```
sudo useradd -d /var/webhome -s /sbin/nologin ftp2
sudo passwd ftp2
```
4. 配置权限
给 webgl 用户赋予 var/webhome 目录的所有权限:
```
sudo chown -R webgl:webgl /var/webhome
sudo chmod -R 755 /var/webhome
```
给 ftp2 用户赋予 var/webhome 目录的只读权限:
```
sudo chown -R ftp2:ftp2 /var/webhome
sudo chmod -R 555 /var/webhome
```
5. 配置用户列表
打开 /etc/vsftpd/user_list 文件并添加以下内容:
```
webgl
ftp2
```
这个文件列出了允许登录的用户名列表。
6. 启动 vsftpd
启动 vsftpd 服务:
```
sudo systemctl start vsftpd
```
现在,webgl 用户可以上传和下载 var/webhome 目录下的文件,而 ftp2 用户只能读取 var/webhome 目录下的文件。