linuxFTP教程vsftpd

一、安装和启动

#查看是否已安装:rpm-q

vsftpd

vsftpd-3.0.2-11.el7_2.x86_64

vsftpd -v

vsftpd: version 3.0.2

安装 :yum -y install vsftpd

可以顺便把FTP客户端也装了:yum install ftp

检查:whereisvsftpd

vsftpd:/usr/sbin/vsftpd /etc/vsftpd

/usr/share/man/man8/vsftpd.8.gz

启动:systemctl start vsftpd

二、设置SELinux

linux系统会限制文件传输,或者访问等,使用ftp和samba都需要关闭该项

临时SELinux,重启电脑后失效

setenforce 0

#设置SELinux成为permissive模式

(关闭SELinux)

setenforce 1

#设置SELinux成为enforcing模式(开启SELinux)

永久SELinux,重启电脑后有效

vi /etc/selinux/config

SELINUX=disabled(如果有则修改,如果没有则添加)

其他方式

查询:getsebool -a | grepftp

设置:setsebool -Pftpd_full_access on

查询结果:加粗项根据需要打开

ftp_home_dir--> on

ftpd_anon_write--> on

ftpd_connect_all_unreserved -->

off

ftpd_connect_db --> off

ftpd_full_access--> on

ftpd_use_cifs --> off

ftpd_use_fusefs --> off

ftpd_use_nfs --> off

ftpd_use_passive_mode --> off

httpd_can_connect_ftp --> off

httpd_enable_ftp_server --> off

sftpd_anon_write --> off

sftpd_enable_homedirs --> off

sftpd_full_access --> off

sftpd_write_ssh_home --> off

tftp_anon_write --> off

tftp_home_dir--> on

三、设置firewall

设置:firewall-cmd --permanent --zone=public

--add-service=ftp

重启:firewall-cmd

–reload

查看:firewall-cmd --zone=public --list-all

四、测试

启动服务 : systemctl start vsftpd

本地访问和登录: ftp localhost

输入Name:anonymous或者ftp(我测试时随便的都可以)

输入密码:留空就行

登录成功后表示安装成功,可以使用ls查看测试项

该目录位于/var/ftp文件下有“pub”和“test”2项内容。

五、配置

在上述安装和测试完成后可以根据需要配置不同帐号和访问权限:

本地用户:用户在FTP服务器拥有账号,且该账号为本地用户的账号,可以通过自己的账号和口令进行授权登录,登录目录为自己的home目录$HOME(指创建帐号时分配的目录)

虚拟用户:用户在FTP服务器上拥有账号,但该账号只能用于文件传输服务。登录目录为某一特定的目录,通常可以上传和下载

匿名用户:用户在FTP服务器上没有账号,登录目录为/var/ftp(或者指定的匿名目录(可自行修改))

经过测试发现本地用户和虚拟用户不能同时使用,除非把本地帐号加入到虚拟账号列表里??为啥呢?

配置文件目录:/etc/vsftpd/

账户设置调用:/etc/pam.d/vsftpd

5.1 本地用户使用模式:

1.添加配置:

vim /etc/vsftpd/vsftpd.conf

查看并核对以下内容:

local_umask=022#基本项

dirmessage_enable=YES#基本项

xferlog_enable=YES#基本项

connect_from_port_20=YES#基本项

xferlog_std_format=YES#基本项

listen=NO#基本项

YES也可以,独立启动

listen_ipv6=YES#基本项

pam_service_name=vsftpd#基本项

userlist_enable=YES#基本项

tcp_wrappers=YES#基本项

guest_enable=YES#没有则添加

guest_username=ftpuser#没有则添加,之后会添加这个帐号到linux系统中,并且对该帐号设置的目录将会作为其他用户登录的主目录

local_root=/var/ftp/$USER

#任选项,如果想要不同用户登录后进入到不同的目录下,可以添加这个,也可以使用固定的目录,比如/var/ftp/upload而不是

ftpuser的帐号目录。

注意:我使用这个的时候没有成功,它无法识别$USER这个参数,尝试各种方法都不行,但是也可以使用local_root=。。。来指定目录

chroot_local_user=YES

allow_writeable_chroot=YES#如果添加了local_root请添加这两项,否则会提示chroot失败

anonymous_enable=NO#基本项,是否允许匿名登录,默认是YES,测试时可以登录,自行定义。还有很多关于匿名用户的配置,以下添加了2个,

anon_root=/var/ftp#任选项,匿名用户登录后的目录

ftp_username=ftp#任选项,根据是否开启匿名选择,定义匿名用户的账户名称,默认值为ftp,也可以修改使用。no_anon_password=YES        #任选项,匿名用户登录时是否询问口令。设置为YES,则不询问。默认NO

以下三项虽然是看着是设置匿名用户的,但是测试结果是,关闭匿名用户后也要开启这三项,根据需要设置后才能上传啥的。目前没有找到其他参数,

anon_upload_enable=YES#任选项,是否允许匿名用户上传文件。只有在write_enable设置为YES时,该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为NO

