参考:http://wenku.baidu.com/link?url=lSFqo2xn8bKgQjqCF0-rIVRLDhx_H3MQ3dK3rpO_4XkX1e2jgfUSWs1EQLzrzWE1_ZfTyUFLILhWYOo-6-iOpKAA-YRviElGNVEZ8w4ncPa (http:///8swCnMQ)
问题: 1.530 Permission denied.
2.227 Entering Passive Mode. 一、说明。 linux 系统下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 还有一个是proftp(Profession ftp)。 我们这里也是简单的说明下vsftp的配置。 vsftp提供3种远程的登录方式: (1)匿名登录方式 就是不需要用户名,密码。就能登录到服务器电脑里面 (2)本地用户方式 需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统里面,已经有的用户。 (3)虚拟用户方式 同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户账号) 二、安装。 命令:yum install vsftpd 三、启动、关闭、重启:service vsftpd start/stop/restart. 注:--查看vsftpd 启动状态 [root@singledb ~]# chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@singledb ~]# chkconfig vsftpd on [root@singledb ~]# chkconfig --list vsftpd vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 这里看到,默认情况下从2到5设置为on了。2到5是多用户级别。 这个对应的是linux不同的运行级别。 我们也可以加level 选项来指定: [root@singledb ~]# chkconfig --level 0 vsftpd on [root@singledb ~]# chkconfig --list vsftpd vsftpd 0:on 1:off 2:on 3:on 4:on 5:on 6:off 我们看到0已经设置为on了。 传统的init 定义了7个运行级(run level),每一个级别都代表系统应该补充运行的某些特定服务: (1)0级是完全关闭系统的级别 (2)1级或者S级代表单用户模式 (3)2-5 级 是多用户级别 (4)6级 是 重新引导的级别 四、配置。 1.配置文件: 位置:/etc/vsftpd/ vsftpd.conf: 主配置文件; vsftpd.conf 文件设置如下参数: (1)ftpd_banner=welcome to ftp service :设置连接服务器后的欢迎信息 (2)idle_session_timeout=60 :限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒) (3)data_connection_timeout=120 :设置客户机在进行数据传输时,设置空闲的数据中断时间 (4)accept_timeout=60 设置在多长时间后自动建立连接 (5)connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用; (6)max_clients=200 指明服务器总的客户并发连接数为200 (7)max_per_ip=3 指明每个客户机的最大连接数为3 (8)local_max_rate=50000(50kbytes/sec) 本地用户最大传输速率限制 (9)anon_max_rate=30000匿名用户的最大传输速率限制 (10)pasv_min_port=端口 (11)pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口; (12)listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接; (13)listen_port=端口号 设置FTP工作的端口号,默认的为21 (14)chroot_local_user=YES 设置所有的本地用户可以chroot (15)chroot_local_user=NO 设置指定用户能够chroot (16)chroot_list_enable=YES (17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用户才能执行 ) (18)local_root=path 无论哪个用户都能登录的用户,定义登录账号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录; (19)chroot_local_user=yes/no 是否锁定本地系统账号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下; (20)chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定; (21)userlist_enable=YES/NO 是否加载用户列表文件; (22)userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录; (23)userlist_file=/etc/vsftpd/user_list 列表文件 五、ftp用户管理。 1.默认情况下,ftp根目录是/var/ftp。 如果要修改这个目录位置,可以更改/etc/passwd 文件: [root@singledb ftp]# cat /etc/passwd | grep ftp ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 2.创建一个用户来访问FTP,并指定该用户的FTP 目录: [root@singledb u02]# useradd -d /u02/qsftp qs [root@singledb u02]# passwd qs 以上创建用户的方法可以用该账号登录系统,但是我们要创建的账号是可以登录FTP但是不可以登录系统。 #useradd -d /var/www/html/qs -g ftp -s /sbin/nologin qs //-d是指定目录(必须为相对根的跟路径,否则提示阿弥有home家目录),-g指定分组为ftp组,-s指定该用户不能返回上一级。 #passwd qs //设置密码 /*********************************************************************************************/ vsftp限制用户访问其他目录 /etc/vsftpd/vsftpd.conf下 chroot_local_user=YES chroot_list_enables=YES # (default follows) chroot_list_file=/etc/vsftpd/vsftpd.chroot_list //需要在相应路径下编辑vsftpd.chroot_list文件,将受限制的用户列在其中 /*********************************************************************************************/ 防止用户返回到上一级目录: 如果你想禁止所有用户调转到上级目录,可以设置 附录: 1. 匿名服务器的连接(独立的服务器) 2. 开启匿名FTP服务器上传权限 3. 开启匿名服务器下传的权限 4.普通用户FTP服务器的连接(独立服务器) 5. 用户登陆限制进其它的目录,只能进它的主目录 6. 限制本地用户访问FTP 7. 安全选项 8. 查看谁登陆了FTP,并杀死它的进程
|
|
来自: luxinghui2016 > 《vsftp》