FTP(FileTransferProtocol,文件传输合同)

一种用于在计算机网路中传输文件的标准合同。它容许用户通过顾客端程序与远程服务器进行文件交换,支持文件的上传、下载、删除、重命名等操作。FTP服务常用于将网站文件上传到服务器linux 创建ftp用户,或则在公司内部网路中共享大文件。

FTP工作原理

FTP基于顾客端-服务器模型,工作时使用两个独立的联接:控制联接和数据联接。

控制联接(CommandChannel):数据联接(DataChannel):

FTP的工作模式

主动模式(PORT模式):被动模式(PASV模式):

FTP的主要特征

单向传输:命令和响应合同:支持匿名访问:支持大文件传输:安全性问题:

FTP命令和响应

一些常用的FTP命令包括:

FTP响应是三位数字代码,表示操作的结果,比如:

FTP顾客端

常见的FTP顾客端程序包括:

FileZilla:开源的FTP顾客端,支持FTP、FTPS和SFTP。WinSCP:Windows平台的FTP顾客端,支持多种合同。Cyberduck:支持FTP、SFTP、WebDAV等合同的跨平台顾客端。

安全性与FTP的扩充

为了提升FTP的安全性,不仅FTPS和SFTP外,还有其他一些提高安全性的合同和扩充:

FTPS:FTPSecure,基于SSL/TLS加密传输。SFTP:SSHFileTransferProtocol,基于SSH合同加密传输,一般与SSH一齐使用。FTPoverTLS/SSL:TLS(传输层安全合同)和SSL(安全套接字层)提供了加密的通道,保护FTP数据免受监听。

/etc/serveice下记录了所有端口服务信息

linux 创建ftp用户_linux 创建ftp用户_创建用户linux命令

第一部份:基础五步

1,挂载光碟,并写镜像源便捷装包

Linux编撰本地库房

2,找寻我们须要的软件

yumsearchftp

3,安装软件包

yuminstall-yvsftpd

linux 创建ftp用户_创建用户linux命令_linux 创建ftp用户

4,关掉selinux

vim/etc/selinux/config

linux 创建ftp用户_linux 创建ftp用户_创建用户linux命令

linux 创建ftp用户_linux 创建ftp用户_创建用户linux命令

修改配置文件以后再重启centOS-7,再查看setenforce0

5,关掉防火墙systemctlstopfirewalld.service

实验一,匿名传输

6,查询配置文件路径rpm-qcvstfpd

linux 创建ftp用户_创建用户linux命令_linux 创建ftp用户

7,更改配置文件vim/etc/vsftpd/vsftpd.conf

linux 创建ftp用户_linux 创建ftp用户_创建用户linux命令

分别更改12/16/19/23/29/33/37行为YES

8,之后再重启FTP服务systemctlrestartvsftpd

9,通过windows主机访问ftp服务器验证实验疗效

发觉只有有限权限,难以新建文件夹或目录

这是由于linux中这个目录本身权限的问题

匿名访问的Windows用户相对于Linux是其他人other,只有读和执行权限r-x。这么就须要使用更安全的方式在linux前面给目录加权限

chmodo+w/var/ftp/pub

这个时侯windows就可以新建目录和文件了

实验二,本地用户访问

6-8步骤同实验一

9,创建用户并设置密码

useradduser1

useradduser2

echo123456|passwd--stdinuser1

echo123456|passwd--stdinuser2

linux 创建ftp用户_创建用户linux命令_linux 创建ftp用户

查看创建用户密码疗效

tail-2/etc/passwd

linux 创建ftp用户_创建用户linux命令_linux 创建ftp用户

tail-2/etc/shadow

linux 创建ftp用户_创建用户linux命令_linux 创建ftp用户

10,在克隆的centOS7验证实验疗效(6-8步骤早已开启了容许匿名与本地用户访问)

实验三,严禁user1登陆ftp服务器

1,步入vsftpd的配置文件路径cd/etc/vsftpd/

其中ftpuser一般是一个专门为FTP访问创建的用户帐号。那些用户一般用于管理和配置FTP服务器上的文件访问权限。ftpuser的具体功能和角色可能会依照不同的FTP服务器软件(如vsftpd、ProFTPD、Pure-FTPd等)以及系统配置而有所不同。

2,之后设置user1不容许登陆,即在ftpusers文件上面写入不容许登入的用户

linux 创建ftp用户_linux 创建ftp用户_创建用户linux命令

添加user1linux软件下载,表示user1不容许登陆ftp服务器

3,之后验证user1是否还能否登陆

发觉早已user1不能否登陆

实验四,准许,严禁用户访问

1、进入vsftpd的配置文件路径

cd/etc/vsftpd/

ls

2、修改配置文件不容许user2登陆vimuser_list

linux 创建ftp用户_linux 创建ftp用户_创建用户linux命令

3,验证实验疗效

4,见第2步的截图,可以通过更改配置文件/etc/vsftpd/vsftpd.conf调整容许user2登陆

vim/etc/vsftpd/vsftpd.conf

userlist_deny=NO#最后一行添加内容

创建用户linux命令_linux 创建ftp用户_linux 创建ftp用户

5,重启服务systemctlrestartvsftpd

6,在192.168.23.142验证实验疗效

实验五,查找配置文件的帮助指南

