system3之:5-FTP服务
2013-08-01 20:35
447 查看
FTP服务:专门用于 文件传输的服务
什么是FTP?
FTP全称为文件传输协议,利用FTP可以给用户提供上传和下载文件的服务,采用客户机/服务器模式
FTP服务概述:
被动模式:随机分配
0-1023端口:系统端口,>=1024的为随机端口
主动模式
客户端开防火墙会挡住服务器的访问,服务器的是特定端口,傻瓜式的防火墙,能对指定端口开放。
被动模式
服务器的防火墙有要求,支不支持动态跟踪模式。
常见的FTP服务器程序和客户端程序:
[root@koukou ~]# ls -lsh yum 可以查看到详细信息
总用量 16K
4.0K drwxr-xr-x 2 root root 4.0K 5月 24 19:30 pluginconf.d
4.0K drwxr-xr-x 2 root root 4.0K 5月 24 19:30 protected.d
4.0K drwxr-xr-x 2 root root 4.0K 5月 24 19:30 vars
4.0K -rw-r--r-- 1 root root 444 5月 24 19:30 version-groups.conf
[root@koukou ~]# ls -lsh yum -d
4.0K drwxr-xr-x 5 root root 4.0K 5月 24 19:30 yum
[root@koukou ~]#
什么是动态跟踪???
tail输出文件尾部/动态监视文件尾部(-f)
[root@koukou ~]# grep ftp /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 没有登录权限
[root@koukou ~]#
[root@koukou ~]# ftp 10.0.1.126
Connected to 10.0.1.126 (10.0.1.126).
220 (vsFTPd 2.2.2)
Name (10.0.1.126:root): root 默认的管理员禁止登录
530 Permission denied.
Login failed.
ftp>
[root@koukou ~]# ftp 10.0.1.126
Connected to 10.0.1.126 (10.0.1.126).
220 (vsFTPd 2.2.2)
Name (10.0.1.126:root): tan 普通用户可以登录
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
配置文件: /etc/vsftpd/vsftpd.conf
[root@koukou tan_shell]# grep -v ^# /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
注意:里面都是下划线,等号两边不能有空格。
service vsftpd restart 重启服务检查错误
[root@koukou tan_shell]# man vsftpd.conf 查看默认权限
很有用的项:
local_root 根目录
local_max_rate 最大传输效率
常用的全局配置项:
常用的匿名FTP配置项:
常用的本地用户FTP配置项:
重点关注:
umask
[root@koukou tan_shell]# umask
0022
[root@koukou tan_shell]# touch a
[root@koukou tan_shell]# mkdir b
[root@koukou tan_shell]#
[root@koukou tan_shell]# ls -l
总用量 28
-rw-r--r-- 1 root root 0 7月 31 08:50 a
drwxr-xr-x 2 root root 4096 7月 31 08:50 b
真实权限=从内核出来默认的权限-umask值
ps:减本来就有的权限,没有的不减
文件从内核出来时候权限是666
文件夹从内核出来时候权限是777
如上例子:a文件 b文件夹
umask:022
rwx --》421
a 文件 666-022=644 ==》 rw-r--r--
b文件夹 777-022=755==》rwxr-xr-x
[root@koukou tan_shell]# ls -ld /var/ftp
drwxr-xr-x 5 root root 4096 3月 2 2012 /var/ftp 权限
[root@koukou tan_shell]#
经典错误:不能修改/var/ftp目录,但是可以在根目录下面建立一个文件夹,修改其权限
/etc/vsftpd/user_list
[root@koukou tan_shell]# cat /etc/vsftpd/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.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
[root@koukou tan_shell]#
root用户
黑白名单:用户控制列表文件
日志:
日志是在服务器端查看
ftp日志要求不高
[root@koukou tan_shell]# tail /var/log/xferlog 查看到下载上传过程信息,ip等
wget:递归下载网络资源
语法:wget文件的网络位置
-r:递归检索
-O:下载文件后改名
--user:指定登录用户名
--password:指定登录密码
用法举例:
wget ftp://10.0.3.99/passwd -P /tan 这里passwd的路径是登录用户的家目录的下面相对路径。
[root@koukou tan]# wget ftp://10.0.3.99/ac --user xixi --password aixocm
--2013-07-31 21:12:00-- ftp://10.0.3.99/ac => “ac”
正在连接 10.0.3.99:21... 已连接。
正在以 xixi 登录 ... 登录成功!
==> SYST ... 完成。 ==> PWD ... 完成。
==> TYPE I ... 完成。 ==> 不需要 CWD。
==> SIZE ac ... 完成。
==> PASV ... 完成。 ==> RETR ac ... 完成。
[ <=> ] 0 --.-K/s in 0s
2013-07-31 21:12:10 (0.00 B/s) - “ac” 已保存 [0]
[root@koukou tan]# ls
a ac d index.html
=====================
[root@koukou tan]# wget ftp://10.0.3.99/ac --user xixi --password aixocm -P /tan
--2013-07-31 21:12:33-- ftp://10.0.3.99/ac => “/tan/ac.1”
正在连接 10.0.3.99:21... 已连接。
正在以 xixi 登录 ... 登录成功!
==> SYST ... 完成。 ==> PWD ... 完成。
==> TYPE I ... 完成。 ==> 不需要 CWD。
==> SIZE ac ... 完成。
==> PASV ... 完成。 ==> RETR ac ... 完成。
[ <=> ] 0 --.-K/s in 0s
2013-07-31 21:12:44 (0.00 B/s) - “/tan/ac.1” 已保存 [0]
[root@koukou tan]# cd /tan
[root@koukou tan]# ls
a ac ac.1 d index.html
[root@koukou tan]#
=================
[root@koukou tan]# wget -r ftp://10.0.3.99/ac --user xixi --password aixocm -P /tan
--2013-07-31 21:15:21-- ftp://10.0.3.99/ac => “/tan/10.0.3.99/.listing”
正在连接 10.0.3.99:21... 已连接。
正在以 xixi 登录 ... 登录成功!
==> SYST ... 完成。 ==> PWD ... 完成。
==> TYPE I ... 完成。 ==> 不需要 CWD。
==> PASV ... 完成。 ==> LIST ... 完成。
[ <=> ] 577 --.-K/s in 0.001s
2013-07-31 21:15:31 (412 KB/s) - “/tan/10.0.3.99/.listing” 已保存 [577]
已删除 “/tan/10.0.3.99/.listing”。
--2013-07-31 21:15:31-- ftp://10.0.3.99/ac => “/tan/10.0.3.99/ac”
==> 不需要 CWD。
==> SIZE ac ... 完成。
==> PASV ... 完成。 ==> RETR ac ... 完成。
[ <=> ] 0 --.-K/s in 0s
2013-07-31 21:15:31 (0.00 B/s) - “/tan/10.0.3.99/ac” 已保存 [0]
[root@koukou tan]# ls
10.0.3.99 a ac ac.1 d index.html
[root@koukou tan]# cd 10.0.3.99/
[root@koukou 10.0.3.99]# ls
ac
[root@koukou 10.0.3.99]#
----------------------------------------------------------------------------------
题目1:
创建只允许本地用户登录vsftpd服务器,所有本地用户只能上传不能下载,
local_enable=YES 其他类型用户拒绝
download_enable=no则不能下载
本地用户共同的根目录是/user/ftp
local_root=/user/ftp
可以删除自己上传的文件,但是不能删除别人上传的文件,而且不能切换根目录。
chmod o+wt /user/ftp
允许root用户访问,root可以切换目录,但禁止用户haha访问FTP服务
修改两个文件
vim /etc/vsftpd/user_list
vim /etc/vsftpd/ftpusers
把haha写入,root#掉
准备工作:
关防火墙,selinux检查: getenforce
服务器端要先开启ftp服务,客户端才能ftp连接过去
service vsftpd restart
1.使得root用户能登录,切换路径(默认就能切换):
修改一下两个文件就可以设置为允许
vim /etc/vsftpd/user_list (#root)
vim /etc/vsftpd/ftpusers 优先级最高,任何情况下里面的用户都被拒绝登录。(这里#掉root)
(1)root用户登录:
没有自定义根目录的时候:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/root"
ftp>
根目录修改后:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /root
250 Directory successfully changed.
ftp> cd /user/ftp
250 Directory successfully changed.
ftp> pwd
257 "/user/ftp"
ftp>
这里都可以切换
(2)本地用户登录:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): xixi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/xixi"
ftp>
2.匿名用户不允许访问:
修改/etc/vsftpd/vsftpd.conf
anonymous_enable=no 默认的话是启用
3.本地用户根目录设置:
修改/etc/vsftpd/vsftpd.conf
local_root=/user/ftp
[root@localhost ~]# mkdir /user/ftp
[root@localhost ftp]# chmod o+wt /user/ftp
客户端登录上去就是在根目录下:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): xixi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/user/ftp"
ftp>
上传的是存在该根目录下面。
4.设置本地用户只能上传不能下载的配置:
/etc/vsftpd/vsftpd.conf
download_enable=no 不允许下载
/var/ftp/pub
默认能下载不能上传。修改权限就可以了。
ftp> put tan 家目录下上传可以
local: tan remote: tan
227 Entering Passive Mode (10,0,3,99,162,42).
150 Ok to send data.
226 Transfer complete.
ftp> ls
227 Entering Passive Mode (10,0,3,99,137,37).
150 Here comes the directory listing.
-rw-rw-rw- 1 500 500 0 Jul 31 13:32 tan
226 Directory send OK.
ftp> pwd
257 "/home/xixi"
ftp> cd /var/ftp 该路径下不能上传
250 Directory successfully changed.
ftp> put tan
local: tan remote: tan
227 Entering Passive Mode (10,0,3,99,59,3).
553 Could not create file.
ftp> cd /var/ftp/pub 该路径下也不能上传。也就是/var下面不能,要想上传必须修改权限,/var/ftp/pub不能修改权限,但是可以在里面建立文件夹或文件修改其权限。
250 Directory successfully changed.
ftp> put tan
local: tan remote: tan
227 Entering Passive Mode (10,0,3,99,38,94).
553 Could not create file.
ftp>
5.使用haha用户不能访问
vim /etc/vsftpd/user_list
vim /etc/vsftpd/ftpusers
两个文件都添加haha结果访问被拒绝,如下:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): haha
530 Permission denied.
Login failed.
ftp>
只修改了ftpusers则也被拒绝,只是在输入密码的时候才被拒绝。
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): haha
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp>
6.可以删除自己上传的文件,但是不能删除别人上传的文件,而且不能切换根目录。
[root@localhost ftp]# chmod o+wt /user/ftp
修改权限后默认就能删自己的文件但是不能删除别人的文件。
t权限 --》只能删自己的 o+wt
不能切换根目录??哪个根目录??
普通用户:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): xixi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/user/ftp"
ftp> cd /root
550 Failed to change directory.
ftp> cd /
250 Directory successfully changed.
ftp> cd /user/ftp
250 Directory successfully changed.
ftp>
根目录:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /root
250 Directory successfully changed.
ftp> cd /user/ftp
250 Directory successfully changed.
ftp> pwd
257 "/user/ftp"
ftp> 都可以切换
问题???
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): xixi
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/xixi
Login failed.
ftp>
原因是没有关闭selinux
题目2:
1.匿名用户的FTP根目录是/ftp,只能下载,下载速度为100kbps
2.本地用户hello的FTP根目录为/hello,可以上传下载,家目录被锁定,下载速度为200kbps
3.管理员root的FTP根目录为/admin,可以上传下载,家目录不被锁定,下载速度不限制
注意以上用户的本地宿主目录不要修改。
/var/ftp/pub ftp文件存放目录
家目录默认权限700
ftp ssh http su 等输入密码的时候就是交给后台parm执行
设置了虚拟用户之后,匿名用户可以登录,但是本地用户不能
搭建基于虚拟用户的FTP站点:
图5.25------图5.34
例题分析:
搭建一个基于虚拟用户的FTP站点,要求三个虚拟用户ftp1,ftp2,ftp3登录后权限分别是:
ftp1能下载不能上传,ftp2能上传不能下载,ftp3既能上传又能下载。
1.建立虚拟FTP用户的帐号数据库文件
建立虚拟用户的账户名,密码列表
vuser.list是新建的表,名字随意。
[root@localhost vsftpd]# vim vuser.list
[root@localhost vsftpd]# pwd
/etc/vsftpd
[root@localhost vsftpd]# cat vuser.list
ftp1
123
ftp2
123
ftp3
123
[root@localhost vsftpd]#
注意:每一行都最好不要留空格,以免登录出错。
生成用户数据库:
[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db vuser.list
[root@localhost vsftpd]# file vuser.db
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
[root@localhost vsftpd]#
[root@localhost vsftpd]# ll /etc/vsftpd/vuser.db
-rw-r--r--. 1 root root 12288 8月 1 01:13 /etc/vsftpd/vuser.db
[root@localhost vsftpd]# chown 600 /etc/vsftpd/vuser.db 可以修改下权限,使实验更容易做,但是也可以不修改。
[root@localhost vsftpd]# ll /etc/vsftpd/vuser.db
-rw-r--r--. 1 600 root 12288 8月 1 01:13 /etc/vsftpd/vuser.db
[root@localhost vsftpd]#
2.创建FTP根目录及虚拟用户映射的系统用户
[root@localhost vsftpd]# useradd -d /var/users -s /sbin/nologin virtual #用户virtual 家目录/var/users
[root@localhost vsftpd]# ls /home
haha tan1 xixi
[root@localhost vsftpd]# tail -1 /etc/passwd
virtual:x:503:503::/var/users:/sbin/nologin
[root@localhost vsftpd]# ls /var/users/
[root@localhost vsftpd]# cd /var/users/
[root@localhost users] # mkdir ftp1
[root@localhost users]# mkdir ftp2
[root@localhost users] #mkdir ftp3
[root@localhost users] #chmod o+w ftp1 ftp2 ftp3
虚拟用户ftp1,ftp2,ftp3 ;系统用户virtual
[root@localhost users]# chmod 755 /var/users/ #修改virtual主目录的权限为其他用户可读,用户主目录默认为700
3.建立支持虚拟用户的PAM认证文件
[root@localhost users]# vim /etc/pam.d/vsftpd.v
[root@localhost users]# cat /etc/pam.d/vsftpd.v
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
[root@localhost users]#
4.在vsftpd.conf 文件中添加支持配置
[root@localhost users]# vim /etc/vsftpd/vsftpd.conf
[root@localhost users]# cat /etc/vsftpd/vsftpd.conf |grep -v ^# |grep -v ^$
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=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES 启用虚拟用户
guest_username=virtual 虚拟用户映射为本地用户virtual
pam_service_name=vsftpd.v 指定pam认证文件
[root@localhost users]#
5.为个别虚拟机用户建立独立的配置文件
在vsftpd.conf文件中添加用户配置目录支持
user_config_dir=/etc/vsftpd/vuser_dir
为用户ftp1.ftp2,ftp3建立独立的配置目录及文件
mkdir /etc/vsftpd/vuser_dir
cd /etc/vsftpd/vuser_dir
touch ftp1
touch ftp2 ftp3
[root@localhost vuser_dir]# cat ftp1
anon_upload_enable=NO
download_enable=YES
[root@localhost vuser_dir]# cat ftp2
anon_upload_enable=YES
download_enable=NO
[root@localhost vuser_dir]# cat ftp3
anon_upload_enable=YES
download_enable=YES
6.重新加载vsftpd配置
service vsftpd reload
getenforce 查看selinux状态
7.使用虚拟FTP账户访问测试(上传,下载)
匿名用户或其他系统用户将不能登录
禁用部分虚拟用户可以使用user_list文件
结果测试:
ftp1:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): ftp1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,0,3,99,74,192).
150 Here comes the directory listing.
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
226 Directory send OK.
ftp> pwd
257 "/"
ftp> get ftp1 get不能下载文件夹
local: ftp1 remote: ftp1
227 Entering Passive Mode (10,0,3,99,198,217).
550 Failed to open file.
ftp> !ls
a c log_back1.sh route3-4.sh svnc.sh test.sh yun
b hello.sh qiu route4-3.sh tan usr_del.sh
ftp> put a
local: a remote: a
227 Entering Passive Mode (10,0,3,99,137,8).
550 Permission denied.
ftp> ls
227 Entering Passive Mode (10,0,3,99,51,136).
150 Here comes the directory listing.
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
-rw-r--r-- 1 0 0 0 Jul 31 19:11 haha
-rw-r--r-- 1 0 0 0 Jul 31 19:11 heihei
226 Directory send OK.
ftp> get haha
local: haha remote: haha
227 Entering Passive Mode (10,0,3,99,240,189).
150 Opening BINARY mode data connection for haha (0 bytes).
226 Transfer complete.
ftp> !ls
a c hello.sh qiu route4-3.sh tan usr_del.sh
b haha log_back1.sh route3-4.sh svnc.sh test.sh yun
ftp> put a
local: a remote: a
227 Entering Passive Mode (10,0,3,99,40,15).
550 Permission denied.
ftp> exit
221 Goodbye.
ftp2:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): ftp2
331 Please specify the password.
Password:
500 OOPS: unrecognised variable in config file: non_upload_enable
Login failed.
421 Service not available, remote server has closed connection
ftp> exit
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): ftp2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,0,3,99,241,234).
150 Here comes the directory listing.
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
-rw-r--r-- 1 0 0 0 Jul 31 19:11 haha
-rw-r--r-- 1 0 0 0 Jul 31 19:11 heihei
226 Directory send OK.
ftp> get haha
local: haha remote: haha
227 Entering Passive Mode (10,0,3,99,78,82).
550 Permission denied.
ftp> put a
local: a remote: a
227 Entering Passive Mode (10,0,3,99,161,41).
150 Ok to send data.
226 Transfer complete.
ftp> exit
221 Goodbye.
ftp3
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): ftp3
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,0,3,99,238,101).
150 Here comes the directory listing.
-rw------- 1 503 503 0 Jul 31 19:15 a
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
-rw-r--r-- 1 0 0 0 Jul 31 19:11 haha
-rw-r--r-- 1 0 0 0 Jul 31 19:11 heihei
226 Directory send OK.
ftp> get a
local: a remote: a
227 Entering Passive Mode (10,0,3,99,207,8).
550 Failed to open file.
ftp> get haha
local: haha remote: haha
227 Entering Passive Mode (10,0,3,99,83,210).
150 Opening BINARY mode data connection for haha (0 bytes).
226 Transfer complete.
ftp> put c
local: c remote: c
227 Entering Passive Mode (10,0,3,99,41,216).
150 Ok to send data.
226 Transfer complete.
ftp> ls
227 Entering Passive Mode (10,0,3,99,90,181).
150 Here comes the directory listing.
-rw------- 1 503 503 0 Jul 31 19:15 a
-rw------- 1 503 503 0 Jul 31 19:18 c
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
-rw-r--r-- 1 0 0 0 Jul 31 19:11 haha
-rw-r--r-- 1 0 0 0 Jul 31 19:11 heihei
226 Directory send OK.
ftp> exit
221 Goodbye.
[root@koukou tan_shell]#
什么是FTP?
FTP全称为文件传输协议,利用FTP可以给用户提供上传和下载文件的服务,采用客户机/服务器模式
FTP服务概述:
被动模式:随机分配
0-1023端口:系统端口,>=1024的为随机端口
主动模式
客户端开防火墙会挡住服务器的访问,服务器的是特定端口,傻瓜式的防火墙,能对指定端口开放。
被动模式
服务器的防火墙有要求,支不支持动态跟踪模式。
常见的FTP服务器程序和客户端程序:
[root@koukou ~]# ls -lsh yum 可以查看到详细信息
总用量 16K
4.0K drwxr-xr-x 2 root root 4.0K 5月 24 19:30 pluginconf.d
4.0K drwxr-xr-x 2 root root 4.0K 5月 24 19:30 protected.d
4.0K drwxr-xr-x 2 root root 4.0K 5月 24 19:30 vars
4.0K -rw-r--r-- 1 root root 444 5月 24 19:30 version-groups.conf
[root@koukou ~]# ls -lsh yum -d
4.0K drwxr-xr-x 5 root root 4.0K 5月 24 19:30 yum
[root@koukou ~]#
什么是动态跟踪???
tail输出文件尾部/动态监视文件尾部(-f)
[root@koukou ~]# grep ftp /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 没有登录权限
[root@koukou ~]#
[root@koukou ~]# ftp 10.0.1.126
Connected to 10.0.1.126 (10.0.1.126).
220 (vsFTPd 2.2.2)
Name (10.0.1.126:root): root 默认的管理员禁止登录
530 Permission denied.
Login failed.
ftp>
[root@koukou ~]# ftp 10.0.1.126
Connected to 10.0.1.126 (10.0.1.126).
220 (vsFTPd 2.2.2)
Name (10.0.1.126:root): tan 普通用户可以登录
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
配置文件: /etc/vsftpd/vsftpd.conf
[root@koukou tan_shell]# grep -v ^# /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
注意:里面都是下划线,等号两边不能有空格。
service vsftpd restart 重启服务检查错误
[root@koukou tan_shell]# man vsftpd.conf 查看默认权限
很有用的项:
local_root 根目录
local_max_rate 最大传输效率
常用的全局配置项:
常用的匿名FTP配置项:
常用的本地用户FTP配置项:
重点关注:
umask
[root@koukou tan_shell]# umask
0022
[root@koukou tan_shell]# touch a
[root@koukou tan_shell]# mkdir b
[root@koukou tan_shell]#
[root@koukou tan_shell]# ls -l
总用量 28
-rw-r--r-- 1 root root 0 7月 31 08:50 a
drwxr-xr-x 2 root root 4096 7月 31 08:50 b
真实权限=从内核出来默认的权限-umask值
ps:减本来就有的权限,没有的不减
文件从内核出来时候权限是666
文件夹从内核出来时候权限是777
如上例子:a文件 b文件夹
umask:022
rwx --》421
a 文件 666-022=644 ==》 rw-r--r--
b文件夹 777-022=755==》rwxr-xr-x
[root@koukou tan_shell]# ls -ld /var/ftp
drwxr-xr-x 5 root root 4096 3月 2 2012 /var/ftp 权限
[root@koukou tan_shell]#
经典错误:不能修改/var/ftp目录,但是可以在根目录下面建立一个文件夹,修改其权限
/etc/vsftpd/user_list
[root@koukou tan_shell]# cat /etc/vsftpd/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.
root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
nobody
[root@koukou tan_shell]#
root用户
黑白名单:用户控制列表文件
日志:
日志是在服务器端查看
ftp日志要求不高
[root@koukou tan_shell]# tail /var/log/xferlog 查看到下载上传过程信息,ip等
wget:递归下载网络资源
语法:wget文件的网络位置
-r:递归检索
-O:下载文件后改名
--user:指定登录用户名
--password:指定登录密码
用法举例:
wget ftp://10.0.3.99/passwd -P /tan 这里passwd的路径是登录用户的家目录的下面相对路径。
[root@koukou tan]# wget ftp://10.0.3.99/ac --user xixi --password aixocm
--2013-07-31 21:12:00-- ftp://10.0.3.99/ac => “ac”
正在连接 10.0.3.99:21... 已连接。
正在以 xixi 登录 ... 登录成功!
==> SYST ... 完成。 ==> PWD ... 完成。
==> TYPE I ... 完成。 ==> 不需要 CWD。
==> SIZE ac ... 完成。
==> PASV ... 完成。 ==> RETR ac ... 完成。
[ <=> ] 0 --.-K/s in 0s
2013-07-31 21:12:10 (0.00 B/s) - “ac” 已保存 [0]
[root@koukou tan]# ls
a ac d index.html
=====================
[root@koukou tan]# wget ftp://10.0.3.99/ac --user xixi --password aixocm -P /tan
--2013-07-31 21:12:33-- ftp://10.0.3.99/ac => “/tan/ac.1”
正在连接 10.0.3.99:21... 已连接。
正在以 xixi 登录 ... 登录成功!
==> SYST ... 完成。 ==> PWD ... 完成。
==> TYPE I ... 完成。 ==> 不需要 CWD。
==> SIZE ac ... 完成。
==> PASV ... 完成。 ==> RETR ac ... 完成。
[ <=> ] 0 --.-K/s in 0s
2013-07-31 21:12:44 (0.00 B/s) - “/tan/ac.1” 已保存 [0]
[root@koukou tan]# cd /tan
[root@koukou tan]# ls
a ac ac.1 d index.html
[root@koukou tan]#
=================
[root@koukou tan]# wget -r ftp://10.0.3.99/ac --user xixi --password aixocm -P /tan
--2013-07-31 21:15:21-- ftp://10.0.3.99/ac => “/tan/10.0.3.99/.listing”
正在连接 10.0.3.99:21... 已连接。
正在以 xixi 登录 ... 登录成功!
==> SYST ... 完成。 ==> PWD ... 完成。
==> TYPE I ... 完成。 ==> 不需要 CWD。
==> PASV ... 完成。 ==> LIST ... 完成。
[ <=> ] 577 --.-K/s in 0.001s
2013-07-31 21:15:31 (412 KB/s) - “/tan/10.0.3.99/.listing” 已保存 [577]
已删除 “/tan/10.0.3.99/.listing”。
--2013-07-31 21:15:31-- ftp://10.0.3.99/ac => “/tan/10.0.3.99/ac”
==> 不需要 CWD。
==> SIZE ac ... 完成。
==> PASV ... 完成。 ==> RETR ac ... 完成。
[ <=> ] 0 --.-K/s in 0s
2013-07-31 21:15:31 (0.00 B/s) - “/tan/10.0.3.99/ac” 已保存 [0]
[root@koukou tan]# ls
10.0.3.99 a ac ac.1 d index.html
[root@koukou tan]# cd 10.0.3.99/
[root@koukou 10.0.3.99]# ls
ac
[root@koukou 10.0.3.99]#
----------------------------------------------------------------------------------
题目1:
创建只允许本地用户登录vsftpd服务器,所有本地用户只能上传不能下载,
local_enable=YES 其他类型用户拒绝
download_enable=no则不能下载
本地用户共同的根目录是/user/ftp
local_root=/user/ftp
可以删除自己上传的文件,但是不能删除别人上传的文件,而且不能切换根目录。
chmod o+wt /user/ftp
允许root用户访问,root可以切换目录,但禁止用户haha访问FTP服务
修改两个文件
vim /etc/vsftpd/user_list
vim /etc/vsftpd/ftpusers
把haha写入,root#掉
准备工作:
关防火墙,selinux检查: getenforce
服务器端要先开启ftp服务,客户端才能ftp连接过去
service vsftpd restart
1.使得root用户能登录,切换路径(默认就能切换):
修改一下两个文件就可以设置为允许
vim /etc/vsftpd/user_list (#root)
vim /etc/vsftpd/ftpusers 优先级最高,任何情况下里面的用户都被拒绝登录。(这里#掉root)
(1)root用户登录:
没有自定义根目录的时候:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/root"
ftp>
根目录修改后:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /root
250 Directory successfully changed.
ftp> cd /user/ftp
250 Directory successfully changed.
ftp> pwd
257 "/user/ftp"
ftp>
这里都可以切换
(2)本地用户登录:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): xixi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/xixi"
ftp>
2.匿名用户不允许访问:
修改/etc/vsftpd/vsftpd.conf
anonymous_enable=no 默认的话是启用
3.本地用户根目录设置:
修改/etc/vsftpd/vsftpd.conf
local_root=/user/ftp
[root@localhost ~]# mkdir /user/ftp
[root@localhost ftp]# chmod o+wt /user/ftp
客户端登录上去就是在根目录下:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): xixi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/user/ftp"
ftp>
上传的是存在该根目录下面。
4.设置本地用户只能上传不能下载的配置:
/etc/vsftpd/vsftpd.conf
download_enable=no 不允许下载
/var/ftp/pub
默认能下载不能上传。修改权限就可以了。
ftp> put tan 家目录下上传可以
local: tan remote: tan
227 Entering Passive Mode (10,0,3,99,162,42).
150 Ok to send data.
226 Transfer complete.
ftp> ls
227 Entering Passive Mode (10,0,3,99,137,37).
150 Here comes the directory listing.
-rw-rw-rw- 1 500 500 0 Jul 31 13:32 tan
226 Directory send OK.
ftp> pwd
257 "/home/xixi"
ftp> cd /var/ftp 该路径下不能上传
250 Directory successfully changed.
ftp> put tan
local: tan remote: tan
227 Entering Passive Mode (10,0,3,99,59,3).
553 Could not create file.
ftp> cd /var/ftp/pub 该路径下也不能上传。也就是/var下面不能,要想上传必须修改权限,/var/ftp/pub不能修改权限,但是可以在里面建立文件夹或文件修改其权限。
250 Directory successfully changed.
ftp> put tan
local: tan remote: tan
227 Entering Passive Mode (10,0,3,99,38,94).
553 Could not create file.
ftp>
5.使用haha用户不能访问
vim /etc/vsftpd/user_list
vim /etc/vsftpd/ftpusers
两个文件都添加haha结果访问被拒绝,如下:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): haha
530 Permission denied.
Login failed.
ftp>
只修改了ftpusers则也被拒绝,只是在输入密码的时候才被拒绝。
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): haha
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp>
6.可以删除自己上传的文件,但是不能删除别人上传的文件,而且不能切换根目录。
[root@localhost ftp]# chmod o+wt /user/ftp
修改权限后默认就能删自己的文件但是不能删除别人的文件。
t权限 --》只能删自己的 o+wt
不能切换根目录??哪个根目录??
普通用户:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): xixi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/user/ftp"
ftp> cd /root
550 Failed to change directory.
ftp> cd /
250 Directory successfully changed.
ftp> cd /user/ftp
250 Directory successfully changed.
ftp>
根目录:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /root
250 Directory successfully changed.
ftp> cd /user/ftp
250 Directory successfully changed.
ftp> pwd
257 "/user/ftp"
ftp> 都可以切换
问题???
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): xixi
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/xixi
Login failed.
ftp>
原因是没有关闭selinux
题目2:
1.匿名用户的FTP根目录是/ftp,只能下载,下载速度为100kbps
2.本地用户hello的FTP根目录为/hello,可以上传下载,家目录被锁定,下载速度为200kbps
3.管理员root的FTP根目录为/admin,可以上传下载,家目录不被锁定,下载速度不限制
注意以上用户的本地宿主目录不要修改。
/var/ftp/pub ftp文件存放目录
家目录默认权限700
ftp ssh http su 等输入密码的时候就是交给后台parm执行
设置了虚拟用户之后,匿名用户可以登录,但是本地用户不能
搭建基于虚拟用户的FTP站点:
图5.25------图5.34
例题分析:
搭建一个基于虚拟用户的FTP站点,要求三个虚拟用户ftp1,ftp2,ftp3登录后权限分别是:
ftp1能下载不能上传,ftp2能上传不能下载,ftp3既能上传又能下载。
1.建立虚拟FTP用户的帐号数据库文件
建立虚拟用户的账户名,密码列表
vuser.list是新建的表,名字随意。
[root@localhost vsftpd]# vim vuser.list
[root@localhost vsftpd]# pwd
/etc/vsftpd
[root@localhost vsftpd]# cat vuser.list
ftp1
123
ftp2
123
ftp3
123
[root@localhost vsftpd]#
注意:每一行都最好不要留空格,以免登录出错。
生成用户数据库:
[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db vuser.list
[root@localhost vsftpd]# file vuser.db
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
[root@localhost vsftpd]#
[root@localhost vsftpd]# ll /etc/vsftpd/vuser.db
-rw-r--r--. 1 root root 12288 8月 1 01:13 /etc/vsftpd/vuser.db
[root@localhost vsftpd]# chown 600 /etc/vsftpd/vuser.db 可以修改下权限,使实验更容易做,但是也可以不修改。
[root@localhost vsftpd]# ll /etc/vsftpd/vuser.db
-rw-r--r--. 1 600 root 12288 8月 1 01:13 /etc/vsftpd/vuser.db
[root@localhost vsftpd]#
2.创建FTP根目录及虚拟用户映射的系统用户
[root@localhost vsftpd]# useradd -d /var/users -s /sbin/nologin virtual #用户virtual 家目录/var/users
[root@localhost vsftpd]# ls /home
haha tan1 xixi
[root@localhost vsftpd]# tail -1 /etc/passwd
virtual:x:503:503::/var/users:/sbin/nologin
[root@localhost vsftpd]# ls /var/users/
[root@localhost vsftpd]# cd /var/users/
[root@localhost users] # mkdir ftp1
[root@localhost users]# mkdir ftp2
[root@localhost users] #mkdir ftp3
[root@localhost users] #chmod o+w ftp1 ftp2 ftp3
虚拟用户ftp1,ftp2,ftp3 ;系统用户virtual
[root@localhost users]# chmod 755 /var/users/ #修改virtual主目录的权限为其他用户可读,用户主目录默认为700
3.建立支持虚拟用户的PAM认证文件
[root@localhost users]# vim /etc/pam.d/vsftpd.v
[root@localhost users]# cat /etc/pam.d/vsftpd.v
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
[root@localhost users]#
4.在vsftpd.conf 文件中添加支持配置
[root@localhost users]# vim /etc/vsftpd/vsftpd.conf
[root@localhost users]# cat /etc/vsftpd/vsftpd.conf |grep -v ^# |grep -v ^$
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=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES 启用虚拟用户
guest_username=virtual 虚拟用户映射为本地用户virtual
pam_service_name=vsftpd.v 指定pam认证文件
[root@localhost users]#
5.为个别虚拟机用户建立独立的配置文件
在vsftpd.conf文件中添加用户配置目录支持
user_config_dir=/etc/vsftpd/vuser_dir
为用户ftp1.ftp2,ftp3建立独立的配置目录及文件
mkdir /etc/vsftpd/vuser_dir
cd /etc/vsftpd/vuser_dir
touch ftp1
touch ftp2 ftp3
[root@localhost vuser_dir]# cat ftp1
anon_upload_enable=NO
download_enable=YES
[root@localhost vuser_dir]# cat ftp2
anon_upload_enable=YES
download_enable=NO
[root@localhost vuser_dir]# cat ftp3
anon_upload_enable=YES
download_enable=YES
6.重新加载vsftpd配置
service vsftpd reload
getenforce 查看selinux状态
7.使用虚拟FTP账户访问测试(上传,下载)
匿名用户或其他系统用户将不能登录
禁用部分虚拟用户可以使用user_list文件
结果测试:
ftp1:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): ftp1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,0,3,99,74,192).
150 Here comes the directory listing.
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
226 Directory send OK.
ftp> pwd
257 "/"
ftp> get ftp1 get不能下载文件夹
local: ftp1 remote: ftp1
227 Entering Passive Mode (10,0,3,99,198,217).
550 Failed to open file.
ftp> !ls
a c log_back1.sh route3-4.sh svnc.sh test.sh yun
b hello.sh qiu route4-3.sh tan usr_del.sh
ftp> put a
local: a remote: a
227 Entering Passive Mode (10,0,3,99,137,8).
550 Permission denied.
ftp> ls
227 Entering Passive Mode (10,0,3,99,51,136).
150 Here comes the directory listing.
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
-rw-r--r-- 1 0 0 0 Jul 31 19:11 haha
-rw-r--r-- 1 0 0 0 Jul 31 19:11 heihei
226 Directory send OK.
ftp> get haha
local: haha remote: haha
227 Entering Passive Mode (10,0,3,99,240,189).
150 Opening BINARY mode data connection for haha (0 bytes).
226 Transfer complete.
ftp> !ls
a c hello.sh qiu route4-3.sh tan usr_del.sh
b haha log_back1.sh route3-4.sh svnc.sh test.sh yun
ftp> put a
local: a remote: a
227 Entering Passive Mode (10,0,3,99,40,15).
550 Permission denied.
ftp> exit
221 Goodbye.
ftp2:
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): ftp2
331 Please specify the password.
Password:
500 OOPS: unrecognised variable in config file: non_upload_enable
Login failed.
421 Service not available, remote server has closed connection
ftp> exit
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): ftp2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,0,3,99,241,234).
150 Here comes the directory listing.
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
-rw-r--r-- 1 0 0 0 Jul 31 19:11 haha
-rw-r--r-- 1 0 0 0 Jul 31 19:11 heihei
226 Directory send OK.
ftp> get haha
local: haha remote: haha
227 Entering Passive Mode (10,0,3,99,78,82).
550 Permission denied.
ftp> put a
local: a remote: a
227 Entering Passive Mode (10,0,3,99,161,41).
150 Ok to send data.
226 Transfer complete.
ftp> exit
221 Goodbye.
ftp3
[root@koukou tan_shell]# ftp 10.0.3.99
Connected to 10.0.3.99 (10.0.3.99).
220 (vsFTPd 2.2.2)
Name (10.0.3.99:root): ftp3
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,0,3,99,238,101).
150 Here comes the directory listing.
-rw------- 1 503 503 0 Jul 31 19:15 a
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
-rw-r--r-- 1 0 0 0 Jul 31 19:11 haha
-rw-r--r-- 1 0 0 0 Jul 31 19:11 heihei
226 Directory send OK.
ftp> get a
local: a remote: a
227 Entering Passive Mode (10,0,3,99,207,8).
550 Failed to open file.
ftp> get haha
local: haha remote: haha
227 Entering Passive Mode (10,0,3,99,83,210).
150 Opening BINARY mode data connection for haha (0 bytes).
226 Transfer complete.
ftp> put c
local: c remote: c
227 Entering Passive Mode (10,0,3,99,41,216).
150 Ok to send data.
226 Transfer complete.
ftp> ls
227 Entering Passive Mode (10,0,3,99,90,181).
150 Here comes the directory listing.
-rw------- 1 503 503 0 Jul 31 19:15 a
-rw------- 1 503 503 0 Jul 31 19:18 c
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp1
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp2
drwxr-xrwx 2 0 0 4096 Jul 31 18:56 ftp3
-rw-r--r-- 1 0 0 0 Jul 31 19:11 haha
-rw-r--r-- 1 0 0 0 Jul 31 19:11 heihei
226 Directory send OK.
ftp> exit
221 Goodbye.
[root@koukou tan_shell]#
相关文章推荐
- 在Web服务器上如何启用并运行FTP服务
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
- 编写安装配置ftp-samba服务脚本
- CentOS 开启FTP服务
- 如何在Windows Server 2008 R2下搭建FTP服务
- RHEL5中ftp服务的搭建
- 虚拟机Ubuntu Server(宿主Win7)ftp服务的安装与启动
- 【RedHat】RHEL5.3-FTP—vsftpd服务安装和配置
- ftp服务没启动
- ftp服务搭建详解
- FTP服务搭建与配置
- 关于”System.ServiceModel.Activation.WebServiceHostFactory“与"<webHttp/>"以及RestFul/启用了Ajax的WCF服务
- 使用Python创建简单的HTTP和FTP服务
- win7系统组件中无法安装IIS和FTP服务的解决办法
- linux网络服务-ftp
- systemctl管理服务的相关命令
- 打印驱动服务cups-comman unix print system
- Ubuntu开启SSH服务(相应的openssh安装)& FTP服务(相应的vsftpd安装)
- win8 iis8 发布wcf服务,诡异的Could not load type System.ServiceModel.Activation.HttpModule
- 1219 进程 ,浏览网页,邮件服务,wget,ftp客户端