ubuntu ftp服务器搭建(搭建ftp服务器的步骤)

大家好,如果您还对ubuntu ftp服务器搭建不太了解,没有关系,今天就由本站为大家分享ubuntu ftp服务器搭建的知识,包括搭建ftp服务器的步骤的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

Ubuntu上FTP服务器程序vsftpd安装配置全流程攻略

安装ftp

复制代码

代码如下:

sudo apt-get install vsftpd

配置vsftpd.conf

复制代码

代码如下:

sudo nano/etc/vsftpd.conf

#禁止匿名访问

anonymous_enable=NO

#接受本地用户

local_enable=YES

#允许上传

write_enable=YES

#用户只能访问限制的目录

chroot_local_user=YES

#设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建

local_root=/home/ftp

看网上说加一行pam_service_name=vsftpd,我看我这个配置文件本来就有,就不管了。

添加ftp用户

复制代码

代码如下:

sudo useradd-d/home/ftp-M ftpuser

sudo passwd ftpuser

调整文件夹权限

这个是避免500 OOPS: vsftpd: refusing to run with writable root inside chroot()

复制代码

代码如下:

sudo chmod a-w/home/ftp

sudo mkdir/home/ftp/data

这样登录之后会看到data文件夹,虽然稍麻烦,原因不表了。。查资料这么辛酸已经不易。。

改pam.d/vsftpd

这时候直接用useradd的帐号登录ftp会530 login incorrect

复制代码

代码如下:

sudo nano/etc/pam.d/vsftpd

注释掉

复制代码

代码如下:

#auth required pam_shells.so

重启vsftpd

复制代码

代码如下:

sudo service vsftpd restart

这时就可以用刚才建的ftpuser这个用户登录ftp了,看到的是local_root设置的/home/ftp,并且限制在该目录。

可以在浏览器用访问,也可以用ftp软件比如flashFXP,密码就是ftpuser的密码。

关于用户访问文件夹限制

由chroot_local_user、chroot_list_enable、chroot_list_file这三个文件控制,转别人的一段话:

首先,chroot_list_enable好理解,就是:是否启用chroot_list_file配置的文件,如果为YES表示chroot_list_file配置的文件生效,否则不生效;

第二,chroot_list_file也简单,配置了一个文件路径,默认是/etc/vsftpd.chroot_list,该文件中会填入一些账户名称。但是这些账户的意义不是固定的,是跟配置项chroot_local_user有关的。后一条中说明;

第三,chroot_local_user为YES表示所有用户都*不能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。chroot_local_user为NO表示所有用户都*能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。也可以理解为,chroot_list_file列出的例外情况的用户。

如果客户端登录时候提示以pasv模式连接失败

编辑/etc/vsftpd.conf

最后添加

复制代码

代码如下:

pasv_promiscuous=YES

然后再重启vsftpd服务。

vsftpd 530 Permission denied错误与530 Login incorrect

在linux上搭建完ftp服务器后,用户登录vsftpd出现530 Login incorrect错误与530 Permission denied错误。 530 Permission denied原因是/etc/vsftpd/vsftpd.conf里userlist_enable=YES/etc/vsftpd/user_list含有root名单

2种解决办法:

1.userlist_enable=NO将root从user_list中去掉

530 Login incorrect错误将root从/etc/vsftpdftpusers中去掉。

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

/usr/sbin/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情况下才生效。另外,如luo_rc所述,最好不要设置默认目录为/,使用建议使用mount--bind来挂载需要的目录。

如何在ubuntu中安装设置ftp服务器

方法/步骤

1

首先,更新软件源,保证源是最新的,这样有利于下面在线通过apt-get install命令安装ftp。

2

使用sudo apt-get install vsftp命令安装vsftp,安装软件需要root权限,我们使用sudo来暂时获取。

3

安装好ftp后默认是会自动创建ftp用户的,然后我们设置ftp用户的密码,输入

sudo passwd ftp,然后输入密码,再确认密码。

4

创建ftp用户的家目录,使用sudo mkdir/home/ftp命令

5

设置ftp家目录的权限,我这里为方便直接使用sudo chmod 777/home/ftp命令将权限设置为777,当然你可以根据自己需求进行设置。

6

对/etc/vsftpd.conf配置文件进行一定的修改。使用 sudo gedit/etc/vsftpd.conf打开配置文件,如果你喜欢vi或vim编辑器也可以使用它们打开。

7

将配置文件中”anonymous_enable=YES“改为“anonymous_enable=NO”(是否允许匿名ftp,若不允许选NO)

取消如下配置前的注释符号:

local_enable=YES(是否允许本地用户登录)

write_enable=YES(是否允许本地用户写的权限)

chroot_local_user=YES(是否将所有用户限制在主目录)

chroot_list_enable=YES(是否启动限制用户的名单)

chroot_list_file=/etc/vsftpd.chroot_list(可在文件中设置多个账号)

8

然后重启ftp服务,使用命令sudo service vsftpd restart重启ftp服务。

9

测试ftp,复制一些文件到/home/ftp目录下

方法一:在浏览器中输入,网页登录。

方法二:在终端中输入ftp localhost,然后输入用户名与密码实现登录。

10

如果登录ftp总是出现密码错误,可以将/etc/vsftpd.conf配置文件的pam_service_name=vsftpd改为pam_service_name=ftp,即可解决。

Linux-在Ubuntu搭建ftp服务器

在Ubuntu 22.04上搭建FTP服务器的具体步骤如下:

1.首先,确保vsftpd服务已安装并自动启动。可通过命令"systemctl status vsftpd"检查服务状态。

2.配置vsftpd服务器,使用编辑命令"sudo nano/etc/vsftpd.conf"打开配置文件。

3.在配置文件中,设置"anonymous_enable=YES"和"local_enable=YES"以允许匿名用户和Ubuntu本地用户登录FTP服务器。

4.为限制FTP用户访问其他目录,取消"chroot_local_user=YES"的注释,并在文件末尾添加"chroot_local_user=no"。

5.为允许上传和删除操作,取消"write_enable=YES"的注释。

6.设置匿名用户的默认目录,增加"anon_root=/home/ailsonjack/share"。

7.在/home/ailsonjack文件夹中创建名为"share"的子文件夹,并在其中创建"ftp"子文件夹。使用命令"sudo chmod 777/home/ailsonjack/share/ftp"改变"ftp"文件夹权限。

8.保存并退出配置文件编辑,使用命令"sudo systemctl restart vsftpd"使配置生效。

9.为了确保FTP服务器正常工作,可以暂时关闭防火墙。使用命令"sudo systemctl stop firewalld"关闭防火墙,然后使用"sudo systemctl status firewalld"检查防火墙状态。

至此,Ubuntu服务器上的FTP服务器搭建完成。测试FTP服务是否正常运行,确保匿名用户和本地用户能成功上传和删除文件。关注博主获取更多Linux相关教程。

阅读剩余
THE END