linux ftp搭建

2025-11-28 04:32:37

1、安装:ftp安装部分,操作步骤如下:

可以使用yum命令直接安装ftp

# yum install vsftpd

ftp服务的开启与关闭命令:

开启:# service vsftpd start

关闭:# service vsftpd stop

安装成功后,可以在本地使用ftp软件连接,默认账号是虚拟机的账号和密码。

目的:在linux系统上建立ftp用户,并限制其通过ftp访问时,只能访问用户主目录;其主目录显示路径也是“/”,看不到上级目录。

例子:建立用户test,密码为123456,主目录为/home/ftp/test

2、首先,在linux系统建立用户test:

1、以ftp用户登陆系统,建立test用户的主目录/home/ftp/test,输入命令:mkdir /home/ftp/test

2、以root用户登录系统,建立带有主目录的用户,输入命令:[root@- home]# useradd -d /home/ftp/test test 

3、为用户分配密码,输入命令:

       [root@- etc]# passwd test

                         New UNIX password:123456

                         Retype new UNIX password:123456

                         passwd: all authentication tokens updated successfully.

   此时查看:[root@- etc]# cat /etc/passwd

   可看到用户配置是这样的:test:x:504:504::/home/ftp/test:/bin/bash

   系统为用户分配了新的用户id和组id:504、504。由于该用户的所有文件需对ftp用户开放访问权限,我们可以将test分配到ftp组(组id500)。

   为用户分配新的用户组,输入命令:[root@- home]# usermod -g ftp test          

   此时查看:[root@- etc]# cat /etc/passwd

   可看到用户配置是这样的:test:x:504:500::/home/ftp/test:/bin/bash

4、然后,配置用户ftp权限及访问路径限制:

   此时用test登陆系统ftp,是否可以访问?如果无法访问,说明我们的ftp做了限制。

   打开/etc/vsftpd/vsftpd.conf,查找userlist_enable、userlist_deny、userlist_file。

   如果userlist_deny=NO:只允许userlist_file文件中的用户可访问ftp;

   如果userlist_deny=YES:userlist_file文件中列举的用户不能通过ftp访问系统。userlist_enable是该功能的开关。我们的系统配置如下:

           userlist_enable=YES

       userlist_deny=NO

     userlist_file=/etc/vsftpd/user_list

    所以需要把用户test加入到/etc/vsftpd/user_list文件中,每个用户一行。

     由于该主目录是ftp用户建的,test是ftp组的成员,所以test默认具有增删查改权限;而test作为ftp组成员,对/home/ftp下的所有路径具有访问权限(根据各目录的权限设置,默认是这样),登录ftp后会发现,test用户可以访问其他目录,并且具有ftp组的权限,这样做是不允许的,我们需要将test用户的访问范围控制在其主目录下。方法如下:

        1. cd /etc/vsftpd 进入ftp配置文件目录

        2. vi vsftpd.conf编辑此文件,找到#chroot_list_enable=YES,删除前面的那个#号,表示开启此限制功能

            找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list

        3. 编辑chroot_list文件,加入你要限制的用户名test,一行一个用户

    4.如果提示没有可写权限,则在vsftpd.conf文件中加入allow_writeable_chroot=YES

      如果更新了vsftpd.conf,一定要重启ftp,命令如下:

      [root@linuxsir001 root]# /etc/init.d/vsftpd restart或service vsftpd restart

      再用test通过ftp访问系统,用户成功登陆,并且成功的被限制在自己的主目录下,无法访问其他目录了。

3、在 /etc/vsftpd/vsftpd/vsftpd.conf  添加

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=31000

重启vsftpd服务  servcie vsftpd restart

在 vim /etc/sysconfig/iptables

-A INPUT -p tcp -m multiport --dport 20,21  -m state --state NEW -j ACCEPT  --开启20,21端口-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT            --开启21主动端口-A INPUT -p tcp --dport 30000:31000 -j ACCEPT            --开启被动端口

linux ftp搭建

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