如何安装并配置Centos7系统上的FTP服务?

2026-05-22 05:371阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1649个文字,预计阅读时间需要7分钟。

如何安装并配置Centos7系统上的FTP服务?

一、安装FTP服务端和客户端

1.使用yum安装FTP服务端:`yum install -y vsftpd`

2.安装FTP客户端(可选):`yum install -y ftp`

二、FTP服务端配置

1.进入FTP配置文件目录:`cd /etc/vsftpd`

2.备份原配置文件并去除注释:`mv vsftpd.conf vs`

一、安装FTP服务端

yum install -y vsftpd

安装ftp客户端(可省略)

yum install -y ftp

二、FTP服务配置 1、进入FTP配置文件目录

cd /etc/vsftpd

2、备份配置文件vsftpd.conf和去掉所有注释

mv vsftpd.conf vsftpd.conf.bak grep -v "#" vsftpd.conf.bak > vsftpd.conf

3、编辑配置文件

vi vsftpd.conf

修改的内容

#修改 #是否支持匿名用户,默认YES,改成NO表示需要用户名密码登录不允许匿名登录 anonymous_enable=NO #匿名上传。首先,文件系统上用户的家目录,要具备写权限。其次,ftp服务器要开启允许匿名上传的配置 anon_upload_enable=YES #以下取消注释 #允许匿名用户上传,建立目录 anon_mkdir_write_enable=YES #默认只能下载全部读的文件。这句话的意思是说,如果启动了这句话,则匿名用户只能下载所有用户都具备读权限的文件。如果有一个文件,有一个用户不剧本读权限,匿名用户就不能够下载。 anon_world_readable_only=YES #匿名用户能否删除和修改上传的文件 anon_other_write_enable=YES #指定匿名上传文件的umask值。umask的值可以直接影响到上传文件的权限。 anon_umask=077 #指定上传文件的默认的所有者和权限。 完成了这些指定之后,匿名用户上传的元数据就是我们指定的那些内容。 chown_uploads=YES #chown_username=wang #chown_upload_mode=0644 #所有系统用户都映射成guest用户,但是映射的guest账户,需要人为地去指定下。 #guest_enable=YES #guest_username=vsftpd #是否允许Linux用户登陆,默认是允许的,当然也可以禁止。 local_enable=YES #是否允许Linux用户上传文件,如果用户默认允许登陆的话,linux用户登陆成功之后,默认位于自己的家目录,这时是允许上传文件的。 如果将下面的这句话,改成no,则服务拒绝linux用户上传文件,即便位于自己的家目录也不可以。 #write_enable=YES #指定系统用户上传文件的默认权限 #local_umask=022 #非匿名用户登录所在目录,当使用Linux用户登陆成功之后,就不会默认在自己的家目录了。相反,会位于下面指定的目录里。 #local_root=/ftproot #禁锢所有的用户在家目录中的意思是说,用户登陆成功之后,不能够随意切换目录,只能够在自己的家目录中进行操作。 chroot_local_user=YES #ASCII码支持 async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES #登录提示信息 ftpd_banner=Welcome to FTP server. # 这一句话优先生效 #banner_file=/etc/vsftpd/ftpbanner.txt #设置是否使用当地时间。默认就是YES use_localtime=YES #虚拟用户建立独立的配置文件 user_config_dir=/etc/vsftpd/conf listen_port=21 virtual_use_local_privs=YES ##被动模式端口 pasv_min_port=40000 pasv_max_port=40010 # 被动模式数据连接超时时长,时间单位是秒 accept_timeout=10 #主动模式数据连接超时时长,时间单位是秒 connect_timeout=10 #数据连接无数据输超时时长,时间单位是秒 data_connection_timeout=300 # 无命令操作超时时长,时间单位是秒 idle_session_timeout=300 allow_writeable_chroot=YES

三、创建虚拟用户

创建虚拟用户,是为了避免FTP用户直接登录到服务器

1、创建虚拟用户配置文件

vi ftp_user.conf

增加内容:奇数行是账号,偶数行是密码,下面第一行是账号,第二行是密码

ftpuser ftpuser123

2、加密虚拟用户配置文件

db_load -T -t hash -f ftp_user.conf ftp_user.db

如果没有db_load命令,需要安装:yum install db4 db4-utils

改变权限和删除未加密的配置

chmod 600 ftp_user.db rm -f ftp_user.conf

3、修改FTP的访问权限

先备份

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

修改权限文件

vi /etc/pam.d/vsftpd

先将配置文件中原有的 auth 及 account 的所有配置行均注释掉(不注释掉虚拟用户会登录不上),添加两行信息

auth required pam_userdb.so db=/etc/vsftpd/ftp_user account required pam_userdb.so db=/etc/vsftpd/ftp_user

4、增加虚拟用户,只能登录FTP,不能登录后台

useradd -d /home/ftpuser -s /sbin/nologin ftpuser

修改文件夹的拥有者

如何安装并配置Centos7系统上的FTP服务?

