如何在linux下开启FTP服务

如题所述

你好,

    安装ftp软件,以Ubuntu为例,apt install vsftpd

    开启ftp,sudo systemctl start vsftpd 和sudo systemctl enable vsftpd前者是启用vsftpd服务,后者是将其加入开机自启

    配置ftp服务器,sudo vi /etc/vsftpd.conf

将下面的改成自己需要的

anonymous_enable=NO             # 关闭匿名登录

local_enable=YES        # 允许本地用户登录

write_enable=YES        # 启用可以修改文件的 FTP 命令

local_umask=022             # 本地用户创建文件的 umask 值

dirmessage_enable=YES           # 当用户第一次进入新目录时显示提示消息

xferlog_enable=YES      # 一个存有详细的上传和下载信息的日志文件

connect_from_port_20=YES        # 在服务器上针对 PORT 类型的连接使用端口 20(FTP 数据)

xferlog_std_format=YES          # 保持标准日志文件格式

listen=NO               # 阻止 vsftpd 在独立模式下运行

listen_ipv6=YES             # vsftpd 将监听 ipv6 而不是 IPv4,你可以根据你的网络情况设置

pam_service_name=vsftpd         # vsftpd 将使用的 PAM 验证设备的名字

userlist_enable=YES             # 允许 vsftpd 加载用户名字列表

tcp_wrappers=YES        # 打开 tcp 包装器


配置 VSFTPD ,基于用户列表文件 /etc/vsftpd.userlist 来允许或拒绝用户访问 FTP。注意,在默认情况下,如果通过 userlist_enable=YES 启用了用户列表,且设置 userlist_deny=YES时,那么,用户列表文件 /etc/vsftpd.userlist 中的用户是不能登录访问的。但是,选项 userlist_deny=NO 则反转了默认设置,这种情况下只有用户名被明确列出在 /etc/vsftpd.userlist 中的用户才允许登录到 FTP 服务器。

配置好之后用sudo systemctl restart vsftpd重启ftp服务就可以用了。

如果出现访问被拒绝之类的提示,尝试开放20、21两个端口。也可以在配置文件里面自定义端口(也许会更加安全)

希望对你有所帮助!

不懂请追问!

望采纳!

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答