现在的位置: 首页 > 综合 > 正文

vsftp服务

2013年03月03日 ⁄ 综合 ⁄ 共 7254字 ⁄ 字号 评论关闭
出自:http://domren.blog.163.com/blog/static/15982587200611110343451/

vsftp(very securit)
原理:
  LAN  Samba netbios
       WAN  ftp tcp
作用:  网络上文件传输
协议:  tcp(21、20)
rpm:  vsftpd、anonftp
守护进程: vsftpd(超级) 8.0、vsftpd(独立) 9.0
匿名帐户: ftp、anonymous

三个相关文件:
/etc/vsftpd.conf 服务主配置文件
/etc/vsftpd.ftpusers 该列表中用户永远也不能登陆ftp
/etc/vsftpd.user_list
·当/etc/vsftpd.conf主配置文件如下
"userlist_deny=YES"时,/etc/vsftpd.user_list中所有帐户不能登陆ftp
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list
·当/etc/vsftpd.conf主配置文件如下
"userlist_deny=NO"时,只有/etc/vsftpd.user_list中所有帐户能登陆ftp
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

当权限发生冲突时: /etc/vsftpd.ftpusers > /etc/vsftpd.user_list

关于共享权限问题: 共享权限、本地权限
用户主目录
        匿名用户 /var/ftp
        本地用户 /home/username

配置vsftpd时,强烈建议
·# cp /etc/vsftpd.conf /etc/vsftpd.conf1<Enter>      //备份,vsftpd.conf是个比较苛刻的主文件,修改时不小心在有效行后加一个空格就会使服务启用失败
  # diff /etc/vsftpd.conf /etc/vsftpd.conf1<Enter>    //文件内容比较
·做一步,重启一下,测试

# vi /etc/vsftpd.conf<Enter>
anonymous_enable=YES    // :7<Enter> ,匿名帐户可登陆
local_enable=YES    // :10<Enter> ,本地帐户可以登陆
write_enable=YES    // :13<Enter> ,用户通过ftp在服务器上是否有写权限
local_umask=022    // :17<Enter> ,创建时默认权限。文件夹=777-umask,文件=666-umask
anon_upload_enable=YES    // :22<Enter> ,允许匿名帐户上传
anon_mkdir_write_enable=YES   // :26<Enter> ,允许匿名帐户创建文件夹
chown_uploads=YES    // :41<Enter> ,开启匿名帐户上传自动更改所属功能
chown_username=bob    // :42<Enter> ,属主改为bob
idle_session_timeout=600   // :52<Enter> ,空闲会话超时时间
ascii_upload_enable=YES   // :76<Enter> ,以ASCII方式上传
ftpd_banner=Welcome to blah FTP service. // :80<Enter> ,欢迎界面
chroot_list_enable=YES   // :91<Enter> ,开启用户更改根目录功能,默认为禁用更改根
chroot_list_file=/etc/vsftpd.chroot_list // :93<Enter> ,该文件中所有用户无法更改根
查看文件其它参数    # man vsftpd.conf<Enter>
anon_other_write_enable=YES   // 允许匿名帐户删除、重命名
anon_root=/ftp    // 更改匿名帐户根目录,默认为"/var/ftp"
local_root=/local    // 更改本地帐户根目录为/local,默认为用户主目录~
userlist_enable=YES    // 开启用户列表功能
userlist_deny=YES    // 用户列表文件中所有帐户全拒绝。NO时,只有列表中用户能登陆
userlist_file=/etc/vsftpd.user_list // 用户列表文件
anon_max_rate=0    // 匿名用户最大传输速率,0为无限
local_max_rate=0    // 本地用户最大传输速率,0为无限
max_clients=0     // 最大客户端连接数,0为无限
pasv_max_port=0    // 客户端端口最大限制,0为无限制
pasv_min_port=0    // 客户端端口最小限制,0为无限制

测试
方法一、IE(不建议)
方法二、cmd(强烈推荐),有回显提示。

ftp常用测试命令
? 帮助
bye 退出
quit 退出
exit 退出(仅linux客户端)
cd 服务器端路径更改
lcd 本地路径更改
pwd 显示服务器端当前路径
dir 显示服务器端当前目录中内容(显示权限)
ls 显示服务器端当前目录中内容(在linux中使用时也显示权限)
put 上传
get 下载
mkdir 建文件夹
rmdir 删除文件夹
rename 重命名
delete 删除文件