chown -R ftpuser:ftpuser /home/ftpuser

5、虚拟用户配置文件

创建虚拟用户配置文件目录

mkdir -p /etc/vsftpd/conf

创建虚拟用户的配置文件(ftpuser文件和刚才创建的数据库文件的用户名必须一致)

vi /etc/vsftpd/conf/ftpuser

增加的内容:

#用户的默认登陆目录。也就是FTP用户登陆成功之后的默认路径。 local_root=/home/ftpuser/ftpuser write_enable=YES anon_world_readable_only=NO #虚拟用户上传权限 anon_upload_enable=YES #虚拟用户创建文件夹 anon_mkdir_write_enable=YES ## 虚拟的其他用户对指定用户目录的写权限 anon_other_write_enable=YES

创建FTP传输目录,对应上面的 local_root 配置项

mkdir -p /home/ftpuser/ftpuser chown ftpuser:ftpuser /home/ftpuser/ftpuser chmod 775 /home/ftpuser/ftpuser

四、开放FTP端口和FTP服务

firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --permanent --zone=public --add-port=21/tcp #被动模式的端口 firewall-cmd --permanent --zone=public --add-port=40000-40010/tcp #重新加载生效 firewall-cmd --reload firewall-cmd --list-all firewall-cmd --zone=public --list-ports

五、FTP启动和设置自动启动

#启动 systemctl start vsftpd #设置自动启动 systemctl enable vsftpd

#查看状态 systemctl status vsftpd.service #重启 systemctl restart vsftpd

六、FTP访问地址

ftp://192.168.10.100/

七、错误解决

1、500 OOPS: vsftpd: cannot locate user specified in 'guest_username':vsftpd

注释下面的配置 #guest_enable=YES #guest_username=vsftpd

八、其它命令

#安装filezilla yum install -y filezilla 运行filezilla filezilla & #Selinux方式:查看防火墙状态 getenforce #permissive表示:放任的;纵容的;姑息的; #临时关闭:setenforce 0 setenforce 0 ->permissive #永久关闭:vim /etc/sysconfig/selinux 将selinux=cnforcing改为selinux=disable Firewall 1.关闭防火墙:service firewalld stop 2.关闭防火墙:systemctl stop firewalld.service 3.禁止防火墙开机启动:systemctl disable firewalld.service 4,查看防火墙状态:firewall-cmd --state

(时间宝贵,分享不易,捐赠回馈,^_^)

================================

©Copyright 蕃薯耀2022-04-19

www.cnblogs.com/fanshuyao/

今天越懒,明天要做的事越多。

本文共计1649个文字,预计阅读时间需要7分钟。

如何安装并配置Centos7系统上的FTP服务?

一、安装FTP服务端和客户端

1.使用yum安装FTP服务端:`yum install -y vsftpd`

2.安装FTP客户端(可选):`yum install -y ftp`

二、FTP服务端配置

1.进入FTP配置文件目录:`cd /etc/vsftpd`

2.备份原配置文件并去除注释:`mv vsftpd.conf vs`

一、安装FTP服务端

yum install -y vsftpd

安装ftp客户端(可省略)

yum install -y ftp

二、FTP服务配置 1、进入FTP配置文件目录

cd /etc/vsftpd

2、备份配置文件vsftpd.conf和去掉所有注释

mv vsftpd.conf vsftpd.conf.bak grep -v "#" vsftpd.conf.bak > vsftpd.conf

3、编辑配置文件

vi vsftpd.conf

修改的内容

#修改 #是否支持匿名用户,默认YES,改成NO表示需要用户名密码登录不允许匿名登录 anonymous_enable=NO #匿名上传。首先,文件系统上用户的家目录,要具备写权限。其次,ftp服务器要开启允许匿名上传的配置 anon_upload_enable=YES #以下取消注释 #允许匿名用户上传,建立目录 anon_mkdir_write_enable=YES #默认只能下载全部读的文件。这句话的意思是说,如果启动了这句话,则匿名用户只能下载所有用户都具备读权限的文件。如果有一个文件,有一个用户不剧本读权限,匿名用户就不能够下载。 anon_world_readable_only=YES #匿名用户能否删除和修改上传的文件 anon_other_write_enable=YES #指定匿名上传文件的umask值。umask的值可以直接影响到上传文件的权限。 anon_umask=077 #指定上传文件的默认的所有者和权限。 完成了这些指定之后,匿名用户上传的元数据就是我们指定的那些内容。 chown_uploads=YES #chown_username=wang #chown_upload_mode=0644 #所有系统用户都映射成guest用户,但是映射的guest账户,需要人为地去指定下。 #guest_enable=YES #guest_username=vsftpd #是否允许Linux用户登陆,默认是允许的,当然也可以禁止。 local_enable=YES #是否允许Linux用户上传文件,如果用户默认允许登陆的话,linux用户登陆成功之后,默认位于自己的家目录,这时是允许上传文件的。 如果将下面的这句话,改成no,则服务拒绝linux用户上传文件,即便位于自己的家目录也不可以。 #write_enable=YES #指定系统用户上传文件的默认权限 #local_umask=022 #非匿名用户登录所在目录,当使用Linux用户登陆成功之后,就不会默认在自己的家目录了。相反,会位于下面指定的目录里。 #local_root=/ftproot #禁锢所有的用户在家目录中的意思是说,用户登陆成功之后,不能够随意切换目录,只能够在自己的家目录中进行操作。 chroot_local_user=YES #ASCII码支持 async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES #登录提示信息 ftpd_banner=Welcome to FTP server. # 这一句话优先生效 #banner_file=/etc/vsftpd/ftpbanner.txt #设置是否使用当地时间。默认就是YES use_localtime=YES #虚拟用户建立独立的配置文件 user_config_dir=/etc/vsftpd/conf listen_port=21 virtual_use_local_privs=YES ##被动模式端口 pasv_min_port=40000 pasv_max_port=40010 # 被动模式数据连接超时时长,时间单位是秒 accept_timeout=10 #主动模式数据连接超时时长,时间单位是秒 connect_timeout=10 #数据连接无数据输超时时长,时间单位是秒 data_connection_timeout=300 # 无命令操作超时时长,时间单位是秒 idle_session_timeout=300 allow_writeable_chroot=YES

