在这里让我们一起学习,一起提高!
FTP有ASCII和Binary两种传输模式。
Binary模式不会对数据进行任何处理。
Ascii模式会将回车换行转换为本机的回车字符。
由于WINDOWS和UNIX的行结束符不一样。所以从WINDOWS用Binary传输方式传输文本文件到UNIX时可能会出现^M。同样从UNIX用Binary方式传输文件到WINDOWS时,也可能出现回车换行显示不正确的问题。
WINDOWS下新建ftp_ascii.txt内容如下:
hello word!
WINDOWD TO UNIX !
TEST FTP ASCII;
我们分别用两种模式上传到UNIX.
ASCII模式正常
vi ftp_ascii.txt
hello word!
WINDOWD TO UNIX !
TEST FTP ASCII;
二进制模式 Binary有问题
/oracle$vi ftp_ascii.txt
hello word!^M
WINDOWD TO UNIX !^M
TEST FTP Binary;
由此可知我们采用ASCII模式传输文本可以避免传输中的^M问题。
在FlashFXP中可以在菜单
会话->传输模式中 选择ASCII ,BINARY ,自动三种模式
命令行中
ftp> help binary
binary 设置二进制传输类型
ftp> help ascii
ascii 设置 ASCII 传输类型
ftp> ascii
200 Type set to A.
ftp> bin
200 Type set to binary.
FTP中虽然ASCII模式可以避免^M的问题。
但大多数情况还是选择Binary方式,这样可以保证传输的内容不会被改变。尤其是在传输可执行文件时, 大多选用binary方式.
在多数的OS中默认的都是Binary方式, 但在AIX中默认的是ASCII方式.
Binary模式不会对数据进行任何处理。
Ascii模式会将回车换行转换为本机的回车字符。
由于WINDOWS和UNIX的行结束符不一样。所以从WINDOWS用Binary传输方式传输文本文件到UNIX时可能会出现^M。同样从UNIX用Binary方式传输文件到WINDOWS时,也可能出现回车换行显示不正确的问题。
WINDOWS下新建ftp_ascii.txt内容如下:
hello word!
WINDOWD TO UNIX !
TEST FTP ASCII;
我们分别用两种模式上传到UNIX.
ASCII模式正常
vi ftp_ascii.txt
hello word!
WINDOWD TO UNIX !
TEST FTP ASCII;
二进制模式 Binary有问题
/oracle$vi ftp_ascii.txt
hello word!^M
WINDOWD TO UNIX !^M
TEST FTP Binary;
由此可知我们采用ASCII模式传输文本可以避免传输中的^M问题。
在FlashFXP中可以在菜单
会话->传输模式中 选择ASCII ,BINARY ,自动三种模式
命令行中
ftp> help binary
binary 设置二进制传输类型
ftp> help ascii
ascii 设置 ASCII 传输类型
ftp> ascii
200 Type set to A.
ftp> bin
200 Type set to binary.
FTP中虽然ASCII模式可以避免^M的问题。
但大多数情况还是选择Binary方式,这样可以保证传输的内容不会被改变。尤其是在传输可执行文件时, 大多选用binary方式.
在多数的OS中默认的都是Binary方式, 但在AIX中默认的是ASCII方式.
系统环境:RedHat 9 (内核:linux-2.4.20-8)
FTP版本:vsftpd-1.1.3-8
实验需要:配置FTP服务器,匿名用户能够访问,上传、下载文档。
具体步骤如下:
(1)编辑/etc/vsftpd/vsftpd.conf需要修改以下几段配置命令,去掉前面的#号。
Anonymous_enable = YES 允许匿名用户访问
Anon_upload_enable = YES 允许匿名用户上传
Anon_mkdir_write_enable = YES 允许匿名用户创建文档
Anon_uploads = YES 允许用户上传
在最后加上,以下几段代码
anon_other_write_enable = YES
anon_umask = 077或777 改变文档的权限
(2)启动FTP服务
#/etc/rc.d/init.d/vsftd start
实验中碰到的问题
1. 访问不了
注意是否关闭了防火墙,service iptables stop
2. 能上传但不能下载
去掉chown_upload = YES前面的#,然后在最后增加anon_umask = 077的文档权限
3. 没有写的权限
#chmod 777 /var/ftp/pub
怎样让root用户FTP
/etc/vsftpd.ftpusers和/etc/vsftpd.user_list中将root用户加上#号
怎样限定FTP用户的目录.
默认情况下ftp用户能够浏览任意目录,这样不安全.能够LINUX用户在FTP后只进入自己的主目录
以vsftp为例:
1.修改主目录能够通过usermod命令修改;当然直接修改passwd中的定义也是能够的.但是不建议这样操作.
2. 修改config文档中下面的语句:
chroot_local_user=YES; # Uncomment to put local users in a chroot() jail in their home directory after login.
chroot_list_file=/etc/vsftpd.chroot_list; 在该文档中,定义不能改变目录的用户.
FTP版本:vsftpd-1.1.3-8
实验需要:配置FTP服务器,匿名用户能够访问,上传、下载文档。
具体步骤如下:
(1)编辑/etc/vsftpd/vsftpd.conf需要修改以下几段配置命令,去掉前面的#号。
Anonymous_enable = YES 允许匿名用户访问
Anon_upload_enable = YES 允许匿名用户上传
Anon_mkdir_write_enable = YES 允许匿名用户创建文档
Anon_uploads = YES 允许用户上传
在最后加上,以下几段代码
anon_other_write_enable = YES
anon_umask = 077或777 改变文档的权限
(2)启动FTP服务
#/etc/rc.d/init.d/vsftd start
实验中碰到的问题
1. 访问不了
注意是否关闭了防火墙,service iptables stop
2. 能上传但不能下载
去掉chown_upload = YES前面的#,然后在最后增加anon_umask = 077的文档权限
3. 没有写的权限
#chmod 777 /var/ftp/pub
怎样让root用户FTP
/etc/vsftpd.ftpusers和/etc/vsftpd.user_list中将root用户加上#号
怎样限定FTP用户的目录.
默认情况下ftp用户能够浏览任意目录,这样不安全.能够LINUX用户在FTP后只进入自己的主目录
以vsftp为例:
1.修改主目录能够通过usermod命令修改;当然直接修改passwd中的定义也是能够的.但是不建议这样操作.
2. 修改config文档中下面的语句:
chroot_local_user=YES; # Uncomment to put local users in a chroot() jail in their home directory after login.
chroot_list_file=/etc/vsftpd.chroot_list; 在该文档中,定义不能改变目录的用户.
step1:下载vsftpd
wget:ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.1.tar.gz
step2:解压vsftpd的压缩包
t
ar zxvf vsftpd1.2.1.tar.gz
cd vsftpd1.2.1
step3:安装vsftpd
useradd nobody
mkdir /usr/share/empty
make
make install
cp vsftpd.conf /etc/
cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
注vsftpd的可执行文件在/usr/local/sbin/vsftpd
step4:修改配置文件,让vsftpd以“standalone”模式运行
listen=YES
local_enable=YES
pam_service_name=vsftpd
write_enable=YES
chroot_local_users=YES
step5:启动并测试
/usr/local/sbin/vsftpd &
现在就可以使用系统账户登陆ftp了
wget:ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.1.tar.gz
step2:解压vsftpd的压缩包
t
ar zxvf vsftpd1.2.1.tar.gz
cd vsftpd1.2.1
step3:安装vsftpd
useradd nobody
mkdir /usr/share/empty
make
make install
cp vsftpd.conf /etc/
cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
注vsftpd的可执行文件在/usr/local/sbin/vsftpd
step4:修改配置文件,让vsftpd以“standalone”模式运行
listen=YES
local_enable=YES
pam_service_name=vsftpd
write_enable=YES
chroot_local_users=YES
step5:启动并测试
/usr/local/sbin/vsftpd &
现在就可以使用系统账户登陆ftp了
架设一台FTP服务器其实很简单。首先,要保证你的机器能上网,而且有不低于ADSL 512Kbps的网络速度。其次,硬件性能要能满足你的需要。最后,需要安装FTP服务器端的软件,这类软件很多,可以使用微软的IIS(Internet Information Server 因特网信息服务系统),也可以使用专业软件。不同的软件提供的功能不同,适应的需求和操作系统也不同。一般来说,系统最低要求如下: