linux汇总整理——ftp配置篇

vsftp配置

vsftp:very safe ftp。世界上使用最多的ftp服务器,也是最安全最好用的ftp工具。

安装(在rhel安装ios镜像中有vsftp的安装包)

# yum 安装
yum install vsftpd
# 如果没有ftp命令,可以通过该命令安装
yum install ftp 

设置

  • vsftp的设置文件在/etc/vsftpd/目录下,最关键的vsftpd.conf文件可参考附件进行设置。
  • 附件文件的编码格式可能有问题,建议将内容copy到linux系统中,而不是直接替换文件。
  • 出于安全考虑,可能需要ftp用户不能登录linux系统
# 创建不能登录系统的用户
#      -d 指定用户根目录为/opt/reconciliation
#      -s 指定shell脚本为/sbin/nologin,表示不允许shell登录
useradd -d /opt/reconciliation -s /sbin/nologin  ftpUser
# 创建有问题可以删除重新创建
userdel -r ftpUser
# 设定密码
passwd ftpUser
# 设置访问权限
chown ftpUser /opt/reconciliation/
# 从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!
# 如果检查发现还有写权限,就会报“”500 OOPS: vsftpd: refusing to run with writable root inside chroot ()  错误。
# 因此需要用以下命令来去除用户主目录的写权限
chmod a-w /opt/reconciliation/

启动、关闭、重启、开机自动启动

##### 以下为centos7之前版本  #####
# 不知道vsftp的服务名,可用此查找ftp的服务
service --status-all |grep ftp  
#  启动vsftp
service vsftpd start 
#  关闭    
service vsftpd stop    
# 重启
service vsftpd restart 
#  查看运行状态  
service vsftpd status  
#  设置开机自动启动
chkconfig vsftpd on    
##### 以下为centos7及其之后版本  #####
# 启动服务
systemctl start vsftpd.service
# 关闭服务
systemctl stop vsftpd.service
# 查看服务运行状态
systemctl status vsftpd.service
# 设置开机自动启动
systemctl enable vsftpd.service
# 停止开机自动启动
systemctl disable vsftpd.service

排错

  • 验证vsftp服务是否正常启动
# 方法一:检查服务是否启动
service vsftpd status  或  systemctl status vsftpd.service
# 方法二:使用ftp命令登录;如果能够登录上去,说明已经正常启动。
ftp localhost
  • 不能上传文件: 检查要上传的目录是否具有写权限;检查vsftp.conf中是否允许上传;
  • 能够ping通,但是ftp连不上:检查是否被防火墙屏蔽;检查Selinux是否对ftp设置权限;
# 查看selinux对ftp的访问控制
sestatus -b|grep ftp
# 其中ftpd_disable_trans 和ftp_home_dir如果是off的话,需要将其开启 
setsebool -P ftpd_disable_trans on
setsebool -P  ftp_home_dir  on
  • 曾经的惨痛教训
    第一次搞vsftp,默认目录是/var/ftp/pub,搞了半天anonymous用户都不能上传文件,最后发现是pub目录指定的是除所有者之外的用户和组均没有写权限!!次奥~~~

外部命令行访问

ftp 192.168.211.128  (访问之前应该先检测能否ping通)
ftp> help 列出 ftp 文件传输,可使用的任何命令。
ftp> !dir 列出本地工作站,目前目录下的所有文件名。
ftp> !cd 列出本地工作站,目前所在的工作目录位置。
ftp> ls 列出远端工作站目前目录下的所有文件名。
ftp> dir 列出远端工作站目前目录下的所有文件名(略同于 UNIX 的 ls -l 指令).
ftp> pwd 列出远端工作站目前所在的目录位置。
ftp> cd dir1 更改远端工作站的工作目录位置至 dir1 下。
ftp> get file1 将远端工作站的文件 file1 ,拷贝到本地工作站中。
ftp> put file2 将本地工作站的文件 file2 ,拷贝到远端工作站中。
ftp> mget *.c 将远端工作站中,文件名后缀为 c 的所有文件,拷贝到本地工作站中。
ftp> mput *.txt 将本地工作站中,文件名后缀为 txt 的所有文件,拷贝到远端工作站中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值