centos开ftp
‘壹’ centos怎么搭建ftp服务器
方法/步骤
一:安装vsftpd
查看是否已经安装vsftpd
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
配置文件直接贴出来吧
三:使用Berkeley DB进行认证
yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
接着,生成虚拟用户认证的db文件
编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
最后,创建虚拟用户配置文件
设置FTP根目录权限
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
添加防火墙,把ftp的21端口开放 vi /etc/sysconfig/iptables
经过以上步骤我们就完成了ftp服务器的搭建,让我们畅游ftp吧
‘贰’ centos搭建ftp服务
一:安装FTP
输入vsftpd -v判断是否安装成功
启动/停止/重启FTP
二:添加ftp用户
1:创建ftp用户并设置密码
2:配置该用户仅能通过 FTP 访问
三:FTP配置
1:FTP的配置文件在/etc/vsftpd/vsftpd.conf,找到以下配置并修改或添加
2:配置可以登录ftp用户
在/etc/vsftpd/user_list文件中添加可以登录ftp的用户:
3:配置ftp用户登录后访问的目录
在/etc/vsftpd目录下新建一个userconfig目录,在userconfig目录下配置用户的登录目录,例:注意:文件名就是你想要配置的用户名称
在vsftpd文件中添加
配置完成后重启FTP更新配置
四:创建测试目录及文件
创建目录
设置访问权限:
创建一个测试文件,并在里面写上this is test!!!
五:防火墙配置
禁用防火墙或者开启21端口和30000端口
(1):开启21端口
530问题
1.cat /etc/passwd,查看你登陆的账户主目录和登陆shell对应的是什么,我的是/sbin/nologin
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
2.查看cat /etc/shells是否有你用户的主目录和登陆shell,没有进行添加,保存,退出。
通过其他服务器链接ftp
先安装ftp指令 yum install ftp
连接 ftp 192.168.6.36
‘叁’ 二、Centos7-FTP服务器的搭建
ftpname为你为该ftp创建的用户名,/data/KodServer/data/User/tomas/home 为登录进去后的位置
(备注:用cat etc/passwd可以查看当前系统用户)
①、查看ftp的状态:sestatus -b | grep ftp
②、在结果中可以看到: tftp_home_dir off
③、将状态改为on:setsebool -P tftp_home_dir on
④、重启vsftp服务:systemctl restart vsftpd.service
问题:Failed to restart vsftpd.service: Unit not found.
把ftp用户写进去,如果没有这个文件的话就可以复制当前目录下user_list那个文件,然后清空添加用户名即可。
然后就可以使用ftp工具从外部访问了
‘肆’ 怎么在centos 7上配置ftp服务器
二、专门新建一个FTP服务器的用户
在此我已ftpuser为例子:
命令:useradd
ftpuser
新增一个用户ftpuser
passwd
ftpuser
为ftpuser设定密码,期间会有两次提示输入密码确认。
三、为FTP服务设置防火墙
ftp默认端口是21,而centos默认是没有开启的,所以要修改iptables文件
vi
/etc/sysconfig/iptables
-A
INPUT
-p
tcp
-m
state
--state
NEW
-m
tcp
--dport
21
-j
ACCEPT
最后:wq
保存
重启防火墙:service
iptables
restart
注意:会出现iptables.service文件不存在,由于Centos7默认是firewall作为防火墙,这里改为iptables防火墙
systemctl
start
firewalld.service
#启动firewall
systemctl
stop
firewalld.service
#停止firewall
systemctl
disable
firewalld.service
#禁止firewall开机启动
‘伍’ CentOS系统下如何配置FTP(二)
(2)CentOS系统用户权限控制 write_enable=YES,开启全局上传权限. local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022). chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替. chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list). nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户.这是vsftpd系统推荐选项. async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错! ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输. 注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源. 这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险. (3)CentOS系统用户连接和超时选项 idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出. data_connection_timeout=120,设定默认的数据连接超时时间. dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容. xferlog_enable=YES,启用记录上传/下载活动日志功能. xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log.以上,我们就完成了CentOS系统中FTP的配置工作.
‘陆’ centos ftp服务一开机就启动
chkconfig 命令可以管理在7个不同级别下是否启动某个服务,建议man chkconfig,这是一个普通但必须掌握的命令。
1,使用 chkconfig --list 命令观察ftp 的启动状态,按照你的描述,应该是在35级别启动了。
(若一页显示不完,可结合cat more less之类的命令,或者利用管道符加grep 过滤出vsftpd)
2,用chkconfig --level 35 vsftpd off 关闭ftp在3.5级别启动。
centos 和RHEL 基本相同,上述方法应可解决你的问题。