centos7.0之vsftpd随笔
yum install vsftpd -f安装vsftpd软件
systemctl start vsftpd
默认ftp目录为/var/ftp/,该文件夹下有pub文件夹
iptables -F 防火墙默认阻止ftp,所以清空防火墙
vi /etc/vsftpd/ftpuser和userlist这两个文件,把root那行注释掉,从而允许ftp root用户远程登录
ftp ip 远程连接ftp
!ls显示本地文件列表
ls 显示ftp服务器文件列表
lcd /dir 进入本地根目录下的dir文件夹
mget/mput files 获取多个文件/上传多个文件
get/put filename 下载/获取单个文件
示范使用shell脚本登录操作ftp
#!/bin/bash
ftp -n <<!
open 192.168.1.66
user root 123456
#使用二进制进行传输
binary
#将文件下载到本机的downloads文件夹
lcd /root/Downloads
prompt
#上传downloads下的全部文件到ftp服务器文件夹
mput *
close
bye
!
匿名用户登录:
vi /etc/vsftpd/vsftpd.conf如果存在以下项就修改,如果没有的话就增加上去
anonymous_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
anon_other_write_enable=YES
anon_upload_enable=YES
保存退出
重启服务器,远程登录,输入用户名anonymous,密码为空,即可登录
远程登录ftp后,发现无法创建文件,是因为ftp默认路径文件夹只允许root用户写入,所以chown -Rf ftp /var/ftp 修改文件夹拥有者,使得ftp用户有写入的权限,如果你selinux已经关闭,那么现在重启ftp服务器即可创建文件夹。如果selinux为开启状态,那么就需要使用getseboo命令查看关于ftp的设置了,现在就把它设置一下吧,setsebool -P ftpd_full_access=on。重启服务器就可以创建文件夹了。
本地用户模式:
首先关闭匿名登录,vi /etc/vsftpd/vsftpd.conf,使anonymous_enable=NO,并且修改下列值local_enable=YES,local_umask=022,write_enable=YES
重启服务器,使用root用户登录提示未授权,修改vi /etc/vsftpd/ftpuser和userlist这两个文件,把root那行注释掉,从而允许ftp root用户远程登录。如果此时selinux为关闭状态,那么你就可以随意创建删除文件了。如果selinux没有关闭,就查看getsebool关于ftp的选项,设置setsebool -P ftpd_full_access=on
(-P 永久生效)
虚拟用户模式:
首先创建一个用户useradd -d /var/ftproot -s /sbin/nologin virtual
需要更改用户文件夹权限,否则,用户登录后可能会出现权限不足的情况,chmod -Rf 755 /var/ftproot
创建一个用户列表 vi /etc/vsftpd/vuser.list,内容如下(奇数行为用户名,偶数行为密码)
linux
123456
test
test
user1
123456
将用户列表转换为数据库文件,命令为: db_load -T -t hash -f vuser.list vuser.db
查看是否转换成功,使用命令file vuser.db,成功会显示该文件为数据库文件
接下来修改该数据库文件权限chmod 600 vuser.db
添加验证文件vi /etc/pam.d/vsftpd.vu 内容如下:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
接下来还需要创建用户文件 mkdir /etc/vsftpd/users_dir
在users_dir 文件下创建用户文件(我还没高明白为什么要这么做,我这么做了之后,用户linux还是可以创建文件夹,有哪位大神知道原因的可以指导一下不),例如linux和test,其中linux可以是空文件,用touch创建即可,另一个test可以写入以下内容
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
修改配置文件 vi /etc/vsftpd/vsftpd.conf,修改或增加以下内容
anonymous_enable=NO
guest_enable=YES
guest_username=virtual
allow_writeable_chroot=YES
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/users_dir
最后的步骤就是配置selinux,我一直懒得搞,都是setenforce 0。如果想使用semanage的话,就是吧ftpdfullaccess那个权限开放,重启服务器就可以了
扩展tftp
安装yum install tftp-server tftp -y
因为tftp是xinetd服务器来管理的,所以我们需要配置xinetd文件, vi /etc/xinetd.d/tftp 修改里面的参数disable 的值为no
重启xinetd服务器 systemctl restart xinetd
然而我们还需要配置防火墙,让端口通过防火墙 firewall-cmd --permanent --add-port=69/udp (--permanent永久生效)
重新载入防火墙 firewall-cmd --reload, 然后像下面那样执行
[root@linuxprobe ~]# echo "i love linux" > /var/lib/tftpboot/readme.txt
[root@linuxprobe ~]# tftp 192.168.10.10
tftp> get readme.txt
tftp> quit
[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures readme.txt Videos
Desktop Downloads Music Public Templates
[root@linuxprobe ~]# cat readme.txt
i love linux
centos7.0之vsftpd随笔的更多相关文章
- CentOS7.0小随笔——指令基本操作(Part.A)
与其说是CentOS7.0的小随笔,说老实话,基本指令在每个发行版本的Linux中都基本上是一致的. Part.A部分我们讲述以下四个方面:命令行界面与图形界面.Linux系统的关闭与重启.命令行帮助 ...
- CentOS7.0小随笔——运行级别
一.Linux运行级别(通用) 0:关机(halt) 1:单用户模式(无需用户名和密码的登录,用于紧急维护系统时用,类似于Windows中的安全模式) 2:不启用网络功能的多用户模式 3:启用网络功能 ...
- 云服务器 Centos7.0 部署
CentOS安装jdk的三种方法 http://www.mamicode.com/info-detail-613410.html centos Linux下安装Tomcat和发布Java的web程序 ...
- CentOS7.0下安装FTP服务的方法
http://www.jb51.net/article/106604.htm 本篇文章主要介绍了CentOS7.0下安装FTP服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟 ...
- centos7.0 下安装jdk1.8
centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...
- centos7.0 安装redis集群
生产环境下redis基本上都是用的集群,毕竟单机版随时都可能挂掉,风险太大.这里我就来搭建一个基本的redis集群,功能够用但是还需要完善,当然如果有钱可以去阿里云买云数据库Redis版的,那个还是很 ...
- centos7.0 安装字体库
最近在centos7.0下用itextpdf将word文档转成pdf时出现字体丢失的情况.网上找了很多资料,各式各样的原因和解决方法.后来经过一番测试发现是centos7.0 minimal没有安装相 ...
- centos7.0改变用户创建目录组权限
centos7.0改变用户创建目录组权限可通过umask进行设置. 临时改变可通过umask命令进行设置 永久性改变,可通过修改~/.bash_profile的方式进行调整.
- CentOS-7.0.中安装与配置Tomcat-7的方法
安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/down ...
随机推荐
- 《Python》进程收尾线程初识
一.数据共享 from multiprocessing import Manager 把所有实现了数据共享的比较便捷的类都重新又封装了一遍,并且在原有的multiprocessing基础上增加了新的机 ...
- Alpha 冲刺 (6/10
Alpha 冲刺 (6/10) 队名:第三视角 组长博客链接 本次作业链接 团队部分 团队燃尽图 工作情况汇报 张扬(组长) 过去两天完成了哪些任务: 文字/口头描述: 1.组织会议 2.帮助队员解决 ...
- Cracking The Coding Interview 4.0_二叉树
#include <iostream> #include <string> using namespace std; class tree { public: tree() { ...
- 基于MicroBlaze 的嵌入式系统设计
reference: http://xilinx.eetrend.com/d6-xilinx/article/2013-03/3863.html 摘 要:当今时代,嵌入式系统已经无所不在,与人们 ...
- CAN总线(1)--初探(更新中)
前言: CAN总线可以控制可以使用Xilinx中IP核来直接实现,也可以使用专用的CAN芯片(例如:SJA1000)通过单片机和FPGA驱动控制来实现: 目前是使用控制器SJA1000来进行实现: C ...
- Centos7部署kubernetes准备工作(一)
一.准备工作: 1.创建三台虚拟机:(在node1配置好环境,然后关机克隆出node2.node3.并修改网卡.主机名即可) linux-node1.example.com 192.168.43.21 ...
- python3.6 安装第三方库 pyCryptodome 实现AES加密
起因 前端日子写完的Python入库脚本,通过直接读取配置文件的内容(包含了数据库的ip,数据库的用户名,数据库的密码),因为配置文件中的数据库密码是明文显示的,所以不太安全,由此对其进行加密. 编码 ...
- subprocess(子进程模块)
subprocess: 子进程模块 一个正在运行的程序叫做进程 一个进程 开启了另一个进程 这个被开启的程序叫做子ka进程 ###########################在cmd中执行#### ...
- php发送邮件(TP5)
先百度搜索phpmailer 下载phpmailer函数包 放到/vendor/下,这是tp5扩展类库目录 然后你需要一个已经开启了SMTP服务的邮箱,作为发送者邮箱,QQ邮箱163邮箱是需要自己开 ...
- Spring的PropertyPlaceholderConfigurer
在项目中我们一般将配置信息(如数据库的配置信息)配置在一个properties文件中,如下: jdbcUrl=jdbc:mysql://localhost:3306/flowable?useUnico ...