Linux FTP搭建及其使用
一、ftp搭建
1.安装ftp软件包
1.1挂载镜像
mount /dev/sr0 /mnt
1.2安装相应的rpm包
--vsftpd:
rpm -qa | grep vsftpd
yum -y install vsftpd
rpm -ivh vsftpd-2.2.2-21.el6.x86_64.rpm--ftpd:
rpm -ivh ftp-0.17-54.el6.x86_64.rpm
2.开启ftp服务
--redhat6:
启动ftp命令:
service vsftpd start停止ftp命令:
service vsftpd stop重启ftp命令:
service vsftpd restart--redhat7:
启动ftp命令:
systemctl start vsftpd.service停止ftp命令:
systemctl stop vsftpd.service重启ftp命令:
systemctl restart vsftpd.service
3.vsftpd配置
配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
(1)ftpusers 该文件用来指定那些用户不能访问ftp服务器。
(2)user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp。
(3)vsftpd.conf vsftpd的主配置文件。
--vsftpd.conf 部分常用参数
listen=[YES|NO] 是否以独立运行的方式监听服务
listen_address=ip地址 设置要监听的ip地址
listen_port=21 设置FTP服务的监听端口
download_enable=[YES|NO] 是否允许下载文件
userlist_enable=[YES|NO]/userlist_deny=[YES|NO] 设置用户列表为允许还是禁止操作
max_clients=0 最大客户端连接数,0为不限制
max_per_ip=0 同一ip地址的最大连接数,0为不限制
anonymous_enable=[YES|NO] 是否允许匿名用户访问
anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件
anon_umask=022 匿名用户上传文件的umask值
anon_root=/var/ftp 匿名用户的ftp根目录
anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录
anon_other_write_enable=[YES|NO] 是否开放匿名用户的其他写入权限(重命名、删除等操作)
anon_max_rate=0 匿名用户的最大传输速率(字节/秒),0为不限制
local_enable=[YES|NO] 是否允许本地用户登录ftp
local_umask=022 本地用户上传文件的umask值
local_root=/var/ftp 本地用户的ftp根目录
chroot_local_user=[YES|NO] 是否将用户权限禁锢在ftp目录,以确保安全
local_max_rate=0 本地用户最大的传输速率,0为不限制
3.1以匿名用户为例,登录FTP
想要以匿名用户登录,需要修改/etc/vsftpd/vsftpd.conf的配置文件。
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
把这两个参数的注释去掉,就可以完成匿名用户的配置,此时匿名用户既可以登录上传,也可以下载文件。
修改完成后,记得重启该服务。
systemctl restart vsftpd.service另一台机器使用匿名用户ftp进行登录,无密码。
ftp 192.168.80.238
Connected to 192.168.80.238 (192.168.80.238).
220 (vsFTPd 3.0.2)
Name (192.168.80.238:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
3.2添加test1和test2两个用户,并且可以身份验证访问ftp服务
--添加用户
useradd test1
echo "123" | passwd --stdin test1useradd test2
echo "123"|passwd --stdin test2用户可以随便切换到其他目录下,安全性较低。--将普通用户禁锢在家目录中,使其不能随意切换目录
vi /etc/vsftpd/vsftpd.conf
#chroot_local_user=YES
去掉参数前面的注释并重启服务。
注意:rhel7中单纯的修改参数chroot_local_user=YES,会造成ftp登录失败的问题,需要在此参数chroot_local_user=YES的基础上添加参数allow_writeable_chroot=YES才可以。--将test1加入user_list文件中,user_list默认为黑名单
echo "test1" >> user_listtest1登录失败:
ftp 192.168.88.5
Connected to 192.168.88.5 (192.168.88.5).
220 (vsFTPd 3.0.2)
Name (192.168.88.5:root): test1
530 Permission denied.
Login failed.test2登录成功:
ftp 192.168.88.5
Connected to 192.168.88.5 (192.168.88.5).
220 (vsFTPd 3.0.2)
Name (192.168.88.5:root): test2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.注意:若想uesr_list变为白名单,则只需要在ftp配置文件末尾加入:userlist_deny=NO重启服务即可。
3.3建立test3虚拟用户账户使用ftp
vi /etc/vsftpd/vuser
test3
123
注意:奇数行为用户名,偶数行位密码。
3.3.1将vuser文件转换成数据库文件,并给vuser和转换后的vuser.db数据库文件设置权限
db_load -T -t hash -f vuser vuser.db
chmod 600 vuser
chmod 600 vuser.db
3.3.2创建一个用户为vuser,指定家目录/opt/vuser,并不使用shell登陆
useradd -d /opt/vuser -s /sbin/nologin vuser
3.3.3编辑pam认证模块支持虚拟用户的登陆
vi /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
3.3.4编辑ftp配置文件,开启虚拟用户,使用pam认证登陆
vi vsftpd.conf
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.vu
3.3.5重启服务
systemctl restart vsftpd.service
3.3.6使用test3验证登录
ftp 192.168.88.5
Connected to 192.168.88.5 (192.168.88.5).
220 (vsFTPd 3.0.2)
Name (192.168.88.5:root): test3
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
如果使用虚拟用户,出现登录失败的情况,可能为以下三方面原因:
(1)检查自己的虚拟用户数据库文件内容是否有误。
(2)可能是PAM模块有问题检查自己的 /etc/pam.d/vsftpd文件的内容。
(3)虚拟用户验证FTP服务因为需要用到PAM模块,所以本地用户有可能被PAM模块限制而导致无法登陆。
二、常用的ftp命令
2.1连接ftp
格式:ftp <ip地址>
如:ftp 192.168.88.5
输入相应的用户名密码登录即可。
2.2下载文件(get/mget)
2.2.1get命令
将远程主机上的文件传送到本地主机上。
格式:get <remote_file> <local_file>如:
ftp 192.168.88.5
Connected to 192.168.88.5 (192.168.88.5).
220 (vsFTPd 3.0.2)
Name (192.168.88.5:root): test2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /tmp/
250 Directory successfully changed.
ftp> ls -lrt
227 Entering Passive Mode (192,168,88,5,115,103).
150 Here comes the directory listing.
drwx------ 3 0 0 17 Feb 09 06:04 systemd-private-7fb240dbba1e49af931a4499c959bba2-vmtoolsd.service-krWDjZ
drwx------ 3 0 0 17 Feb 09 06:04 systemd-private-7fb240dbba1e49af931a4499c959bba2-rtkit-daemon.service-itBl9T
drwx------ 3 0 0 17 Feb 09 06:04 systemd-private-7fb240dbba1e49af931a4499c959bba2-cups.service-U3Zwog
drwx------ 3 0 0 17 Feb 09 06:04 systemd-private-7fb240dbba1e49af931a4499c959bba2-colord.service-0FDRUo
-rw-r--r-- 1 0 0 14893 Feb 24 07:30 ashrpt_1_0223_1000.html
226 Directory send OK.ftp> get ashrpt_1_0223_1000.html
ftp> get ashrpt_1_0223_1000.html C:\Users\Administrator_L\Desktop\ash.html
2.2.2mget命令
从远程主机接收一批文件到本地主机。
格式:mget <remote_files>如:
ftp 192.168.88.5
Connected to 192.168.88.5 (192.168.88.5).
220 (vsFTPd 3.0.2)
Name (192.168.88.5:root): test2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.ftp> cd /tmp/
ftp> mget *.*
mget adjtime? y227 Entering Passive Mode (192,168,70,31,142,169).150 Opening BINARY mode data connection for adjtime (5685 bytes).226 Transfer complete.注意:要去除提示需执行:prompt off
文件会下载到当前目录下,也就是执行ftp命令的所在目录。
2.3上传文件(put/mput)
2.3.1put命令
将本地主机上的文件传送到远程主机。
格式:put <local_file> <remote_file>如:
ftp> put C:\Users\Administrator_L\Desktop\1.txt
ftp> put C:\Users\Administrator_L\Desktop\1.txt 2.txt
2.3.2mput命令
将本地主机上的一批文件传送到远程主机。
格式:mput local_file如:
ftp> mput *.txt
3.其他常用ftp命令
pwd 显示远程Linux FTP服务器上的当前路径。
ls 列出远程Linux FTP服务器上当前路径下的目录和文件。
dir 列出远程Linux FTP服务器上当前路径下的目录和文件(同上)。
mkdir [foldname] 在远程Linux FTP服务器上当前路径下建立指定目录。
rmdir [foldname] 删除远程Linux FTP服务器上当前路径下的指定目录。
cd [foldname] 更改远程Linux FTP服务器上的工作目录。
delete [filename] 删除远程Linux FTP服务器上指定的文件。
rename [filename] [newfilename] 重命名远程Linux FTP服务器上指定的文件。
close 从远程Linux FTP服务器断开但保留FTP命令参数提示。
disconnect 从远程Linux FTP服务器断开但保留FTP命令参数提示(同上) 。
bye 结束和远程Linux FTP服务器的连接。
quit 结束和远程Linux FTP服务器的连接(同上)。
! 直接从远程Linux FTP服务器进入到本地shell中。
exit (接上步)从本地shell环境中返回到远程Linux FTP服务器环境下。
!ls 列出本地机器上当前路径下的目录和文件。
lcd [foldname] 更改本地机器的工作目录。
? 显示ftp命令说明。
help 显示ftp命令说明(同上)。
Linux FTP搭建及其使用相关推荐
- linux ftp搭建及多端口监听
一.前述 本来公司用的是window是的服务器,突然经常出现问题,现在需要搭建linux环境.必定linux相对稳定一点. 二.具体 1.显示如下图则表示已安装 vsftp软件.如果未显示则需要安装v ...
- 在Linux中搭建一个FTP服务器
在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...
- 免费的FTP linux 服务器中文,linux ftp服务器的搭建和中文字体乱码的解决
本篇文章主要介绍了Centos 下搭建FTP上传下载服务器的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 首先判断你服务器上是否安装了vsftpd 安装vsftpd ...
- php开发ftp服务器搭建教程,在Linux中搭建一个FTP服务器
在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...
- Linux中搭建一个ftp服务器详解
来源:Linux社区 作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道: 控制通道 , 数据通道 在ftp协议中,控制连接均是由客户端发起的,而数据连接有 ...
- linux Centos的ftp搭建-配置-上传下载文件--全面版
ftp搭建 一.搭建前提 a.ssh服务已经开启,b.防火墙关闭,c.连网 1.查看ssh和防火墙的状态 service sshd status service iptables stat ...
- Linux系统搭建多用户多目录不同权限访问的FTP服务器
Linux系统搭建多用户多目录不同权限访问的FTP服务器 1 安装服务 [root@host-192-168-9-19 home]# yum -y install vsftpd 2 创建访问目录 创建 ...
- suse系统搭建ftp服务器,linux suse 搭建ftp服务器
linux suse 搭建ftp服务器 内容精选 换一换 设置HECS登录密码设置Windows云服务器登录密码设置Linux云服务器登录密码登录HECS了解Windows云服务器的登录方式了解Lin ...
- linux平台搭建ftp,Linux快速搭建FTP服务器
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(A ...
最新文章
- python叫什么-又一个python小游戏,叫什么不知道了。。。
- UE4学习-场景介绍、基本操作、快捷键
- oracle之控制用户权限和练习
- case是java关键字吗_Java关键字
- flutter 如何判断在哪个页面_Agora 教程:构建你的第一个 Flutter 视频通话应用
- Python与机器视觉(一)安装与环境
- Hadoop Hive概念学习系列之HiveQL编译基础(十)
- Pheatmap做热图数据处理过程
- python实现列表的排列和组合
- 使用 /proc 文件系统来控制系统
- BAT校招产品经理:52道经典面试问题解答思路
- 1219 厘米到英寸的转换
- ByPass Mode(略过模式或旁路模式)
- maya导入abc动画_mayaamp;max文件导出fbx
- Java设计模式——Command模式(容易,次要)
- python 232串口通信
- 两款苹果cms仿电影先生的
- css背景渐变神器(Cool Backgrouds)一键生成
- mysql 重做日志 镜像_mysql重做日志 - osc_vr7hvjd2的个人空间 - OSCHINA - 中文开源技术交流社区...
- 数据分析师前景如何,需要学习什么技能?