A. CentOS7安装及配置vsftpd-精简绝版
备注:如果后期想变更此用户的上传目录到 (/run/media/root/xxx/wwwroot/ xxx.org ), 请使用下面的命令: 输入怎么想设置的密码则可。 (1)当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误: 500 OOPS: vsftpd: refusing to run with writable root inside chroot () (2)从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下, 则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录 的写权限,注意把目录替换成你自己的。 或者你可以在vsftpd的配置文件中增加下列一项: allow_writeable_chroot=YES (3)使用cmd命令容器发生 500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list错误 解决:修改vsftpd.conf配置文件,注释以下内容 (4)本地使用ftpClient调试是发生 java.net.SocketException: Connection reset异常 解决:在本地电脑执行以下命令 netsh advfirewall set global StatefulFTP disable # 启动服务 systemctl start vsftpd.service # 停止服务 systemctl stop vsftpd.service # 重启服务 systemctl restart vsftpd.service # 服务状态查看 systemctl status vsftpd.service # 设置开机启动 systemctl enable vsftpd
B. 限制虚拟用户的家目录的家目录的配置是什么
centos 6.5 vsftpd 虚拟用户配置一:基本知识1:虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器2:vsftp的服务进程是vsftpd3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .4:vsftpd的用户文件是/etc/vsftpd/ftpusers5:vsftpd的用户文件是/etc/vsftpd/user_list6:推荐使用虚拟用户登入vs-FTP服务器二:安装1.检查是否安装过vsftpdrpm -qa vsftpd安装:(1) yum -y install vsftpd lftp(2) 关闭iptables 和 selinux/etc/init.d/iptables stop临时关闭selinuxsetenforce 0永久性的关闭selinuxvim /etc/selinux/config修改为 ————》SELINUX=disabled(3) 创建虚拟用户文本文件,添加用户及密码cd /etc/vsftpdtouch vuser.txt备注:奇数行是用户名,偶数行是密码。例如:alix123456(4) 生成虚拟数据库文件(需使用到db_load)yum -y install db4-utils db4-devel db4-4.3db-load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db(5) 配置PAM文件,用来验证客户端vim /etc/pam.d/vsftpdauthrequiredpam_userdb.sodb=/etc/vsftpd/vuseraccountrequiredpam_userdb.sodb=/etc/vsftpd/vuser(6)修改虚拟数据库文件的权限chmod 700 /etc/vsftpd/vuser.db(7) 增加一个系统用户vuser,用于匿名用户的映射。mkdir /datauseradd -d /data vuserchown vuser.vuser /datausermod -s /sbin/nologinvuser(8) 修改主配置文件vsftpd.conf,添加:guest_enable=YES ##激活虚拟用户guest_uaername=vuser##把虚拟用户绑定为系统账户vuserpam_service_name=vuser##使用pam认证(9) 添加虚拟用户的配置文件vim /etc/vsftpd/vsftpd.conf添加:user_config_dir=/etc/vsftpd/vsftpd_user_conf(10) 创建vsftpd_user_conf目录mkdir /etc/vsftpd/vsftpd_user_conf(11) 设置虚拟用户配置文件,与虚拟用户名相同touch /etc/vsftpd/vsftpd_user_conf/testuser(12) 编辑虚拟用户配置文件vim /etc/vsftpd/vsftpd_user_conf/testuseranon_world_readable_only=NO ###浏览FTP目录和下载 anon_upload_enable=YES ###允许上传 anon_mkdir_write_enable=YES ###建立和删除目录 anon_other_write_enable=YES ####改名和删除文件local_root=/ftpdir/ #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。 备注:一定要检查后面是否有空格。(13)启动/etc/init.d/vsftpd restart三。添加新的虚拟用户添加虚拟用户vim /etc/vsftpd/vuser.txtweb2123456生成库文件db-load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db编辑虚拟用户的配置文件touch /etc/vsftpd/vsftpd_user_conf/web2vim /etc/vsftpd/vsftpd_user_conf/web2anon_world_readable_only=NO ###浏览FTP目录和下载 anon_upload_enable=YES ###允许上传 anon_mkdir_write_enable=YES ###建立和删除目录 anon_other_write_enable=YES ####改名和删除文件local_root=/ftpdir/ #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。 创建用户家目录mkdir /ftpdir/web2修改权限chown -R vuser.vuser /ftpdir/web2加载vsftpd/etc/init.d/vsftpd reload 本地连接:ftp(需要把vsftpd.conf 里的ssl关了)lftp(在 /etc/lftp.cong里添加 set ssl:verify-certificate no)四、配置ssl1、安装包apt-get -y install openssl 2、创建一个证书(时间365天)并填写相关一些信息openssl req -x509 -nodes -days 365 -newkey rsa:2048 -out /etc/ssl/certs/vsftpd.pem -keyout /etc/ssl/certs/vsftpd.pemGenerating a 2048 bit RSA private key……….+++………….+++writing new private key to '/etc/ssl/certs/vsftpd.pem'—–You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.—–Country Name (2 letter code) [AU]:CNState or Province Name (full name) [Some-State]:shanghaiLocality Name (eg, city) []:shanghaiOrganization Name (eg, company) [Internet Widgits Pty Ltd]:aaaOrganizational Unit Name (eg, section) []:aaaCommon Name (e.g. server FQDN or YOUR name) []:aaaEmail Address []: 3、修改权限chmod 0400 /etc/ssl/certs/vsftpd.pem 4、ssl具体配置/etc/vsftpd.conf最后添加ssl_enable=YESrsa_cert_file=/etc/ssl/certs/vsftpd.pemssl_sslv2=YESssl_sslv3=YESssl_tlsv1=YES 5、配置说明ssl_enable=YES #开启vsftpd对ssl协议的支持ssl_sslv2=YES #支持SSL v2 protocolssl_sslv3=YES #支持SSL v3 protocolssl_tlsv1=YES #支持TSL v1rsa_cert_file=/etc/ssl/certs/vsftpd.pem #存放证书地方 6、重启服务/etc/init.d/vsftpd restartStopping FTP server: vsftpd.Starting FTP server: vsftpd. 7、测试1)lftp fileftp:'redhat'@192.168.1.124ls: Fatal error: Certificate verification: Not trusted解决在/etc/lftp.conf文件中添加1行到最后set ssl:verify-certificate no再登录一次就OK了2)查看日志Sat Aug 1 13:52:23 2015 [pid 2] CONNECT: Client "192.168.1.124"Sat Aug 1 13:52:23 2015 [pid 2] DEBUG: Client "192.168.1.124", "Connection terminated without SSL shutdown – buggy client?"Sat Aug 1 13:56:25 2015 [pid 2] CONNECT: Client "192.168.1.120"Sat Aug 1 13:56:25 2015 [pid 1] [fileftp] OK LOGIN: Client "192.168.1.120"
C. linux 服务器怎么启动ftp
Liux系统下有好几款很不错的ftp服务,各有特点,适应于不同的应用场合。一般在各种Linux的发行版中,默认带有的ftp软件是vsftp,本文是针对CentOs7系统下搭建vsftpd服务为例。1. 首先确定系统中已经安装了vsftpd软件,查看命令:rpm -q vsftpdrpm -qa |grep vsftpd2. 安装vsftpd(以yum安装为例)yum install -y vsftpd3.关闭selinux和iptables(也可配置防火墙相关访问策略,反之系统阻断),设置vsftpd开机自启永久关闭selinuxvi /etc/sysconfig/selinux将配置SELinux=enforcing改为SELinux=disabled保存退出并重启服务器验证是否关闭命令:getenforce关闭防火墙centos 7 操作命令:systemctl stop firewalld.servicecentos 6 操作命令:service stop iptables设置vsftpd开机自启centos 7 操作命令:systemctl enable vsftpd.servicecentos 6 操作命令:chkconfig vsftpd on4.vsftpd的配置ftpusers 该文件用来指定哪些用户不能访问ftp服务器。user_list 该文件用来指定的默认账户在默认情况下也不能访问ftp服务器。vsftpd.conf vsftpd的主要配置文件,路径:/etc/vsftpd/vsftpd.conf# vsftpd.conf的配置# 是否允许匿名登录anonymous_enable=NO# 是否允许本地用户登录local_enable=YES# 是否允许本地用户对FTP服务器文件具有写权限write_enable=YES# 本地用户主目录local_root=/var/ftp# 匿名用户主目录anon_root=/var/ftp/pub# 是否允许匿名用户上传文件,如允许,须将全局的write_enable=YESanon_upload_enable=YES# 是否允许匿名用户创建新文件夹anon_mkdir_write_enable=YES# 容许匿名用户除了新建和上传外的其他权限anon_other_write_enable=YES# 本地用户掩码local_umask=022# 设置匿名登入者新增或上传档案时的umask值anon_umask=022# 是否激活目录欢迎信息功能dirmessage_enable=YESxferlog_enable=YES# 主动模式数据传输20端口connect_from_port_20=NOxferlog_std_format=YES# 是否监听ipv4listen=YES# listen_ipv6=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES# 是否设置被动模式pasv_enable=YES# 被动模式传输使用端口pasv_min_port=20020pasv_max_port=20020# 被动模式返回给客户端的ip地址(服务器内网穿透时使用)pasv_address=0.0.0.0( 服务器外网ip )# 设置用户访问目录,默认只允许用户自己的ftp目录# 需要同时设置allow_writeable_chroot,允许受限用户的写权限,不然会报错chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listallow_writeable_chroot=YES5.创建例外用户文件#哪怕没有例外用户也必须创建vim /etc/vsftpd/chroot_list只想让指定账户不限制在其主目录,其它账户都限制在主目录。对于chroot_local_user与chroot_list_enable的组合效果,可以参考下表:6. 创建ftp新用户#新增一个test(用户名),并指定上传目录在/home/ftp/test下useradd -g root -d /home/ftp/test -s /sbin/nologin test# 如果后期想变更此用户的上传到(/XXX/ftp/test),请使用下面的命令:usermod -d /XXX/ftp/test test# 设置用户密码passwd test因为安全问题,vaftpd不允许匿名用户在ftp主目录上传,可以新建一个子目录,设置权限为7777. 关于local_umask和anon_umask掩码掩码决定了上传文件的权限,掩码为022代表上传后的文件权限为666-022=644 -> rw-r–r–掩码即为要去除的权限为,默认设为033即可。8. 启动vsftp服务#centos7 操作命令启动: systemctl start vsftpd.service停止: systemctl stop vsftpd.service重启: systemctl restart vsftpd.service查看状态: systemctl status vsftpd.service#centos6 操作命令启动: service vsftpd start停止: service vsftpd stop重启: service vsftpd restart查看状态: service vsftpd status
D. linux配置ftp服务器的过程
第一步:打开终端(快捷键是Ctrl+Alt+t),如果当前用户不是root用户,请输入命令“su”,然后输入root账户密码即可;第二步:输入命令“apt-get update”,这一步是为了更新下载的数据源,如果不更新可能造成有几个后面的软件包无法下载;第三步:输入命令“apt-get install vsftpd”完成安装vsftpd;第四步:判断vsftp是否安装成功,输入命令“service vsftpd restart”重启vsftpd服务,如果他在运行状态说明安装成功;第五步:新建“/home/uftp”目录作为用户主目录,输入命令“mkdir /home/uftp”回车 ,然后输入命令“ls /home”查看home目录下有uftp这个目录吗,如果有就是创建成功;第六步:新建用户uftp并且设置密码,输入命令“useradd -d /home/uftp -s /bin/bash uftp”回车,然后再输入命令“passwd uftp”回车,然后输入两次密码就设置ok了第七步:使用vi修改配置文件/etc/vsftpd.conf,输入命令“vi /etc/vsftpd.conf”回车,向文件中添加“userlist_deny=NO””userlist_enable=YES”?, “userlist_file=/etc/allowed_users”?,“seccomp_sandbox=NO”,最后把文件中的“local_enable=YES”保存(如果提示无法保存,直接退出来,把读写和执行权限给这个文件,具体操作为:输入命令: “chmod 777 /etc/vsftpd.conf”回车就可以了); 第八步:新建文件/etc/allowed_users,输入命令“vi /etc/allowed_users”,打开后再这个文件内写入“uftp”保存即可;《Linux就该这么学》第九步:查看/etc/ftpusers文件(不能访问ftp服务用户清单)的内容,输入命令“vi /etc/ftpusers”回车,如果里面有uftp,就把他删除;第十步:安装winscp软件,进行远程登录访问;下载直接在网络下载就行
E. linux中怎么安装vsftpd
vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个。本文介绍了在CentOS 6.4下安装vsftpd、配置虚拟用户登录FTP的过程。正文:一:安装vsftpd查看是否已经安装vsftpdrpm -qa | grep vsftpd如果没有,就安装,并设置开机启动yum -y install vsftpdchkconfig vsftpd on二:基于虚拟用户的配置所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。修改配置文件打开/etc/vsftpd/vsftpd.conf,做如下配置anonymous_enable=NO //设定不允许匿名访问local_enable=YES //设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问chroot_list_enable=YES //使用户不能离开主目录ascii_upload_enable=YESascii_download_enable=YES //设定支持ASCII模式的上传和下载功能pam_service_name=vsftpd //PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加guest_enable=YES //设定启用虚拟用户功能guest_username=ftp //指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了user_config_dir=/etc/vsftpd/vuser_conf //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名进行认证首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。yum install db4 db4-utils然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码test123456接着,生成虚拟用户认证的db文件db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:auth required pam_userdb.so db=/etc/vsftpd/vuser_passwdaccount required pam_userdb.so db=/etc/vsftpd/vuser_passwd最后,创建虚拟用户配置文件mkdir /etc/vsftpd/vuser_conf/vi /etc/vsftpd/vuser_conf/test //文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效内容如下local_root=/ftp/www //虚拟用户根目录,根据实际情况修改write_enable=YES //可写anon_umask=022 //掩码anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YESanon_other_write_enable=YES设置Selinuxsetsebool -P ftp_home_dir=1 //设置ftp可以使用home目录sersebool -P allow_ftpd_full_access=1 //设置ftp用户可以有所有权限设置FTP根目录权限mkdir /ftp/www //创建目录chmod R 755 /ftpchmod R 777 /ftp/www最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限设置防火墙打开/etc/sysconfig/iptables在“-A INPUT –m state –state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:-A INPUT -m state –state NEW -m tcp -p -dport 21 -j ACCEPT然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:service iptables restartOK,运行“service vsftpd start”,你就可以访问你的FTP服务器了。
F. 如何在linux下开启FTP服务
Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令rpm -qa |grepvsftpd来查看是否安装相应的包,如果没有安装那么可以执行yum-yinstallvsftpd来安装,安装之后首先创建ftp用户,比如ftp_test,命令如下:
useradd-s/sbin/nologin-d/home/ftp_testftp_test
目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建,否则权限会有问题,执行命令的时候会自动创建,
现在可以看到上面的路径是一个/,对于ftp用户来说也就是根目录了,只能在这个目录下操作,而无法跳出这个目录
以上就是vsftpd服务的基本搭建过程,实际使用时可以分配多个用户