实验一、针对于本地用户的设置
1、限定只有本地帐户能登陆,匿名帐户无法登陆
2、本地帐户bob不可以更改自已主目录以外的其他目录
3、在本地帐户中只有bob能登陆,alice不能登陆
4、本地帐户可以上传文件,以ASCII方式上传
5、登陆时显示欢迎信息“Welcome to my ftp site”

# vi /etc/vsftpd.conf<Enter>
anonymous_enable=NO     // 1、:7<Enter>;需改
local_enable=YES     // 1、:10<Enter>;默认,确认
 230 Login successful. Have fun.  验证:登陆成功提示
 Login failed.     验证:登陆失败提示
chroot_list_enable=YES    // 2、:91<Enter>;需删除开头#号注释
chroot_list_file=/etc/vsftpd.chroot_list  // 2、:93<Enter>;需删除开头#号注释
 ftp> pwd<Enter>
 257 "/"     验证:成功显示
 257 "/home/bob"    验证:改之前显示
userlist_enable=YES     // 3、添加
userlist_deny=NO     // 3、添加
userlist_file=/etc/vsftpd.user_list  // 3、添加
write_enable=YES     // 4、:13<Enter>;默认,确认
ascii_upload_enable=YES    // 4、:76<Enter>;需删除开头#号注释
ftpd_banner=Welcome to my ftpsite   // 5、:80<Enter>;需删除开头#号注释,需修改
 x: > ftp 192.168.1.201<Enter>
 Connected to 192.168.1.201.
 220 Welcome to my ftp site   验证:未登陆提示
# echo bob >> /etc/vsftpd.user_list<Enter> // 3、添加新行bob
# echo bob > /etc/vsftpd.chroot_list<Enter> // 2、需存在该文件
# chkconfig vsftpd on<Enter>   // 超级守护立即启动、开机自动启动
# service xinetd restart<Enter>   // 重启vsftpd服务

测试:
x: > ftp linux.wnt.com.cn<Enter>

实验二、针对于匿名帐户的设置
1、只有匿名帐户可以登陆
2、在FTP目录下创建incoming目录
3、允许匿名访问,但不允许在ftp目录中创建,删除
4、允许匿名用户在incoming目录中上传,创建,删除目录。
5、匿名帐户上传的文件,自动变为alice所属
6、用户空闲600秒自动中断
7、匿名帐户最大传输速率50kbytes/sec
8、客户端口连接范围50000到60000

# vi /etc/vsftpd.conf<Enter>
anonymous_enable=YES   // 1、:7<Enter>或“/anonymous”<Enter> 确认
local_enable=NO   // 1、:10<Enter>或“/local”<Enter> 修改
anon_upload_enable=YES  // 4、:22<Enter>或“/upload”<Enter> 删除注释 
anon_mkdir_write_enable=YES  // 4、:26<Enter>或“/mkdir”<Enter> 删除注释 
anon_other_write_enable=YES  // 4、:27<Enter>    添加
chown_uploads=YES   // 5、:41<Enter>或“/chown”<Enter> 删除注释 
chown_username=alice   // 5、:42<Enter>    删除注释,再修改
idle_session_timeout=600  // 6、:52<Enter>或“session”<Enter> 删除注释
anon_max_rate=50000   // 7、    添加
pasv_min_port=50000   // 8、    添加
pasv_max_port=60000   // 8、    添加
# mkdir /var/ftp/incoming<Enter> // 2、
# chmod go+w /var/ftp/incoming<Enter> // 4、 g(group)组、o(other)其它人全有写权限
# chkconfig vsftpd on<Enter> ==> # service xinetd restart<Enter>

实验三、针对于超级守护的安全性限制(8。0版本可配,因9。0后vsftpd改为独立守护进程不能用此方法)
1、限定192.168.1.0/24能访问
2、10.0.0.0不能访问
3、每个客户机最大连接数1
4、服务器最大连接数200
5、只有13:00到17:00期间能访问ftp服务器

# vi /etc/xinetd.d/vsftpd<Enter> <== # man xinetd.conf<Enter>
only_from = 192.168.1.0  // 1、添加在括号内
no_access = 10.0.0.0   // 2、添加在括号内
per_source = 1   // 3、添加在括号内
instances = 200   // 4、添加在括号内
access_times = 13:00-17:00  // 5、添加在括号内

ftp客户连接常见故障现象
现象0:
> ftp: connect :连接被拒绝
原因: 服务没启动
解决: # chkconfig vsftpd on<Enter>