三、创建虚拟用户

创建虚拟用户,是为了避免FTP用户直接登录到服务器

1、创建虚拟用户配置文件

vi ftp_user.conf

增加内容:奇数行是账号,偶数行是密码,下面第一行是账号,第二行是密码

ftpuser ftpuser123

2、加密虚拟用户配置文件

db_load -T -t hash -f ftp_user.conf ftp_user.db

如果没有db_load命令,需要安装:yum install db4 db4-utils

改变权限和删除未加密的配置

chmod 600 ftp_user.db rm -f ftp_user.conf

3、修改FTP的访问权限

先备份

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

修改权限文件

vi /etc/pam.d/vsftpd

先将配置文件中原有的 auth 及 account 的所有配置行均注释掉(不注释掉虚拟用户会登录不上),添加两行信息

auth required pam_userdb.so db=/etc/vsftpd/ftp_user account required pam_userdb.so db=/etc/vsftpd/ftp_user

4、增加虚拟用户,只能登录FTP,不能登录后台

useradd -d /home/ftpuser -s /sbin/nologin ftpuser

修改文件夹的拥有者

如何安装并配置Centos7系统上的FTP服务?

chown -R ftpuser:ftpuser /home/ftpuser

5、虚拟用户配置文件

创建虚拟用户配置文件目录

mkdir -p /etc/vsftpd/conf

创建虚拟用户的配置文件(ftpuser文件和刚才创建的数据库文件的用户名必须一致)

vi /etc/vsftpd/conf/ftpuser

增加的内容:

#用户的默认登陆目录。也就是FTP用户登陆成功之后的默认路径。 local_root=/home/ftpuser/ftpuser write_enable=YES anon_world_readable_only=NO #虚拟用户上传权限 anon_upload_enable=YES #虚拟用户创建文件夹 anon_mkdir_write_enable=YES ## 虚拟的其他用户对指定用户目录的写权限 anon_other_write_enable=YES

创建FTP传输目录,对应上面的 local_root 配置项

mkdir -p /home/ftpuser/ftpuser chown ftpuser:ftpuser /home/ftpuser/ftpuser chmod 775 /home/ftpuser/ftpuser

四、开放FTP端口和FTP服务

firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --permanent --zone=public --add-port=21/tcp #被动模式的端口 firewall-cmd --permanent --zone=public --add-port=40000-40010/tcp #重新加载生效 firewall-cmd --reload firewall-cmd --list-all firewall-cmd --zone=public --list-ports

五、FTP启动和设置自动启动

#启动 systemctl start vsftpd #设置自动启动 systemctl enable vsftpd

#查看状态 systemctl status vsftpd.service #重启 systemctl restart vsftpd

六、FTP访问地址

ftp://192.168.10.100/

七、错误解决

1、500 OOPS: vsftpd: cannot locate user specified in 'guest_username':vsftpd

注释下面的配置 #guest_enable=YES #guest_username=vsftpd

八、其它命令

#安装filezilla yum install -y filezilla 运行filezilla filezilla & #Selinux方式:查看防火墙状态 getenforce #permissive表示:放任的;纵容的;姑息的; #临时关闭:setenforce 0 setenforce 0 ->permissive #永久关闭:vim /etc/sysconfig/selinux 将selinux=cnforcing改为selinux=disable Firewall 1.关闭防火墙:service firewalld stop 2.关闭防火墙:systemctl stop firewalld.service 3.禁止防火墙开机启动:systemctl disable firewalld.service 4,查看防火墙状态:firewall-cmd --state

(时间宝贵,分享不易,捐赠回馈,^_^)

================================

©Copyright 蕃薯耀2022-04-19

www.cnblogs.com/fanshuyao/

今天越懒,明天要做的事越多。