FTP是File Transfer Protocol的缩写,它是Internet上最常用的文件传输协议之一。与HTTP/HTTPS(Web)协议不同的是,FTP主要用于将文件从一个计算机传输到另一个计算机。Linux操作系统已内置FTP工具,并可以通过简单的配置来实现文件传输。
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、鄂尔多斯网络推广、微信小程序开发、鄂尔多斯网络营销、鄂尔多斯企业策划、鄂尔多斯品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供鄂尔多斯建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
本文将介绍,以便向其他计算机传输文件。
之一步:安装FTP服务器
在Ubuntu系统中,可以通过apt-get命令来安装FTP服务器。在终端中输入以下命令:
sudo apt-get update
sudo apt-get install vsftpd
在CentOS系统中,则可以使用yum命令安装FTP服务器。在终端中输入以下命令:
sudo yum install vsftpd
安装完成后,我们需要修改FTP服务器的配置文件以实现文件传输。
第二步:修改FTP服务器配置文件
FTP服务器的配置文件通常位于/etc/vsftpd.conf或/etc/vsftpd/vsftpd.conf,不同Linux系统的位置会有所不同。
在Ubuntu系统中,我们可以使用以下命令将vsftpd.conf文件备份:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
然后,我们可以使用vi或nano等文本编辑器来修改vsftpd.conf文件:
sudo vi /etc/vsftpd.conf
在文件中找到以下行:
anonymous_enable=YES
将“YES”改为“NO”:
anonymous_enable=NO
这是为了禁用匿名登录,使FTP服务器更加安全。
接下来,取消注释以下行:
#write_enable=YES
将其改为:
write_enable=YES
这是为了允许用户在FTP中上传文件。
在文件的末尾添加以下行:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
然后,使用以下命令创建用户列表文件:
sudo touch /etc/vsftpd.userlist
然后,我们将FTP用户添加到用户列表中。使用以下命令打开用户列表文件:
sudo vi /etc/vsftpd.userlist
在文件中添加FTP用户的用户名,每行一个用户名。保存并关闭文件。
第三步:重启FTP服务器
完成上述配置后,我们需要重启FTP服务器以使更改生效。在终端中输入以下命令:
sudo systemctl restart vsftpd
现在,我们已经成功配置了FTP服务器,并可以使用FTP客户端进行文件传输。
第四步:使用FTP客户端进行文件传输
可以使用Windows操作系统自带的File Explorer或Mac操作系统自带的Finder来访问FTP服务器。在FTP客户端中,我们需要输入FTP服务器的IP地址、端口号、用户名和密码等信息。
例如,假设FTP服务器的IP地址为192.168.0.100,端口号为21,用户名为ftpuser,密码为ftppassword。在Windows中,我们可以打开File Explorer,然后在地址栏中输入:
ftp://ftpuser:ftppassword@192.168.0.100:21
在Mac中,我们可以打开Finder,然后菜单中选择“前往”>“连接服务器”,然后输入FTP服务器的地址等信息。
现在,我们可以在FTP客户端上进行文件传输了。如果一切正常,您将能够上传和下载文件。
结论
在Linux上进行FTP配置并不难。通过简单的配置,我们可以快速搭建一个安全、高效的FTP服务器,并在FTP客户端上进行文件传输。这对于需要频繁传输文件的用户或企业来说是非常有用的。
相关问题拓展阅读:
一. FTP 说明
linux 系统下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 还有一个是proftp(Profession ftp)。 我们这里也是简单的说明下vsftp的配置。升孝
vsftp提供3种远程的登录方式:
(1)匿名登录方式
就是不需要用户名,密码。就能登录到服务器电脑里面
(2)本地用户方式
需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统里面,已经有的用户。
(3)虚拟用户方式
同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)
二. Vsftp的安装配置
2.1 安装
vsftp 的安装包,可以在安装里找到。 用yum 安装过程也很简单。
安装命令:yum install vsftpd
2.2. 相关命令
2.2.1 启动与关闭
# service vsftpd start
Starting vsftpd for vsftpd:
# service vsftpd stop
Shutting down vsftpd:
# service vsftpd restart
Shutting down vsftpd:
Starting vsftpd for vsftpd:
# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd:
# /etc/init.d/vsftpd stop
Shutting down vsftpd:
# /etc/init.d/vsftpd restart
Shutting down vsftpd:
Starting vsftpd for vsftpd:
# /etc/init.d/vsftpd status
vsftpd (pid 3931) is running…
#
2.2.2. 其他命令
–查看vsftpd 启动状态
# chkconfig –list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig vsftpd on
# chkconfig –list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
这里看到,默认情况下从2到5设置为on了。2到5是多用户级别。 这个对应的是linux不同的运行级别。
我们也可以加level 选项来指定:
# chkconfig –level 0 vsftpd on
# chkconfig –list vsftpd
vsftpd 0:on 1:off 2:on 3:on 4:on 5:on 6:off
我们看到御悉0已经设置为on了。
我们可以使用man chkconfig 来查看帮助:
–level levels
Specifies the run levels an operation should pertain to. It is given as a string of numbers from 0 to 7. For example, –level 35 specifies runlevels 3 and 5.
传统的init 定义了7个运行级(run level),每一个级别都代表系统应该补充运行的某些特定服务:
(1)0级是完全关闭系统的级别
(2)1级或者S级代表单用户模式
(3)2-5 级 是多用户级别
(4)6级 是 重新引导的级别
(1)查看防火墙
我一般都是把系统的防火墙关闭了。 因为开了会有很多限制吵拆稿。
# /etc/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all.168.122.0/24 !192.168.122.0/24
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT udp — 0.0.0.0/0 0.0.0.0/0 udp dpt:53
2 ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
3 ACCEPT udp — 0.0.0.0/0 0.0.0.0/0 udp dpt:67
4 ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all — 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
2 ACCEPT all.168.122.0/24 0.0.0.0/0
3 ACCEPT all — 0.0.0.0/0 0.0.0.0/0
4 REJECT all — 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
5 REJECT all — 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
You have new mail in /var/spool/mail/root
–添加开放21号端口:
# /in/iptables -I INPUT -p tcp –dport 21 -j ACCEPT
# /etc/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all.168.122.0/24 !192.168.122.0/24
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
2 ACCEPT udp — 0.0.0.0/0 0.0.0.0/0 udp dpt:53
3 ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
4 ACCEPT udp — 0.0.0.0/0 0.0.0.0/0 udp dpt:67
5 ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all — 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
2 ACCEPT all.168.122.0/24 0.0.0.0/0
3 ACCEPT all — 0.0.0.0/0 0.0.0.0/0
4 REJECT all — 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
5 REJECT all — 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
–保存配置
# /etc/rc.d/init.d/iptables save
Saving firewall rules to /etc/sysconfig/iptables:
–重启防火墙:
# service iptables {start|stop|restart}
(2)查看关闭selinux
# sestatus
SELinux status: disabled
我这里在安装操作系统的时候就关闭了selinux,如果没有关闭,可以修改如下文件来关闭:
# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted – Only targeted network daemons are protected.
# strict – Full SELinux protection.
SELINUXTYPE=targeted
#
保存退出并重启系统reboot
三. FTP配置文件
FTP 安装好之后,在/etc/vsftpd/目录下会有如下文件:
# cd /etc/vsftpd/
# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
#
vsftpd.conf: 主配置文件
ftpusers: 指定哪些用户不能访问FTP服务器
user_list: 指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。
# cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
我们过滤掉#的注释后,查看一下vsftpd.conf 文件:
# cat /etc/vsftpd/vsftpd.conf |grep -v ‘^#’;
anonymous_enable=YES
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=YES
pam_service_name=vsftpd
userlist_enable=yes
tcp_wrappers=YES
至于这些参数的意思,在注释里有详细的说明。
我们可以在vsftpd.conf 文件设置如下参数:
(1)ftpd_banner=welcome to ftp service :设置连接服务器后的欢迎信息
(2)idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
(3)data_connection_timeout=120 :设置客户机在进行数据传输时,设置空闲的数据中断时间
(4)accept_timeout=60 设置在多长时间后自动建立连接
(5)connect_timeout=60 设置数据连接的更大激活时间,多长时间断开,为别人所使用;
(6)max_clients=200 指明服务器总的客户并发连接数为200
(7)max_per_ip=3 指明每个客户机的更大连接数为3
(8)local_max_rate=50000(50kbytes/sec) 本地用户更大传输速率限制
(9)anon_max_rate=30000匿名用户的更大传输速率限制
(10)pasv_min_port=端口
(11)pasv-max-prot=端口号 定义更大与最小端口,为0表示任意端口;为客户端连接指明端口;
(12)listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
(13)listen_port=端口号 设置FTP工作的端口号,默认的为21
(14)chroot_local_user=YES 设置所有的本地用户可以chroot
(15)chroot_local_user=NO 设置指定用户能够chroot
(16)chroot_list_enable=YES
(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用户才能执行 )
(18)local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
(19)chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;
(20)chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;
(21)userlist_enable=YES/NO 是否加载用户列表文件;
(22)userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;
(23)userlist_file=/etc/vsftpd/user_list 列表文件
限制IP 访问FTP:
#vi /etc/hosts.allow
vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务
FTP 访问时间限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
#vi /etc/xinetd.d/vsftpd/
修改 disable = no
access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)
例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp
ftp的配置基本上只有这些了。
默认情况下,ftp根目录是/var/ftp。 如果要修改这个目录位置,可以更改/etc/passwd 文件:
# cat /etc/passwd | grep ftp
ftp:x:14:50:FTP User:/var/ftp:/in/nologin
创建一个用户来访问FTP,并指定该用户的FTP 目录:
# useradd -d /u02/qsftp qs
# passwd qs
Changing password for user qs.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
这里指定的是/u02/qsftp 这个目录,要注意个目录的权限。
更改用户不能telnet,只能ftp:
usermod -s /in/nologin username //用户只能ftp,不能telnet
usermod -s /in/bash username //用户恢复正常
禁止用户ssh登陆
useradd username -s /bin/false
更改用户主目录:
usermod -d /bbb username //把用户的主目录定为/bbb
然后用qs这个用户就可以访问了。
它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征:
非常高的安全性需求
带宽限制
良好的可伸缩性
创建虚拟用户的可能性
分配虚拟IP地址的可能性
一、vsftpd的启动
#service vsftpd start
如果允许用户匿名访问,需创建用户ftp和目录/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp
二、vsftpd的配置
Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我并渗们可根据实际数要对如下信息进行配置:
1. 连接选项
监听地址和控制端口
(1) listen_address=ip address
定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。
(2) listen_port=port_value
指定FTP服务器监听的端口号。默认值为21。
2. 性能与负载控制
超时选项
(1) idle_session_timeout=
空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s
(2) accept_timeout=numerical value
接受建立联机的超时设定。默认值为60s
负载选项
(1) max_clients= numerical value
定义FTP服务器更大的兵法绝笑脊连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限更大连接数。
(2) max_per_ip= numerical value
定义每个IP地址更大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。
(3) anon_max_rate=value
设定匿名用户的更大数据传输速度,以B/s为单位。默认无。
(4) local_max_rate=value
设定用户的更大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。
3. 用户选项
vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest)
匿名用户
(1) anonymous_enable=YES|NO
控制是否允许匿名用户登录
(2) ftp_username=
匿名用户使用的系统用户名。默认情况下,值为ftp
(3) no_anon_password= YES|NO
控制匿名用户登录时是否需要密码。
(4) anon_root=
设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/
(5) anon_world_readable_only= YES|NO
控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。
(6) anon_upload_enable= YES|NO
控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权升游限。
(7) anon_mkdir_wirte_enable= YES|NO
控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。
(8) anon_other_write_enbale= YES|NO
控制匿名用户是否拥有除了上传和新建目录之外的`其他权限。如删除、更名等。
(9) chown_uploads= YES|NO
是否修改匿名用户所上传文件的所有权。YES,匿名用户上传得文件所有权改为另一个不同的用户所有,用户由chown_username参数指定。
(10) chown_username=whoever
指定拥有匿名用户上传文件所有权的用户。
本地用户
(1) local_enable= YES|NO
控制vsftpd所在的系统的用户是否可以登录vsftpd。
(2) local_root=
定义本地用户的根目录。当本地用户登录时,将被更换到此目录下。
虚拟用户
(1) guest_enable= YES|NO
启动此功能将所有匿名登入者都视为guest
(2) guest_username=
定义vsftpd的guest用户在系统中的用户名。
4. 安全措施
用户登录控制
(1) /etc/vsftpd.ftpusers
Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。
(2) userlist_enable= YES|NO
此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。
(3) userlist_file=/etc/vsftpd.user_list
指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list
(4) userlist_deny= YES|NO
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。userlist_enable选项启动后才能生效。默认值为YES,禁止文中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许在文中的用户登录FTP服务器。
目录访问控制
(1) chroot_list_enable= YES|NO
锁定某些用户在自己的目录中,而不可以转到系统的其他目录。
(2) chroot_list_file=/etc/vsftpd/chroot_list
指定被锁定在主目录的用户的列表文件。
(3) chroot_local_users= YES|NO
将本地用户锁定在主目中。
ftp配置linux的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于ftp配置linux,如何在Linux上进行FTP配置,linux怎么配置ftp服务器,Linux下配置FTP服务器的信息别忘了在本站进行查找喔。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
网页题目:如何在Linux上进行FTP配置(ftp配置linux)
标题来源:http://www.shufengxianlan.com/qtweb/news6/275356.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联