现象1:
500 OOPS: cannot open user list file
原因: 不存在文件“/etc/vsftpd.user_list”或文件中不存在该帐户
解决: # echo username >> /etc/vsftpd.user_list<Enter>

现象2:
530 Permission denied.
Login failed.

原因: “/etc/vsftpd.user_list”文件中不存在当前登陆用户
解决: # echo username >> /etc/vsftpd.user_list<Enter>

现象3:
500 OOPS: cannot open chroot() user list file
Login failed.
原因: 不存在文件“/etc/vsftpd.chroot_list”
解决: # echo username >> /etc/vsftpd.chroot_list<Enter>

现象4:
500 OOPS: missing value in config file
Connection closed by remote host.

原因: “=”等号前值有问题,或只有一个空格
解决: 修正相应的值即可,可能过 diff 来比较查找

现象5:
500 OOPS: bad bool value in config file
Connection closed by remote host.
原因: “=”等号后值有问题
解决: 将“=”等号后值确认修改

现象6:
500 OOPS: unrecognised variable in config file
Connection closed by remote host.
原因: 参数前有空格
解决: 将参数前空格删除

现象7、
确认存在“local_enable=YES”,但本地用户无法登陆
原因: 验证参数被误删除
解决: 添加“pam_service_name=vsftpd”

现象8、
500 OOPS: chdir
500 OOPS: child died
Connection closed by remote host.
原因: 用户主目录没有权限或没有主目录
解决: 正确设置用户主目录权限

X的基本元素:Server、Client程序、通讯通道、窗口管理器和桌面环境

Linux常用经典桌面:Gnome、KDE

字符切换到图型
# init 5<Enter> // 切换到运行级别5
# startx<Enter> // 以当前身份当前环境变理切到图型
 <ctrl>+<alt>+<backspace> // 返回字符
 <alt>+<F1> // 菜单
 <alt>+<F2> // 运行

安装中文字体,可显示中文
插入第一张光盘
# mount /mnt/cdrom<Enter>
# rpm -ivh /mnt/cdrom/RedHat/RPMS/ttfonts-zh_CN*<Enter>
# init 5<Enter>
左下角"Language" ==> 简体中文

显示分辨率更改
# vi /etc/X11/XF86Config<Enter>
DefaultDepth 16   // “/Depth<Enter>” 16色(颜色质量)
 <== DefaultDepth 24  // 24位(颜色质量)
Depth 16    // “/Depth<Enter>”
 <== Depth 24
Modes "640x480"   // 屏幕分辨率(像素),前面的优先
 <== Modes "1024x768" "800x600" "640x480"

X无法启动,常见故障
现象:图型无法启动
原因: xfs 服务没有启动
解决: # service xfs start && chkconfig xfs on<Etner>

samba-swat
作用:通过IE来配置samba服务
守护进程: swat(超级守护)
协议:  tcp/901  <== # grep swat /etc/services<Enter>
# chkconfig swat on<Enter>
# init 5<Enter>
在本地图型下打开 Mozila 浏览器 http://127.0.0.1:901
输入管理员帐户%密码,root%wnt

linux上网(adsl)
·路由猫上网
 # vi /etc/sysconfig/network-scripts/ifcfg-eth0<Enter>
 DEVICE=eth0
 ONBOOT=yes
 BOOTPRO=static
 IPADD=192.168.1.100
 NETMASK=255.255.255.0
 GATEWAY=192.168.1.1
 # service network restart<Enter>
 # vi /etc/resolv.conf<Enter>
 nameserver 202.96.69.38
 nameserver 202.96.64.68
 nameserver 202.96.75.68
·拨号猫上网
 # adsl-setup<Enter>
 Enter you Login Name (default root): suzhen@163<Enter>
 INTERFACE (default eth0): <Enter>
 Enter the demand value (default no): <Enter>
 Enter the DNS information here: 202.96.69.38<Enter>
 Enter the Secondary DNS server address here: 202.96.64.68<Enter>
 Please enter your password: 输入不显示<Enter>
 Please re-enter your password: 输入不显示<Enter>
 USERCTRL (default yes): <Etner>
 Choose a type of firewall (0-2):  1<Enter>
 Start this Connection at boot time ,Please enter no or yes: yes<Enter>
 Accept these settings and adjust configuration files (y/n)? y<Enter>
 # adsl-start<Enter>
 # adsl-connect<Enter>
 # adsl-status<Enter>
 # adsl-stop<Enter>

抱歉!评论已关闭.