anon_mkdir_write_enable=YES#任选项,是否允许匿名用户创建目录。只有在write_enable设置为YES时有效。且匿名用户对上层目录有写入的权限。默认为NO

anon_other_write_enable=YES#任选项,若设置为YES,则匿名用户会被允许拥有多于上传和建立目录的权限,还会拥有删除和更名权限。默认值为NO。

download_enable=YES#任选项,设置下载权限,看情况啦,不需要用户下载可以不添加,需要的话请设置为YES

2.添加用户

添加宿主用户: ftpuser指定

`/var/ftp/`目录

useradd -g root -M -d /var/ftp-s /sbin/nologin

ftpuser

-g

root表示添加ftpuser到root用户组

-M不创建用户主目录

-d定义主目录地址

-s

/sbin/nologin设置用户不能使用shell登录,比如通过putty登录到系统,或者本地登录到系统

没有测试不添加到root组的情况

设置用户ftpuser的密码:passwd

ftpuser

下面这个操作我感觉没啥用

/var/ftp的所有权给ftpuser.root

chown -R ftpuser.root

/var/ftp

添加普通用户:useradd -s /sbin/nologin test1

useradd-s /sbin/nologin test2

………………………

然后依次passwd test1修改密码等等等

3.测试登录

重启服务:systemctl restart vsftpd

运行:ftp localhost

用户名:test1

密码:刚才设置的,然后。。。登录成功啦啦啦,如果不成功建议查看“设置SELinux”

然后也可以远程访问下啦啦啦;ftp://ip

好啦,大功告成啦啦啦啦啦

5.2 虚拟用户使用模式:

1.添加配置:加粗项

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=ftpuser

user_config_dir=/etc/vsftpd/vuser_conf

#设置虚拟用户的配置文件,可设置权限,目录地址等

virtual_use_local_privs=YES

chroot_local_user=YES

allow_writeable_chroot=YES

anon_upload_enable=YES

#这四项可去掉,在用户配置中设置

anon_mkdir_write_enable=YES

anon_mkdir_write_enable=YES

download_enable=YES

2.添加用户

编辑虚拟用户名单文件:touch

/etc/vsftpd/vuser_passwd

#第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)

vi /etc/vsftpd/vuser_passwd

test2  #任意起名字

123456

ftpuser

#虽然添加了宿主用户,如果使用虚拟模式,不添加到此处依然无法登录,当然也可以使用很多其他用户)

123456

#保存退出

生成虚拟用户数据文件

db_load -T -t hash -f/etc/vsftpd/vuser_passwd

/etc/vsftpd/vuser_passwd.db

chmod 600 /etc/vsftpd/vuser_passwd.db

3.创建用户配置

mkdir /etc/vsftpd/vuser_conf

#建立虚拟用户个人vsftp的配置文件,

cd/etc/vsftpd/vuser_conf

#进入目录

touch test2  ftpuser

#这里创建两个虚拟用户配置文件,如果不创建,用户登录则会使用全局配置,直接进入到宿主用户的根目录。并且使用配置1中的配置权限。

每一个文件配置文件都差不多,请根据用户的具体权限设置。

local_root=/var/ftp/test2#任选项 用户配置目录,这个地方不一样

切记:要对这个文件夹地址配置可以访问的权限才可以登录成功

write_enable=YES#任选项

允许本地用户对FTP服务器文件具有写权限,可以设置本地用户的上传权限,默认是有的

anon_upload_enable=YES#任选项,是否允许匿名用户上传文件。只有在write_enable设置为YES时,该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为NO

anon_mkdir_write_enable=YES#任选项,是否允许匿名用户创建目录。只有在write_enable设置为YES时有效。且匿名用户对上层目录有写入的权限。默认为NO

anon_other_write_enable=YES#任选项,若设置为YES,则匿名用户会被允许拥有多于上传和建立目录的权限,还会拥有删除和更名权限。默认值为NO。

download_enable=YES#任选项,设置下载权限,看情况啦,不需要用户下载可以不添加,需要的话请设置为YES

4.修改文件夹权限,因为现在是root创建的

chmod -R 777

/var/ftp/test2

5.修改服务使用的用户文件

vim/etc/pam.d/vsftpd

选择使用刚才生成的db文件

#%PAM-1.0

session

optional

pam_keyinit.so

force revoke

#auth

required

pam_listfile.so item=user sense=denyfile=/etc/vsftpd/ftpusers

onerr=succeed

#auth

required

pam_shells.so

#auth

include

password-auth

#account

include

password-auth

auth required pam_userdb.so

db=/etc/vsftpd/vuser_passwd

account required pam_userdb.so

db=/etc/vsftpd/vuser_passwd

session

required

pam_loginuid.so

session

include     password-auth

6.测试啦啦啦

同上

安装遇到的问题:

1.配置虚拟用户时各种不能登录到我设置的目录下,登录提示chroot失败,我发现配置也是对的,为啥呢

各种实验之后:发现我拷贝的别人的参数过去,不知道有啥编码问题等等等,最后手动打上去就好了,唉

2.不能上传下载:一定要对设置的local_root改变文件夹权限,因为当前使用root创建的

以下是安装过程时的参考文档,小白一枚

