Linux:服务器:我在root目录下建一个abc文件,用FTP测试连接时用匿名用户登录,put
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:服务器:我在root目录下建一个abc文件,用FTP测试连接时用匿名用户登录,put相关的知识,希望对你有一定的参考价值。
Linux:服务器:我在root目录下建一个abc文件,用FTP测试连接时用匿名用户登录,put abc ,怎么说没有这个文件?
FTP服务器配置VSFTP主配置文件路径:/etc/vsftpd/vsftpd.conf,重要参数:
anonymous_enable=yes/no 是否允许匿名用户访问
anon_upload_enable=yes/no 是否允许匿名用户上传文件
anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录
anon_other_write_enable=yes/no 匿名用户和虚拟用户是否拥有删除权限
local_enable=yes/no 是否允许本地用户登陆
write_enable=yes/no 设置全局是否可写
anon_root=/var 指定匿名用户目录
chroot_local_user=yes 锁定所有用户到用户主目录
chroot_list_enable=yes/no 锁定列表中的用户到主目录,需要配合下一参数使用
chroot_list_file=/etc/vsftpd/chroot_list 指定存储被锁定用户的列表文件位置
chown_uploads=yes/no 匿名用户上传所有者指定功能,需要与下一参数配合使用
chown_username=用户名 指定匿名用户上传文件的所有者
max_clients=300 最大客户端连接数为300
anon_max_rate=30000 匿名用户和虚拟用户限速为30K/S
local_max_rate=30000 本地用户限速为30K/S
max_per_ip=10 每个IP最大连接数
listen_port=22 更改监听端口
实现如下要求:允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。监听端口为22,最大连接数为10。新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件:
直接添加以下选项: [root@LidadeFedora vsftpd]# service vsftpd restart
添加用户ftp1,设置登录脚本为 /sbin/nologin:
vsftp默认目录为:/var/ftp,为方便测试,在/var/ftp下新建一个文件"testLocal",在"/var/ftp/pub"新建一个文件"testAnon"。
由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才能读取该文件
设置/var/ftp/pub权限为777,表示所有用户均有读写权限.
由于端口22被ssh服务器占用,所以需要关闭ssh服务并重启vsftp服务。
客户端用Flashfxp测试:新建站点"VsftpTest",输入Vsftp服务器的IP地址,端口填22,用户名填ftp1,密码填你设置的密码,然后点击"连接"按钮:
由于没有使用选项:local_root,登陆本地用户时自动跳转到该用户的主目录.没有使用chroot_local_user=yes,所以本地用户可以浏览整个文件系统中他有权限读取的文件和文件夹:
切换到目录"/var/ftp/pub",该目录的权限为777,上传一个10M以上的文件,测试ftp1的上传速度:
新建文件夹和删除权限测试省略。下面测试匿名用户权限:勾选"匿名"选项并连接:
匿名用户登陆成功: 进入pub目录,尝试删除testAnon文件失败,说明这里是配置文件中的anon_other_write_enable=no生效了。最终权限等于配置文件中的权限和linux文件系统权限相或的结果。比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。
尝试上传文件失败,符合匿名用户只允许下载的要求:
最后测试匿名用户的下载速度:
vsftp的配置参数总共也就10来行,但是想要使用好它,绝没有单单理解这10来行这么简单,需要对每一行所定义的参数都理解透彻才可以.
匿名用户的配置:
anonymous_enable=YES //允许匿名用户登录
anon_root=/var/ftp/anonymous //设定匿名用户登录后的根目录
anon_upload_enable=YES //允许匿名用户上传文件
只需要打开如上的参数即可,不用做其他的设置.本地用户登录配置
首先说一下概念,什么是本地用户,本地用户就是你系统/home目录下的用户,当然有的用户建立时候使用-m命令,使用户在/home下没有目录,但是这个词的意思就是系统里面有的用户.
local_enable=YES //允许本地用户登录
local_root=/home //限制本地用户登录后的根目录
eg:
[root@centos ftp]# ftp 192.168.0.125
Connected to 192.168.0.125.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.0.125:root): xu
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 (192,168,0,125,135,123)
150 Here comes the directory listing.
drwx------ 2 505 503 4096 Jun 26 09:42 chuan
drwx------ 2 507 507 4096 Jun 30 22:26 ftp
drwx------ 2 504 502 4096 Jun 26 09:42 joe
drwx------ 2 506 503 4096 Jun 26 09:43 laomeng
drwx------ 2 502 504 4096 Jun 26 09:42 master
drwx------ 2 503 502 4096 Jun 26 09:42 mike
drwx------ 2 500 500 4096 Jun 25 21:34 xiaochuan
drwxrwxrwx 2 508 508 4096 Jun 30 22:39 xu
drwx------ 2 501 501 409埂福第核郢姑电太钉咖6 Jun 25 20:25 xujunchuan
226 Directory send OK.
ftp> pwd
257 "/home"
限制用户目录部分
chroot_local_use=YES|NO //是否将本地用户锁定在家目录
chroot_list_enable=YES|NO //是否锁定使用者在家目录中
chroot_list_file=/etc/vsftpd/chroot_list //一般情况下都将这个文件写在/etc/vsftpd目录下,这个文件就是设置锁定用户的一个列表文件,其中一行就代表一个用户
设置欢迎信息
dirmessage_enable=YES
message_file=.message
[root@centos ftp]# cd /home
[root@centos home]# vi .message
welcomt to VSFTP.............
C:\Documents and Settings\Administrator>ftp 192.168.0.125
Connected to 192.168.0.125.
220 (vsFTPd 2.0.5)
User (192.168.0.125:(none)): xu
331 Please specify the password.
Password:
230-welcomt to VSFTP.............
230 Login successful.
ftp> 参考技术A 实现方式如下:
一、说明
1、配置文件:
/etc/vsftpd/vsftpd.conf
2、默认匿名用户:
more /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
二、举例
用系统匿名用户FTP登陆访问FTP目录,只赋予下载权限,FTP目录指定到/home/ftp
1、修改配置文件
# vi /etc/vsftpd/vsftpd.conf
local_enable=NO
connect_from_port_20=YES
listen=YES
listen_port=21
tcp_wrappers=YES
anonymous_enable=YES
ftp_username=ftp
no_anon_password=YES
anon_root=/home/ftp
anon_world_readable_only=YES
2、重启ftp服务
#service vsftpd restart
3、如果出现421 Service not available, remote server has closed connection错误
vi /etc/hosts.allow
添加:
vsftpd:ALL 参考技术B 看一下窝的网名, 以后这个种Linux的问题, 都能搞定 参考技术C 查看adc的权限,所有人是否可读。
Linux系统的目录结构
我们在打开命令行就看见如下格式:
[root@localhost ~]# [abc@localhost ~]$ 其中符号@前面的(root和abc)是登陆账户名称,localhost是主机名,~是当前用户家目录,#和$是用户权限(超级用户权限和普通用户权限)
如下是系统目录结构:
目录介绍:
家目录:/root,/home/登陆用户名 普通用户可执行文件:/bin,/usr/sbin,/usrlocal/sbin 系统管理员可执行文件:/sbin,/usr/sbin,/usr/local/sbin 配置文件目录:/etc 临时文件目录:/tmp 内核和启动文件:/boot 服务器数据:/var,/srv 系统信息:/proc,/sys 共享库:/lib,/usr/lib,/usr/local/lib 其他挂载点:/media,/mnt 文件或目录名不能大于255个字符,区分大小,不能使用"/",不允许创建与系统已有的相同名字的目录。
以上是关于Linux:服务器:我在root目录下建一个abc文件,用FTP测试连接时用匿名用户登录,put的主要内容,如果未能解决你的问题,请参考以下文章