Linux下搭建FTP服务器

              Linux下搭建FTP服务器

项目需求:1.安装Linux系统,并搭建FTP服务器。

     2.实现本地用户登录;一个管理用户(可以管理普通用户),多个普通用户(不能登录系统,不能访问其他目录,只可以访问自己的家目录)的组模式。

一、安装Linux系统

   1、通过CD启动电脑

  

  回车->

  

  Skip跳过,无限下一步。。。

  

  ->输入密码,并验证密码->

  

  next->

  

     next->选Basic Server->然后下面选择Customize now(自定义安装)->next

  

  选择Servers->右面选择FTP server(必选)->next

  

  等待安装结束-点击reboot,重启后输入用户名root,密码******,即可进入系统

  

 2、设置IP地址

  (1)输入setup命令,进入设置界面

  

  使用空格键将Use DHCP处[]内的星号去掉

  

   (2)设置网卡自动激活

  cat /etc/sysconfig/network-scripts/ifcfg-eth0 
  DEVICE="eth0"
  HWADDR="00:0C:29:FC:1C:72"
  NM_CONTROLLED="yes"
  ONBOOT="no"
 
  修改ONBOOT为yes
  vi /etc/sysconfig/network-scripts/ifcfg-eth0
 
  DEVICE="eth0"
  HWADDR="00:0C:29:FC:1C:72"
  NM_CONTROLLED="yes"
  ONBOOT="yes"
 
  #service network restart
  再次运行ifconfig�发现网卡已经正常。

 3、启动ftp服务(vsftpd)

  (1)设置ftp服务开机自动启动

  

  

  [root@localhost /]# chkconfig --list|grep vsftpd

    vsftpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
   上面显示vsftpd 在linux任何工作等级下都没有自启动
    [root@localhost /]# chkconfig vsftpd on
    上面这条命令设置vsftpd自启动
    [root@localhost /]# chkconfig --list|grep vsftpd
    vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
    上面显示表明vsftpd在Linux工作2,3,4,5等级下都会自启动服务。

 (2)查看并开启ftp服务

   ps ax|grep vsftpd 查看ftp服务是否开启

   service vsftpd start开启ftp服务(如下图第一次查看未开启ftp服务,第二次查看ftp服务已开启)

  

 4、开启防火墙

  

    

  

  保存并退出。

二、配置 /etc/vsftpd/vsftpd.conf文件.

  vi vsftpd.conf

  输入i开始编辑

 1 anonymous_enable=NO
 2 设定不允许匿名访问
 3 local_enable=YES
 4 设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。
 5 write_enable=YES
 6 设定可以进行写操作。
 7 local_umask=022
 8 设定上传后文件的权限掩码。
 9 anon_upload_enable=NO
10 禁止匿名用户上传。
11 anon_mkdir_write_enable=NO
12 禁止匿名用户建立目录。
13 dirmessage_enable=YES
14 设定开启目录标语功能。
15 xferlog_enable=YES
16 设定开启日志记录功能。
17 connect_from_port_20=YES
18 设定端口20进行数据连接。
19 chown_uploads=NO
20 设定禁止上传文件更改宿主。
21 xferlog_file=/var/log/vsftpd.log
22 设定Vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来,并且由于这里更改了Vsftpd的服务宿主用户为手动建立的Vsftpd。必须注意给与该用户对日志的写入权限,否则服务将启动失败。
23 xferlog_std_format=YES
24 设定日志使用标准的记录格式。
25 idle_session_timeout=600
26 设定空闲连接超时时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值600,单位秒。
27 data_connection_timeout=120
28 设定单次最大连续传输时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值120,单位秒。
29 ftpd_banner=Welcome to 777K FTP service
30 设定Vsftpd的登陆标语。
31 chroot_list_enable=NO
32 禁止用户登出自己的FTP主目录。
33 chroot_list_file=/etc/vsftpd/chroot_list(chroot_list文件需要手动建立)
34 listen=YES
35 userlist_enable=YES
36 设定userlist_file中的用户将不得使用FTP。

输入Esc

:wq 保存并退出

重启FTP服务,service vsftpd restart

三、建立本地用户

adduser -d /home/admin admin    (管理用户)

passwd admin

adduser -d /home/admin/sunone sunone (普通用户1属于admin组)

passwd sunone

adduser -d /home/admin/suntwo suntwo (普通用户2属于admin组)

passwd suntwo

将sunone、suntwo拥有权限改为admin

chown sunone:admin /home/admin/sunone 

chown suntwo:admin /home/admin/suntwo

修改用户权限

chmod 701 admin

chmod 750 sunone 

chmod 750 suntwo 

四、解决 vsftp 500 OOPS: cannot change directory:/home/******* 错误(selinux状态修改)

命令sestatus -b|grep ftp查看状态全为off,第二行需要将状态改为 on

setsebool -P allow_ftpd_full_access on (设置未on状态即可)

五、设置用户不能登录系统

vi /etc/passwd

改为 nologin

六、该项目其他技术人员

json、acan

------以上为本文所有内容-------

------以下无下文------

异乡小龟
原文地址:https://www.cnblogs.com/scale/p/5919498.html