1、还原实验三(将配置文件中的userlist_deny=NO删掉或则注释)

linux 创建ftp用户_linux 创建ftp用户_创建用户linux命令

linux 创建ftp用户_linux 创建ftp用户_创建用户linux命令

2、查找帮助manvsftpd.conf

/EX

n—-按n跳转

max_per_ip

创建用户linux命令_linux 创建ftp用户_linux 创建ftp用户

3、修改主配置文件vim/etc/vsftpd/vsftpd.conf

max_per_ip=1#最后一行添加

linux 创建ftp用户_创建用户linux命令_linux 创建ftp用户

4、因为对主配置文件进行了更改,所以须要重启服务systemctlrestartvsftpd

5、通过windows的command验证实验疗效

第一次ftp登陆成功ftp192.168.23.157

第二次ftp登陆失败

实验六,设置vsftp的虚拟帐户

1,给虚拟用户创建用户数据库

mkdir/vftp

db_load:

db_load是BerkeleyDB的一个命令行工具,拿来将数据从文本文件加载到BerkeleyDB数据库中。

-T:

这个选项指定使用事务模式。在BerkeleyDB中,事务模式可以确保在对数据库进行读写时,数据的一致性和完整性得以维护。事务模式容许你在发生错误时回滚所有的修改。

-thash:

-t选项指定数据库的类型为哈希数据库。哈希数据库是基于哈希表实现的,常用于须要快速通配符查找的场景。

若果不指定-t,默认使用B+树类型的数据库,但使用-thash时,会显式告诉BerkeleyDB使用哈希表作为数据储存结构。

-f/vftp/vuser.txt:

-f选项指定输入文件,也就是数据源文件。/vftp/vuser.txt是一个包含要加载到数据库的数据的文件。

该文件通常是文本格式,一般每行表示一个键名对,适宜导出哈希数据库。

/vftp/vuser.db:

这是目标数据库文件,即数据将会被加载到这个文件中。假如这个文件不存在,db_load会创建一个新的数据库文件。

假如目标数据库早已存在,则会依照选项决定是覆盖还是合并数据linux 创建ftp用户,一般须要确保文件权限正确。

注意事项:

输入文件/vftp/vuser.txt必须依照特定的格式组织,例如每行包含一个键名对,适用于哈希表的储存结构。假如/vftp/vuser.db早已存在,加载数据时要确保没有冲突或覆盖错误

创建用户linux命令_linux 创建ftp用户_linux 创建ftp用户

vim/vftp/vuser.txt

admin1

123456

admin2

123456

linux 创建ftp用户_创建用户linux命令_linux 创建ftp用户

2,储存用户的txt文件生成数据库

db_load-T-thash-f/vftp/vuser.txt/vftp/vuser.db

ls/vftp

3,在真实业务环境下,须要更改数据库文件达到合适的权限

chmod700/vftp/vuser.db

ls-ld/vftp/vuser.db

4,更改PAM文件

vim/etc/pam.d/vsftpd

须要把原文件默认配置全部注释掉,添加相应数组

authrequiredpam_userdb.sodb=/vftp/vuser#做虚拟认证

accountrequiredpam_userdb.sodb=/vftp/vuser#做虚拟帐户的认证

#认证恳求pam数据库数据库文件

linux 创建ftp用户_linux 创建ftp用户_创建用户linux命令

批量注释:

1,跳转到批量注释的行

2,按住ctrl+v步入可视化块模式

3,按上下方向键选中要注释的行

4,按I在行首输入

5,按#注释

6,按两次esc

5redhat linux 下载,创建用户(给虚拟用户做映射)

useradd-d/var/ftp/vuservuser

chownvuser.vuser/var/ftp/vuser

chmod555/var/ftp/vuser

创建用户linux命令_linux 创建ftp用户_linux 创建ftp用户

ls-ld/var/ftp/vuser

linux 创建ftp用户_创建用户linux命令_linux 创建ftp用户

6、创建文件和目录(为了测试)

mkdir/var/ftp/vuser/dir1

touch/var/ftp/vuser/file1

ls/var/ftp/vuser

linux 创建ftp用户_创建用户linux命令_linux 创建ftp用户

7、修改配置文件vim/etc/vsftpd/vsftpd.conf

12#anonymous_enable=YES#关掉匿名访问

13anonymous_enable=NO

30anon_upload_enable=NO#关掉匿名上传

31#anon_upload_enable=YES

35anon_mkdir_write_enable=NO#关掉匿名创建目录

36#anon_mkdir_write_enable=YES

17local_enable=YES#开启本地用户登入

104chroot_local_user=YES#囚禁用户只能在自己的家目录中

105#chroot_local_user=YES

106allow_writeable_chroot=YES#添加,容许用户在自己家目录中可写

134guest_enable=YES#添加,开启虚拟用户登入

135guest_username=vuser#添加,指定虚拟用户名

136pam_service_name=vsftpd#指定pam的服务名

120listen=YES#容许侦听ipv4

121#listen=NO

130listen_ipv6=NO#不容许侦听ipv6

131#listen_ipv6=YES

8、重启服务systemctlrestartvsftpd

9,验证配置疗效

ftp192.168.23.157

ls#列举刚创下来的文件

cd/etc/#由于配置文件中设置囚禁在自己的家目录中

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复