FTP
Posted fengdou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP相关的知识,希望对你有一定的参考价值。
搭建匿名访问的FTP服务
1,安装FTP服务软件
[[email protected] ~]# mount /dev/sr0 /media/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
[[email protected] ~]# yum -y install vsftpd //ftp服务软件包
2,准备匿名FTP访问目录
FTP其实就是在server端创建一个共享目录,client端连过来就可以从这个目录下载或上传数据
[[email protected] ~]# cd /var/ftp/ //yum安装的FTP默认就有ftp目录,没有的话需要创建
[[email protected] ftp]# ls
pub //FTP下的pub目录就是共享目录
[[email protected] ftp]# ll
total 4
drwxr-xr-x. 2 root root 4096 Mar 1 2013 pub //因为需要程序用户往里写数据,所以必须把属主改成ftp这个程序用户
[[email protected] ftp]# id ftp
uid=14(ftp) gid=50(ftp) groups=50(ftp) //ftp这个程序用户默认有
[[email protected] ftp]# chown ftp pub/ // 改目录的属主
3,开放匿名用户配置并启动vsftpd服务
打开配置文件
匿名配置文件就好了,开启服务
[[email protected] vsftpd]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[[email protected] vsftpd]# ss -antup | grep vsftpd //开启服务需要过滤一下端口,有的时候显示开了,其实没开
tcp LISTEN 0 32 *:21 *:* users:(("vsftpd",1081,3))
ftp的命令和Linux里的命令不一样需要自己看用help
命令看
搭建本地用户验证的 FTP 服务
服务器端关闭Linux的selinux防火墙配 setenforce 0 表示关闭selinux防火墙
匿名用户的FTP
1,建立虚拟用户账号数据库
vsftpd 服务使用 Berkeley DB 格式的数据库文件来存放虚拟用户账号,使用 db_load 工具生成数据库文件。(若未安装,安装包在安装光盘 1 中,软件名为 db4-utils)
注:db_load 命令
-T:允许非 Berkeley 的程序使用该数据库
-t:指定算法 (hash:哈希,散列)
-f:指定源文件
注意:生成的数据库文件必须为“.db”格式
2,添加虚拟映射账号,为FTP根目录修改权限
[[email protected] vsftpd]# useradd -d /var/ftproot/ -s /sbin/nologin virtual //这是映射账号,所有虚拟账号链接过来都会成为这个账号,指定家目录
[[email protected] vsftpd]# ll -d /var/ftproot/
drwx------. 2 virtual virtual 4096 Nov 4 18:47 /var/ftproot/
[[email protected] vsftpd]# chmod 755 /var/ftproot/ // 把家目录的权限修改了
[[email protected] vsftpd]# ll -d /var/ftproot/
drwxr-xr-x. 2 virtual virtual 4096 Nov 4 18:47 /var/ftproot/
[[email protected] vsftpd]#
3,添加PAM认证
4,修改vsftp.conf配置文件,重启服务
5,实现每个虚拟用户不同根目录、不同权限的管控
(1)创建用户控制目录,并创建虚拟所对应的同名配置文件
修改 zhangsan 的配置文件,使其可以上传、建立目录、删除文件、重命名文件、最大传输速率 1 字节/秒、根目录为/var/zhangsan
修改 lisi 的配置文件,使其仅可以下载上传,不开放其他权限,不限制传输速率,根目录为/var/lisi
wangwu 的配置文件不做修改,其权限为配置文件中的默认权限,根目录为/var/ftproot,仅可以下载,无法上传。
(2)修改 vsftpd.conf 主配置文件,重启服务
(3)客户端测试
以上是关于FTP的主要内容,如果未能解决你的问题,请参考以下文章
七个办法只有一个有效:200 PORT command successful. Consider using PASV.425 Failed to establish connection.(代码片段