Redhat Linux 7.0 搭建ftp服务器详细教程

本文以Redhat 7.0下自带的vsftpd为背景,详细介绍了Linux下搭建FTP服务器的过程。内容包括安装过程,以及用户权限配置、SSL配置等。

系统环境

操作系统:Redhat Linux 7.0

应用环境:vsftp

创建用户

创建用户

创建用户 [user_name],并限定 [user_name] 的主目录为 /usr/ftp/upload,同时设置密码

useradd -d /usr/ftp/upload [user_name]

passwd [user_name]

配置用户权限

虽然一般情况下,可不配置用户权限。

usermod -s /sbin/nologin [user_name]    #限定用户不能telnet,只能ftp
usermod -s /bin/bash [user_name]    #用户恢复正常
usermod -d /usr/ftp [user_name]    #更改用户的主目录

配置SFTP

配置vsftpd

修改 /etc/vsftpd/vsftpd.conf

anonymous_enable=NO    #禁止匿名用户登录
local_enable=YES    #禁止本地用户登录
write_enable=YES

并在该文件的最后面添加如下行:

userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/vsftpd.user_list

最后保存/etc/vsftpd/vsftpd.conf文件。

限制用户访问路径

修改 /etc/vsftpd/vsftpd.conf

chroot_list_enable=YES    #限制访问自身目录
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

编辑 /etc/vsftpd/vsftpd.chroot_list,添加受限用户及其访问目录,如下:

[user_name_1] [filepath_1]

[user_name_2] [filepath_2]

[user_name_3] [filepath_3]

编辑 /etc/vsftpd/vsftpd.user_list,添加受限制用户,如下:

[user_name_1]

[user_name_2]

[user_name_3]

重启vsftpd

service vsftpd restart

其他操作

修改密码

如果需要允许用户修改密码,但是该用户没有登录系统的权限,执行如下命令后,即可 telnet 进入改密界面:

usermod -s /usr/bin/passwd [user_name]

删除用户

userdel [user_name]

搭建支持SSL加密传输的vsftpd

生成证书

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

修改vsftpd.conf

vim /etc/vsftpd/vsftpd.conf

调整如下参数

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem

以下是部分ssl参数,可以根据自己需求修改

ssl_enable=yes/no    #是否启用 SSL,默认为no
allow_anon_ssl=yes/no    #是否允许匿名用户使用SSL,默认为no
rsa_cert_file=/path/to/file    #rsa证书的位置
dsa_cert_file=/path/to/file    #dsa证书的位置
force_local_logins_ssl=yes/no    #非匿名用户登陆时是否加密,默认为yes
force_local_data_ssl=yes/no    #非匿名用户传输数据时是否加密,默认为yes
force_anon_logins_ssl=yes/no    #匿名用户登录时是否加密,默认为no
force_anon_data_ssl=yes/no    #匿名用户数据传输时是否加密,默认为no
ssl_sslv2=yes/no    #是否激活sslv2加密,默认no
ssl_sslv3=yes/no    #是否激活sslv3加密,默认no
ssl_tlsv1=yes/no    #是否激活tls v1加密,默认yes
ssl_ciphers=DES-CBC3-SHA    #默认是DES-CBC3-SHA
赞 (0) 打赏

评论 0

感谢您的支持与帮助

支付宝扫一扫打赏

微信扫一扫打赏