2008年12月29日星期一

vsftp服务文档以及相关测试

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

# vi /etc/vsftpd.conf
anonymous_enable=YES // :7 ,匿名帐户可登陆
local_enable=YES // :10 ,本地帐户可以登陆
write_enable=YES // :13 ,用户通过ftp在服务器上是否有写权限
local_umask=022 // :17 ,创建时默认权限。文件夹=777-umask,文件=666-umask
anon_upload_enable=YES // :22 ,允许匿名帐户上传
anon_mkdir_write_enable=YES // :26 ,允许匿名帐户创建文件夹
chown_uploads=YES // :41 ,开启匿名帐户上传自动更改所属功能
chown_username=bob // :42 ,属主改为bob
idle_session_timeout=600 // :52 ,空闲会话超时时间
ascii_upload_enable=YES // :76 ,以ASCII方式上传
ftpd_banner=Welcome to blah FTP service. // :80 ,欢迎界面
chroot_list_enable=YES // :91 ,开启用户更改根目录功能,默认为禁用更改根
chroot_list_file=/etc/vsftpd.chroot_list // :93 ,该文件中所有用户无法更改根
查看文件其它参数 # man vsftpd.conf
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 删除文件
[separator]

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

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

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

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

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

实验三、针对于超级守护的安全性限制(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 <== # man xinetd.conf
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

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

现象2:
530 Permission denied.
Login failed.
原因: “/etc/vsftpd.user_list”文件中不存在当前登陆用户
解决: # echo username >> /etc/vsftpd.user_list

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

现象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 // 切换到运行级别5
# startx // 以当前身份当前环境变理切到图型
++ // 返回字符
+ // 菜单
+ // 运行

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

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

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

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

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

没有评论:

发表评论