Linux FTP配置
我使用的服务器是SUSE系统,在需要传输文件的时候需要在服务器上安装FTP服务。安装步骤如下。
1. 检查SUSE上是否安装了FTP服务
使用命令:rpm -qa | grep vsftp 检查系统是否已经安装了ftp服务。如果未安装,则无回显;已经安装,回显如下:
MYSUSE:~ # rpm -qa | grep vsftp
vsftpd-2.0.7-4.23.1
我系统并未安装ftp服务,所以进行下一步。
2. FTP的rpm包下载
我是网上搜索找的。一般获取安装包的途径有网上搜索和光盘拷贝,获取还是挺容易的。我下载的安装包是2.0.7版本,比较老了。不过这类工具包的差别并不大,使用没有什么不同。
3. FTP安装包安装
使用命令:rpm -ivh vsftpd-2.0.7-4.23.1.x86_64.rpm 安装ftp服务。安装成功,回显如下:
MYSUSE:/opt # rpm -ivh vsftpd-2.0.7-4.23.1.x86_64.rpm
Preparing... ########################################### [100%]
package vsftpd-2.0.7-4.23.1.x86_64 is already installed
4. 启动vsftpd服务
使用命令:/etc/init.d/vsftpd start 启动vsftpd服务。服务启动成功,回显如下:
MYSUSE:/opt # /etc/init.d/vsftpd start
Starting vsftpd done
5. 修改配置文件
通过修改vsftp的配置文件:vi /etc/vsftpd.conf,来配置ftp的各个参数。经过测试,我保留了一下几个参数,可以使ftp功能正常使用。
write_enable=YES
local_enable=YES
local_umask=000
anonymous_enable=NO
anon_mkdir_write_enable=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_lis
pam_service_name=vsftpd
以上配置,如果关键字编辑错误,会遇到启动服务的时候,会遇到下面的报错:
MYSUSE:/opt # /etc/init.d/vsftpd restart
Shutting down vsftpd done
Starting vsftpd startproc: exit status of parent of /usr/sbin/vsftpd: 1 failed
使用命令:sudo /usr/sbin/vsftpd,可以看到报错的情况:
MYSUSE:/opt # sudo /usr/sbin/vsftpd
500 OOPS: unrecognised variable in config file: local_unmask
是配置文件中的local_umask编辑错误导致的。修改后,vsftpd服务可以成功启动。
6. 配置ftp目录及用户
使用命令:mkdir /opt/ftp 创建ftp的主目录。
使用命令:chmod 777 /opt/ftp 给该目录赋权。可以根据需求自定义该文件夹权限。
使用命令:useradd -d /opt/ftp -m ftpuser 创建ftp用户
使用命令:passwd ftpuser 配置ftp用户ftpuser的密码
7. 配置vsftp.chroot_list文件
在配置文件vsftp.conf中,chroot_list_file=/etc/vsftpd.chroot_list指定了ftp白名单的用户配置文件。我们可以将想要不受限的用户加到该文件里。
vi /etc/vsftpd.chrrot_list,在文件里添加刚刚创建的ftp用户ftpuser。使用命令:wq 保存退出。
使用命令:service vsftpd restart 重启vsftp服务,配置就完成了。