1 首先确定系统中已经安装了vsftpd软件,查看命令:
rpm -q vsftpd
rpm -qa |grep vsftpd
2 安装vsftpd(以yum安装为例)
yum install -y vsftpd
3关闭selinux和iptables(也可配置防火墙相关访问策略,反之系统阻断),设置vsftpd开机自启
永久关闭selinux
vi /etc/sysconfig/selinux
将配置SELinux=enforcing改为SELinux=disabled
保存退出并重启服务器
验证是否关闭命令:getenforce
关闭防火墙
centos 7 *** 作命令:systemctl stop firewalldservice
centos 6 *** 作命令:service stop iptables
设置vsftpd开机自启
centos 7 *** 作命令:systemctl enable vsftpdservice
centos 6 *** 作命令:chkconfig vsftpd on
4vsftpd的配置
ftpusers 该文件用来指定哪些用户不能访问ftp服务器。
user_list 该文件用来指定的默认账户在默认情况下也不能访问ftp服务器。
vsftpdconf vsftpd的主要配置文件,路径:
/etc/vsftpd/vsftpdconf
# vsftpdconf的配置
# 是否允许匿名登录
anonymous_enable=NO
# 是否允许本地用户登录
local_enable=YES
# 是否允许本地用户对FTP服务器文件具有写权限
write_enable=YES
# 本地用户主目录
local_root=/var/ftp
# 匿名用户主目录
anon_root=/var/ftp/pub
# 是否允许匿名用户上传文件,如允许,须将全局的
write_enable=YES
anon_upload_enable=YES
# 是否允许匿名用户创建新文件夹
anon_mkdir_write_enable=YES
# 容许匿名用户除了新建和上传外的其他权限
anon_other_write_enable=YES
# 本地用户掩码
local_umask=022
# 设置匿名登入者新增或上传档案时的umask值
anon_umask=022
# 是否激活目录欢迎信息功能
dirmessage_enable=YES
xferlog_enable=YES
# 主动模式数据传输20端口
connect_from_port_20=NO
xferlog_std_format=YES
# 是否监听ipv4
listen=YES
# listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
# 是否设置被动模式
pasv_enable=YES
# 被动模式传输使用端口
pasv_min_port=20020
pasv_max_port=20020
# 被动模式返回给客户端的ip地址(服务器内网穿透时使用)
pasv_address=0000( 服务器外网ip )
# 设置用户访问目录,默认只允许用户自己的ftp目录
# 需要同时设置allow_writeable_chroot,允许受限用户的写权限,不然会报错
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
5创建例外用户文件
#哪怕没有例外用户也必须创建
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主目录上传,可以新建一个子目录,设置权限为777
7 关于local_umask和anon_umask掩码
掩码决定了上传文件的权限,掩码为022代表上传后的文件权限为
666-022=644 -> rw-r--r--
掩码即为要去除的权限为,默认设为033即可。
8 启动vsftp服务
#centos7 *** 作命令
启动: systemctl start vsftpdservice
停止: systemctl stop vsftpdservice
重启: systemctl restart vsftpdservice
查看状态: systemctl status vsftpdservice
#centos6 *** 作命令
启动: service vsftpd start
停止: service vsftpd stop
重启: service vsftpd restart
查看状态: service vsftpd status1 首先服务器要安装ftp软件,查看否已经安装ftp软件: #which vsftpd 看vsftpd目录说明服务器已经安装ftp软件 2 查看ftp 服务器状态 #service vsftpd status 3 启ftp服务器 #service vsftpd start 4 重启ftp服务器 #service vsftpd restart 5 查看服务没启 #netstat -an | grep 21 tcp 0 0 0000:21 0000: LISTEN 看信息证明ftp服务已经启 6需要启root用户ftp权限要修改两文件 #vi /etc/vsftpdftpusers注释掉root #vi /etc/vsftpduser_list注释掉root 重新启ftp服务 7 vsftpd 500 OOPS: cannot change directory 登陆报错: C:\>ftp 1921680101 Connected to 1921680101 220 (vsFTPd 205) User (1921680101:(none)): frank 331 Please specify the password Password: 500 OOPS: cannot change directory:/home/frank Login failed ftp> ls 500 OOPS: child died Connection closed by remote host 解决: setsebool ftpd_disable_trans 1 service vsftpd restart OK SELinux设置命令,熟悉SELnux前SELinux关掉 8 永久启即os重启自启ftp服务 : cd /etc/xinetdd 编辑ftp服务配置文件gssftp设置: vi /etc/xinetdd/gssftp 修改两项内容: (a) server_args = -l –a 掉-a 改server_args = -l (b) disable=yes改disable=no (c) 保存退 二: (a) system-config-services , 进入图形界面System services查看否 vsftpd项,没转2,保存退 (b) 用redhat第三张盘 安装服务(始--删除/增加程序)200K左右 (c) #setup 能看vsftpd项选services项,保存退
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。
2、在linux命令行下输入shell指令:ps -ef | grep ftp。
3、最后,按下回车键执行shell指令,此时会看到ftp进程被成功查询到,说明ftp功能是开启状态。
gui的
ftp
可以用
gftp,cuteftp,
vsftpd
都是很不错的!要看什么样的
linux系统了,每个系统带的
ftp服务器不一样的。用命令:#
/vsftpd
start#/vsftpd
stop#//vsftpd
restart注意服务器所在的路径,一般在
etc
路径下。
检查Linux系统上FTP服务是否开启:
1通过查询提供FTP服务的进程是否存在
[root@localhost root]#ps -ef | grep ftp#并未找到任何包含ftp关键字的进程信息,可判断服务未开启。
2通过查询是vsftpd服务是否存在
[root@localhost root]#service vsftpd status#vsftpd是最常见的FTP服务器,发现stopped状态即为关闭。
3开启Linux上的FTP服务
Starting vsftpd for vsftpd: [ OK ]
#再次查看发现已经处于启动状态:
[root@localhost root]# service vsftpd status
vsftpd (pid 4510) is running
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)