如何在Linux中设置FTP上传路径 (linux设置ftp上传路径)

FTP (File Transfer Protocol) 是一种用于文件传输的协议,经常用于将文件从本地计算机上传到服务器或从服务器下载到本地计算机。

在 Linux 中,我们可以使用许多不同的方式来设置 FTP 上传路径。这里将介绍两种最常见的方法。

方法一:通过修改 vsftpd.conf 文件设置上传路径

vsftpd 是一个非常流行的 FTP 服务器,在大多数 Linux 发行版中都可以找到。在这种情况下,我们可以通过编辑 vsftpd.conf 文件来设置上传路径。请按照以下步骤执行:

1. 打开终端,并以 root 用户身份登录。

2. 打开 vsftpd.conf 文件。可以使用任何文本编辑器打开该文件。

“`

$ sudo nano /etc/vsftpd.conf

“`

3. 查找本文档,并删除其前面的注释符号 “#”。

“`

#write_enable=YES

“`

4. 添加以下行以设置上传路径,其中路径是你想要的 FTP 上传路径。

“`

local_root=/var/ftp/

“`

5. 保存并关闭 vsftpd.conf 文件。

6. 重新启动 vsftpd 服务以使更改生效。

“`

$ sudo service vsftpd restart

“`

现在,你的 FTP 用户将能够上传文件到设置的路径。

方法二:通过创建 FTP 用户并配置主目录设置路径

另一种设置 FTP 上传路径的方法是通过创建 FTP 用户并配置他们的主目录。请按照以下步骤执行:

1. 打开终端,并以 root 用户身份登录。

2. 创建一个新的 FTP 用户。

“`

$ sudo useradd -m ftpuser

“`

3. 创建一个新的 FTP 密码,并将其分配给新用户。

“`

$ sudo passwd ftpuser

“`

4. 将 FTP 主目录设置为你想要的 FTP 上传路径。

“`

$ sudo usermod -d /var/ftp/ ftpuser

“`

5. 确保 FTP 用户有权限读取 FTP 主目录。

“`

$ sudo chown ftpuser:ftpuser /var/ftp/

“`

6. 重启 vsftpd 服务以使更改生效。

“`

$ sudo service vsftpd restart

“`

现在,你的 FTP 用户将能够登录并上传文件到设置的路径。

以上介绍了两种设置 FTP 上传路径的方法。你可以根据你的需求选择其中一种方法。如果你使用的是 vsftpd,那么之一种方法可能更方便,因为它可以在 vsftpd.conf 文件中配置。如果你想更紧密地控制 FTP 用户的访问,那么第二种方法可能更好,因为你可以为每个 FTP 用户单独配置主目录。

无论你选择哪种方法,都要确保你的 FTP 用户具有足够的权限来访问并上传到你希望他们上传的路径。

相关问题拓展阅读:

linux中vsftp修改默认路径

你打开/etc/vsftpd.chroot_list这个文件不就知道是不是了?文件里面应该会有说明的。

为什么要把默认路径设置成/目录呢?

建议你用mount命令把你想设置的目录挂载到默认的目录下就行了,

比如sudo mount –bind

这样就把目录A挂载到目录B下面了,(使用的时候没有中括号)。

修改vsftpd的配置文件/etc/vsftpd/vsftpd.conf,添加下面三行:

1、local_root=/media/ftp/pub  

2、chroot_local_user=YES  

3、anon_root=/var/www/html/  

local_root 表示本地用户登录后的根目录,也就是非匿名,而是输入用户名和密码登录进入的,这里顺便说一下ftp登录的格式    

anon_root anonymous用户,即匿名用户访问的主目录  

但是这时候可能会出现以下报错:

# lftp localhost  

lftp localhost:~> ls 

ls: Login failed: 500 OOPS: vsftpd: refusing to run with writable anonymous root  

原因还是权限设置问题:  

是ftp默认主目录权限设置不对,我这里报这个错误是因为/media/ftp设置权限为777,/media/ftp/pub设置权限也为777。

正确的权限设置是将/media/ftp权限设置为755,chmod 755 /media/ftp后重启ftp服务就可以了。  

上面的chroot_list_file是设定锁定登陆用户在其home目录的列表,要在chroot_list_enable=YES情况下才生效,另外,如luo_rc所述,更好不要设置默认目录为/,使用mount –bind来挂载需要的目录

扩展资料:

如果你是默认的ftp目录出现此问题,那一定是这个/home/ftp的权限不对所致,这个目录的权限是不能打开所有权限的;是运行了chmod 777 /home/ftp所致;如果没有ftp用户这个家目录,要自己建一个;  

如下FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放;  

# ls -ld /home/ftp  

drwxrwxrwx 3 root root23 /home/ftp  

修正这个错误,应该用下面的办法;  

# chown root:root /home/ftp  

# chmod 755 /home/ftp  

修改vsftpd.conf配置文件:

chroot_local_user = YES

chroot_list_file=/etc/vsftpd.chroot_list

退出,然后编辑/etc/vsftpd.chroot_list,在这里面输入用户名字,一行写一个用户名。

最后你再重新启动一下vsftpd服务。就可以了。

好久没摸vsftpd了,看了下帮助,发现有两个参数控制这个量

local_root=

这个是本地用户登录后自动转到的ftp根目录但是要配合chroot_local_user=YES选项才会生效,这是local_root=生效的开关

anon_root=

这个是匿名用户登录后转到的ftp根目录

你提到的那个文件用处是将列表内包含的用户名的根目录自动转到各自对应的home目录去,需要配合chroot_list_enable=YES使用,这是chroot_list_file=生效的开关,如果你同时打开了chroot_local_user=YES,那么chroot_list_file=将会是一个“不将列表中的用户自动转到各自的home”列表。

有点复杂,参考资料附上完整的vsftpd.conf参数表,有很多选项默认的配置文件并不包含,你需要手工添加的。

如果是默认安装vsftpd的话,以下是一些文件的位置约定:

/usr/in/vsftpd —- VSFTPD的主程序

/etc/rc.d/init.d/vsftpd —- 启动脚本

/etc/vsftpd/vsftpd.conf —- 主配置文件

/etc/pam.d/vsftpd —- PAM认证文件

/etc/vsftpd.ftpusers —- 禁止使用VSFTPD的用户列表文件

/etc/vsftpd.user_list —- 禁止或允许使用VSFTPD的用户列表文件

/var/ftp —- 匿名用户主目录

/var/ftp/pub —- 匿名用户的下载目录

如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行:

local_root=/

chroot_local_user=YES

anon_root=/

local_root表示使用本地用户登录到ftp时的默认目录

anon_root表示匿名用户登录到ftp时的默认目录

你上面的chroot_list_file是设定锁定登陆用户在其home目录的列表,要在chroot_list_enable=YES情况下才生效。

请教,如何用linux FTP命令,上传文件到windows指定目录

可以在Windows系统上做尘漏好派滑烂ftp服务器,然后在Linux系统上直接拉文件,还可以用Linux系统自带的Samba服务器与Windows系统进行文件共让码享。你要传文件的前提是先假设好ftp服务器。请参考!!!

关于linux设置ftp上传路径的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何在Linux中设置FTP上传路径 (linux设置ftp上传路径)