访问tftp
1、可以在浏览器中输入FTP地址并访问;
2、检查FTP服务是否已打开:打开控制面板——程序;
3、点击“打开或关闭Windows功能”;
4、找到“Internet信息服务”里的“FTP服务器”,并勾选“FTP服务”和“FTP扩展性”;
5、找到“TFTP客户端”,并勾选
6、更改Internet属性:打开“Internet选项”,在选择“高级”选项卡,取消勾选“使用被动FTP(用于防火墙和DSL调制解调器的兼容)”并点击确定;
7、检查IE浏览器是否处于“脱机”状态,打开“Internet选项”,选择“连接”选项卡,打开“设置”;
8、勾选“自动检测设置”并点击确定;
9、点击打开“局域网设置”;
10、勾选其中的“自动检测设置”,并点击确定;
11、在控制面板中进入系统和安全,然后点击Windows防火墙下方的“允许程序通过Windows防火墙”;
12、在列表中确认“Windows 资源管理器”右侧的两个勾选,如果没有勾选则点击上方的“更改设置”。
② WIN10 资源管理器访问FTP打开文件却跳转至360浏览器
原文链接:https://..com/question/549827901.html
我也遇盯蔽者到一样的问题,参考很多网页,最并闹好终于解决了,我不能保证一定解决你的问题,我把我的操作步骤写下,希望能够帮你解决问题。
控制面板---程序--打开或关闭Windows功能:要确保Internet信息服务完全没有勾选,TFTP客户端必须勾选。重启电脑。(这个步骤我做完之后,我的台式机仍然无法用资源管理器访问,但是我的笔记本成功了,说明有效果)
希望能够帮你解决问题。
③ 怎么通过linux访问服务器上的ftp
这个直接推荐你看看这里:http://www.linuxprobe.com/chapter-11.html
文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传、下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件传输则需要FTP服务端和FTP客户端的配合才行。
通常用户使用FTP客户端软件向FTP服务器发起连接并发送FTP指令,服务器收到用户指令后将执行结果返回客户端。
FTP协议占用两个端口号:
21端口:命令控制,用于接收客户端执行的FTP命令。
20端口:数据传输,用于上传、下载文件数据。
FTP数据传输的类型:
主动模式:FTP服务端主动向FTP客户端发起连接请求。
被动模式:FTP服务端等待FTP客户端的连接请求。
11.2 安装vsftpd服务程序
Vsftpd即“Very Secure FTP Daemon”是一款运行在类Unix操作系统的FTP服务端程序,Vsftpd主打的是安全性、完全开源及免费、速率高、支持IPv6、虚拟用户功能等等其他FTP服务端软件不具备的功能。
安装vsftpd服务程序包:
[root@linuxprobe ~]# yum install vsftpd -y
Loaded plugins: langpacks, proct-id, subscription-manager
…………………省略部分安装过程………………
---> Package vsftpd.x86_64 0:3.0.2-9.el7 will be installed
--> Finished Dependency Resolution
…………………省略部分安装过程…………………
Installed:
vsftpd.x86_64 0:3.0.2-9.el7
Complete!
清空默认的防火墙默认规则:
[root@linuxprobe ~]# iptables -F
保存清空后的防火墙规则表:
[root@linuxprobe ~]# service iptables save
Vsftpd的程序与配置文件:
主程序 /usr/sbin/vsftpd
用户禁止登陆列表 /etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主配置文件 /etc/vsftpd/vsftpd.conf
先来分析下vsftpd程序的主配置文件吧:
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
主配置文件长达123行,但大部分是以#号开始的,这些都是注释信息,我们可以过滤掉它们。
备份vsftpd的主配置文件:
[root@linuxprobe ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
过滤掉所有包含#号的行,并将过滤结果写回到vsftpd.conf文件中:
[root@linuxprobe ~]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
此时再分析下vsftpd程序的主配置文件吧:
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
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=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
vsftpd程序配置文件参数的作用:
参数 作用
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为不限制。
11.3 Vsftpd的验证方式
vsftpd程序提供的FTP服务可选认证方式,分别为匿名访问、本地用户和虚拟用户:
匿名访问:任何人无需验证口令即可登入FTP服务端。
本地用户:使用FTP服务器中的用户、密码信息。
虚拟用户:创建独立的FTP帐号资料。
顾名思义匿名访问就是所有人均可随意登入FTP服务,这样自然会产生安全问题,一般用于存放公开的数据。
而本地用户与虚拟用户则需要用户提供帐号及口令后才能登入FTP服务,更加的安全,而虚拟用户则是最安全的。
下面的实验环节将使用两台红帽RHEL7系统的主机,读者需要提前配置网卡的IP地址等信息:
主机名称 操作系统 IP地址
FTP服务端 红帽RHEL7操作系统 192.168.10.10
FTP客户端 红帽RHEL7操作系统 192.168.10.20
11.3.1 匿名访问模式
FTP匿名访问模式是比较不安全的服务模式,尤其在真实的工作环境中千万不要存放敏感的数据,以免泄露。
vsftpd程序默认已经允许匿名访问模式,我们要做的就是开启匿名用户的上传和写入权限,写入下面的参数:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
参数 作用
anonymous_enable=YES 允许匿名访问模式。
anon_umask=022 匿名用户上传文件的umask值。
anon_upload_enable=YES 允许匿名用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户创建目录
anon_other_write_enable=YES 允许匿名用户修改目录名或删除目录
确认填写正确后保存并退出vsftpd.conf文件,然后重启vsftpd服务程序并设置为开机自启动。
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
因为在红帽RHCSA、RHCE或RHCA考试后都要重启您的实验机再执行判分脚本。
所以请读者在日常工作中也要记得将需要的服务加入到开机启动项中:"systemctl enable vsftpd"。
如果重启vsftpd服务程序时没有报错,此时便可以使用FTP客户机(192.168.10.20)尝试登入FTP服务了。
ftp命令用于使用FTP服务,格式为:“ftp [参数] [FTP主机]”。
红帽RHEL7系统中ftp命令默认没有安装,请执行"yum install ftp -y"即可安装完毕。
在客户端尝试登入FTP服务:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:敲击回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Permission denied.
上面操作中已经将防火墙规则清空,在vsftpd.conf文件中也已经允许匿名用户创建目录与写入权限,那怎么会被拒绝了呢?
这里建议读者先不要往下看,思考后用自己的方法解决下这个问题,长期这样你的Linux的排错能力一定会练出来的。
回想前面的参数细节,匿名访问模式的FTP根目录为/var/ftp:
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 root root 16 Jul 13 14:38 /var/ftp/pub
原来匿名用户的FTP根目录所有者/组都是root,所以匿名用户没有写入权限,那我们将所有者修改为ftp试试吧。
[root@linuxprobe ~]# chown ftp /var/ftp/pub
此时再用ftp命令尝试登入FTP服务并创建文件:
ftp> mkdir files
550 Create directory operation failed.
可恶!又报错了!!虽然这次报错代码还是550,但前面提示权限拒绝,这次是操作失败,马上想到是SELinux服务在捣鬼。
查看所有与ftp相关的SELinux规则:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
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 --> off
设置SELinux服务对ftp服务的访问规则策略为允许。
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on
此时再来创建文件或目录就没有问题了:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:敲击回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
257 "/pub/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.
请注意:当您完成本实验后请还原虚拟机快照再进行下一个实验,否则可能导致配置文件冲突而报错。
11.3.2 本地用户模式
既然要使用本地用户模式,而本地用户模式确实要比匿名访问模式更加的安全,所以本实验中会关闭匿名访问模式。
vsftpd服务程序默认已经允许本地用户模式,我们要做的是添加设置本地用户模式权限的参数:
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
参数 作用
anonymous_enable=NO 禁止匿名访问模式。
local_enable=YES 允许本地用户模式。
write_enable=YES 设置可写入权限。
local_umask=022 本地用户模式创建文件的umask值。
userlist_deny=YES 参数值为YES即禁止名单中的用户,参数值为NO则代表仅允许名单中的用户。
userlist_enable=YES 允许“禁止登陆名单”,名单文件为ftpusers与user_list。
确认填写正确后保存并退出vsftpd.conf文件,然后重启vsftpd服务程序并设置为开机自启动。
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
因为在红帽RHCSA、RHCE或RHCA考试后都要重启您的实验机再执行判分脚本。
所以请读者在日常工作中也要记得将需要的服务加入到开机启动项中:”systemctl enable vsftpd“。
如果重启vsftpd服务程序时没有报错,此时便可以使用FTP客户机(192.168.10.20)尝试登入FTP服务了~
我们先来看下ftpusers或user_list文件中禁止登陆用户名单:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
vsftpd服务为了让FTP服务更加的安全,默认禁止以root身份登入,那么创建个普通用户吧:
[root@linuxprobe ~]# useradd linuxprobe
为linuxprobe用户设置密码:
[root@linuxprobe ~]# passwd linuxprobe
Changing password for user linuxprobe.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
在客户端尝试登入FTP服务:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): linuxprobe
331 Please specify the password.
Password:输入用户的本地密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir files
550 Create directory operation failed.
有了上面配置匿名访问模式的经验,这次再遇到了“操作被拒绝”,应该马上想到SELinux了吧。
查看所有与ftp相关的SELinux规则:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
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 --> off
设置SELinux对FTP服务的规则为允许:
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on
此时再来创建文件或目录就没有问题了:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): linuxprobe
331 Please specify the password.
Password:输入用户本地密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir files
257 "/home/linuxprobe/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.
④ Telnet涓嬬殑TFTP锻戒护镐庝箞鐢
TFTP鍗忚绠浠
TFTP鏄鐢ㄦ潵涓嬭浇杩灭▼鏂囦欢镄勬渶绠鍗旷绣缁滃岗璁锛屽畠鍏朵簬UDP鍗忚钥屽疄鐜般傚祵鍏ュ纺linux镄则ftp寮鍙戠幆澧冨寘𨰾涓や釜鏂归溃锛氢竴鏄痩inux链嶅姟鍣ㄧ镄则ftp-server鏀鎸侊纴浜屾槸宓屽叆寮忕洰镙囩郴缁熺殑tftp-client鏀鎸併傚洜涓簎-boot链韬鍐呯疆鏀鎸乼ftp-client锛屾墍浠ュ祵鍏ュ纺鐩镙囩郴缁熺灏变笉鐢ㄩ厤缃浜嗐备笅闱㈠氨璇︾粏浠嬬粛涓涓媗inux链嶅姟鍣ㄧ痶ftp-server镄勯厤缃銆傛湰鏂囨潵镊鎴愰兘鏄庤瘹绉戞妧锛岃︾粏淇℃伅璇疯块梾http://www.embedexpert.com/article/linuxkernel/2010/1020/tftpserverset.html
1銆佸畨瑁卼ftp链嶅姟鍣
闇瑕佸畨瑁厁inetd銆乼ftp鍜宼ftp-server 3涓杞浠
1锛夊傛灉鑳戒笂缃戯纴阃氲繃yum瀹夎咃细
sudo yum install xinetd
sudo yum install tftp
sudo yum install tftp-server
2锛夊傛灉涓嶈兘涓婄绣锛屽彲浠ョ洿鎺ュ畨瑁呮彁渚涚殑rpm鍖咃细
sudo rpm -ivh xinetd-?xml:namespace prefix = st1 /2.3.14-18.fc9.i386.rpm
sudo rpm -ivh tftp-0.48-3.fc9.i386.rpm
sudo rpm -ivh tftp-server-0.48-3.fc9.i386.rpm
2銆侀厤缃畉ftp链嶅姟鍣
淇鏀/etc/xinetd.d/tftp鏂囦欢锛屽皢鍏朵腑镄刣isable=yes鏀逛负disable=no銆
涓昏佹槸璁剧疆TFTP链嶅姟鍣ㄧ殑镙圭洰褰曪纴寮钖链嶅姟銆备慨鏀瑰悗镄勬枃浠跺备笅锛
service tftp
{ socket_type =dgram
protocol =udp
wait =yes
user =root
server =/usr/sbin/in.tftpd
server_args =-s /home/mike/tftpboot -c
disable =no
per_source =11
cps =100 2
flags =IPv4
}
璇存槑锛氢慨鏀归”server_args= -s path -c锛屽叾涓璸ath澶勫彲浠ユ敼涓轰綘镄则ftp-server镄勬牴鐩褰曪纴鍙傛暟-s鎸囧畾chroot锛-c鎸囧畾浜嗗彲浠ュ垱寤烘枃浠躲
3銆佸惎锷╰ftp链嶅姟鍣ㄥ苟鍏抽棴阒茬伀澧
/etc/init.d/iptables stop //鍏抽棴阒茬伀澧
sudo /sbin/service xinetd start
鎴杝ervice xinetd restart
/etc/init.d/xinetd start
鐪嫔埌钖锷╗OK]灏卞彲浠ヤ简
4銆佹煡鐪媡ftp链嶅姟鏄钖﹀紑钖
netstat -a | grep tftp
鏄剧ず缁撴灉涓
udp 0 0 *:tftp *:*
琛ㄦ槑链嶅姟宸茬粡寮钖锛屽氨琛ㄦ槑tftp閰岖疆鎴愬姛浜嗐
5銆乼ftp浣跨敤
澶嶅埗涓涓鏂囦欢鍒皌ftp链嶅姟鍣ㄧ洰褰曪纴铹跺悗鍦ㄤ富链哄惎锷╰ftp杞浠讹纴杩涜岀亩鍗曟祴璇曘
tftp 192.168.1.2
tftpget download file
tftpput upload file
tftpq
6銆乼ftp锻戒护鐢ㄦ硶濡备笅
tftp your-ip-address
銆愯繘鍏TFTP镎崭綔銆
connect锛氲繛鎺ュ埌杩灭▼tftp链嶅姟鍣
mode锛氭枃浠朵紶杈撴ā寮
put锛氢笂浼犳枃浠
get锛氢笅杞芥枃浠
quit锛氶鍑
verbose锛氭樉绀鸿︾粏镄勫勭悊淇℃伅
tarce锛氭樉绀哄寘璺寰
status锛氭樉绀哄綋鍓岖姸镐佷俊鎭
binary锛氢簩杩涘埗浼犺緭妯″纺
ascii锛歛scii浼犻佹ā寮
rexmt锛氲剧疆鍖呬紶杈撶殑瓒呮椂镞堕棿
timeout锛氲剧疆閲崭紶镄勮秴镞舵椂闂
help锛氩府锷╀俊鎭
?锛氩府锷╀俊鎭
7銆佸傛灉钥佹槸鍑虹幇钬淎VC Denial, click icon to view钬濈殑阌栾锛屽苟涓嶈兘浼犺緭鏂囦欢锛岄渶瑕佷綔濡备笅淇鏀
淇鏀/etc/sysconfig/selinux,灏哠ELINUX璁惧畾涓篸isable
浣跨敤锻戒护setenforce 0璁﹕elinux閰岖疆鏂囦欢鐢熸晥
8銆丅usybox涓玺ftp锻戒护镄勭敤娉
锻戒护镙煎纺涓猴细
tftp [option] ... host [port]
濡傛灉瑕佷笅杞芥垨涓娄紶鏂囦欢镄勮瘽鏄涓瀹氲佺敤杩欎簺option镄勚傛垚閮芥槑璇氱戞妧銆
-g琛ㄧず涓嬭浇鏂囦欢(get)
-p琛ㄧず涓娄紶鏂囦欢(put)
-l琛ㄧず链鍦版枃浠跺悕(local file)
-r琛ㄧず杩灭▼涓绘満镄勬枃浠跺悕(remote file)
渚嫔傦纴瑕佷粠杩灭▼涓绘満192.168.1.2涓娄笅杞絜mbedexpert锛屽垯搴旇緭鍏ヤ互涓嫔懡浠
tftp -g -r embedexpert 192.168.1.2