http://www.jb51.net/article/103904.htm

http://blog.csdn.net/lhq9220/article/details/6544755

http://www.cnblogs.com/jefflee168/p/6575014.html

linux ftp 记录,linux FTP vsftpd相关推荐

  1. linux 键盘记录,Linux键盘记录sh2log keylogger notes

    make linux make freebsd make openbsd make cygwin make sunos make irix make hpux make aix make osf 如下 ...

  2. uptime linux,Uptimed: 记录 Linux 系统的 uptime

    Uptimed 堪称 uptime 命令的守护程序版本,利用它你可以将 Linux 系统每次的 uptime 记录起来,并根据时间长短进行排名. 以下为在我的 Funtoo 上安装 Uptimed 后 ...

  3. linux性能记录,Linux性能记录

    说到一台Linux服务器的性能,大部分人关注的指标如下:CPU利用率,CPU LOAD,内存利用率,磁盘I/O等待率,网络带宽使用率.Jmeter作为性能测试的强大工具,在其插件JMeterPlugi ...

  4. dev sda2 linux lvm,记录linux LVM 扩容硬盘空间的记录

    你看到的这个文章来自于http://www.cnblogs.com/ayanmw 从2008年学linux的时候就知道有LVM这个东西,那个时候还是ext3文件系统,LVM逻辑卷管理,可以动态管理磁盘 ...

  5. 安装ftp连接linux服务器配置,Linux下FTP安装及配置(VSFTPD服务器安装配置、FTP客户端安装配置)...

    安装说明 安装环境:CentOS-6.3 安装方式:yum安装.rpm源码安装 软件:ftp-0.17-51.1.el6.x86_64.rpm 下载地址:http://pan.baidu.com/s/ ...

  6. linux有哪些好用的ftp服务器?(vsftpd、ProFTPd、Pure-FTPd、FileZilla Server、CrushFTP)(WebDAV)

    文章目录 linux下常见ftp服务器 vsftpd (Very Secure FTP Daemon) ProFTPd Pure-FTPd FileZilla Server CrushFTP 对上述一 ...

  7. linux 设置ftp自启,CentOS vsftpd设置安装自启动配置

    CentOS vsftpd是常用系统,于是我学习研究了CentOS vsftpd,在这里对大家详细介绍下CentOS vsftpd系统应用,希望对大家有用.本地用户经过设置后可以进行ftp访问. 而匿 ...

  8. linux 环境下配置ftp服务器

      之前写了 linux 环境下安装和配置mysql数据库以及远程登录,以及linux 环境下配置python虚拟环境,这一篇记录一下 linux系统中如何安装配置 ftp .    安装ftp // ...

  9. linux系统如何启用ftp服务

    在linux操作系统中,ftp功能是最常用的服务之一,平常写代码都是在windows下完成再通过ftp传到linux下.由此ftp服务必不可少. 但在刚安装的linux操作系统中,ftp服务一般是不启 ...

最新文章

  1. Python入门100题 | 第039题
  2. 【天池赛事】零基础入门语义分割-地表建筑物识别
  3. 使用内部(com.android.internal)和隐藏(@hide)API[第4部分,定制ADT]
  4. python123第三周测验答案_python123 测验3: 基本数据类型 (第3周)
  5. 目前微型计算机中常用的鼠标器有什么两类,2009年计算机一级考试真题及答案...
  6. 2020年10月Oracle安全补丁:四个远程无凭证漏洞 两个内核级别漏洞需关注
  7. 华为P50系列再曝“坏消息”:疑似再度延期至7月份
  8. TF ckpt转pb脚本
  9. 虚化照片怎么弄?这几种方法很简单
  10. 蓝色理想的flex教材不能在flex Development做不能使用,我整理一下供初学者参考
  11. SQL优化:使用distribute by 防止数据倾斜
  12. 关于canvas的学习心得(三)(计算错误)
  13. 统计英文中单词的个数
  14. 正则表达式验证生日手机号信息
  15. [渝粤教育] 西南科技大学 律师实务 在线考试复习资料2021版(1)
  16. 比JMeter还轻量的压力测试工具是谁?Siege
  17. 2021年2月22日 星期一 农历八九 晴
  18. 电子表格转web程序控件SpreadsheetWeb v6.0史上最大版本发布 | 附下载
  19. 使用nid工具修改db_name和DBID
  20. 读书笔记—《销售铁军》随记2

热门文章

  1. 22张深度学习精炼图笔记总结
  2. 调整Windows操作系统下时间同步的频率
  3. 一起学微软Power BI系列-使用技巧(3)Power BI安卓手机版安装与体验
  4. SFB 项目经验-09-用Lync 2013或Skype for Business 2015抢火车票
  5. 通过windows系统封杀IP与端口
  6. java.lang.RuntimeException: Expected one of local, maven-local, maven-central, scala-tools-releases,
  7. golang适合做什么_这年头中年女人适合做什么兼职
  8. bert pytorch源码_【PyTorch】梯度爆炸、loss在反向传播变为nan
  9. 建议收藏,清华高材生准备的90条Python程序建议
  10. 继python(银行转账)简单Model修改版(二)