~
Linux VPS用户一般都通过SFTP/SCP协议连接OpenSSH Server进行文件传输,但有时候,你希望某些用户只能上传文件到网站目录,而不能够登录系统执行命令以及访问其他目录,这时用FTP Server就能很好地实现.Linux上常用的FTP Server有VSFTPD和ProFTPD,其中ProFTPD简单易用,功能也不错,这里以ProFTPD为例搭建FTP服务器.当然,FTP也可以作为局域网内文件共享的一种方式,比如你的室友使用Windows,向你的Ubuntu ProFTPD个人电脑上传了一部影片,这样就不用拿U盘去拷贝了,其他室友也可以从你的ProFTPD上下载影片.
proftpd的配置方式类似apache,比vsftpd更易用,xampp就集成了proftpd.
代码如下:
sudo apt-get install proftpd-basic
安装时默认作为一个standalone server运行proftpd,如果每天的ftp请求量少,可以安装为inetd服务,节省服务器资源.
这里我使用默认值,安装为standalone server.
代码如下:
sudo netstat -antp|grep proftpd
查看proftpd监听的21端口
用proftpd提供的ftpasswd新建虚拟用户test并设置密码:
代码如下:
sudo mkdir -p /png/proftpd
代码如下:
sudo ftpasswd \
--passwd \
--file=/png/proftpd/passwd \
--name=test \
--uid=122 \
--gid=65534 \
--home=/srv/ftp \
--shell=/bin/false
其中uid和gid我使用的是安装proftpd时自动创建的系统用户ftp:nogroup的uid和gid,执行cat /etc/passwd|grep ftp可见.
/srv/ftp是安装proftpd时自动创建的目录,所有者为ftp:nogroup,权限为755.
这样虚拟用户test以系统用户ftp:nogroup登录/srv/ftp便可以对该目录进行读写.
Linux上的FTP Server的读写权限是映射到系统UGO(User Group Other)上的.
创建虚拟用户时通过设置系统用户uid和gid,以及合理地配置/srv/ftp目录及其文件权限来实现读写控制.
创建新用户时再次执行上述命令即可,根据需要改变一些参数.
比如我创建了一个以uid:gid为1000:1000的系统用户运行,登录目录为/png/www/example.com的虚拟用户eechen:
代码如下:
sudo ftpasswd \
--passwd \
--file=/png/proftpd/passwd \
--name=eechen \
--uid=1000 \
--gid=1000 \
--home=/png/www/example.com \
--shell=/bin/false
创建用户不需要重载proftpd,因为proftpd每次认证时都会读取认证文件.
代码如下:
sudo chown proftpd:nogroup /png/proftpd/passwd 设置passwd文件读写权限,确保proftpd能读取该文件.
代码如下:
sudo nano /etc/proftpd/proftpd.conf
在末尾加入:
代码如下:
DefaultRoot ~ #将用户限定在自己的目录中,上面test用户对应的就是/srv/ftp
RequireValidShell off #禁用Shell请求认证
AuthOrder mod_auth_file.c #认证方式顺序,这里采用文件认证
AuthUserFile /png/proftpd/passwd #存放用户名和密码的文件
代码如下:
sudo service proftpd reload
重载使配置生效。
更改proftpd的默认端口
在文件/etc/proftpd.conf找到:
代码如下:
Port 21
更改为:
代码如下:
Port 2121
如果开启了iptables,iptables限制了所有的出站端口,加载模块ip_conntrack_ftp,这时在加载ip_conntrack_ftp模块时需要更改代理端口为2121。
打开/etc/sysconfig/iptables-config,保证此文件定义加载了ip_conntrack_ftp,如:
代码如下:
IPTABLES_MODULES="ip_conntrack_ftp"
然后在文件/etc/modprobe.conf增加此模块的参数:
代码如下:
options ip_conntrack_ftp ports=2121
如果需要手动加载,则可以执行以下命令:
代码如下:
/sbin/modprobe ip_conntrack_ftp ports=2121
linux建ftp服务器答:linux系统ftp命令用法?linux操作ftp命令的用法有四种:1.连接ftp服务器 格式:ftp a)在linux命令行下输入:ftp192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。2.下载文件 下载文件通常用get和mget这两条命令。a)get 格式:get 将文件从远端主机中传送至本地...
linux怎么搭建ftp服务器答:vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的ftp软件 方法/步骤 1、用在线安装 yum install vsftpd pam* db4*-y 使用命令将vsftp配置为系统服务 chkconfig --level 35 vsftpd on 2、配置vsftpd服务的宿主 useradd vsftpdadmin -s ...
Linux怎么安装使用FTP服务器ProFTPD答:Linux安装使用FTP服务器ProFTPD方法 Linux VPS用户一般都通过SFTP/SCP协议连接OpenSSH Server进行文件传输,但有时候,你希望某些用户只能上传文件到网站目录,而不能够登录系统执行命令以及访问其他目录,这时用FTP Server就能很好地实现.Linux上常用的FTP Server有VSFTPD和ProFTPD,其中ProFTPD简单易用,功能也不错,...
linux 服务器怎么启动ftp?答:Liux系统下有好几款很不错的ftp服务,各有特点,适应于不同的应用场合。一般在各种Linux的发行版中,默认带有的ftp软件是vsftp,本文是针对CentOs7系统下搭建vsftpd服务为例。1. 首先确定系统中已经安装了vsftpd软件,查看命令:rpm -q vsftpd rpm -qa |grep vsftpd 2. 安装vsftpd(以yum安装为例)yum...
linuxftp开启答:suselinux怎么安装ftp? 有几种方法: 1.命令的方法:ps-aux|grepftpdnetstat-na|grep21看看有没有启动。 2.在界面模式下查看ftp服务有没有开启,比如suseLinux的,在yast中就能看到3.你用ftp软件看看能否连到系统。这方法缺点明显,要是配置错了也连不上,呵呵。建议采用第一种,直接用命令查看。 linux开启端口命令?
linux 里没有ftp服务 怎么安装?答:Linux中的ftp服务器一般是安装vsftp。以centos为例,具体操作如下:1、运行yum install vsftpd命令 命令具体的细节如下:[root@banyue.net]# yum install vsftpd Setting up Install Process Parsing package install arguments Resolving Dependencies –> Running transaction check —> Package vsftpd.i386 0...
如何在linux下开启FTP服务答:the password.Password:500 OOPS: cannot change directory:/home/frank Login failed.ftp> ls 500 OOPS: child died Connection closed by remote host.解决方法:setsebool ftpd_disable_trans 1 service vsftpd restart 就OK了!这是SELinux的设置命令,在不熟悉SELnux前,把SELinux关掉也可以的。
如何在linux下搭建ftp服务?答:dirmessage_enable=YES ;切换到FTP中的某目录时,是否显示该目录下的隐含文件“.message”xferlog_enable=YES ;是否启用启用上传和下载日志 connect_from_port_20=YES ;是否启用FTP数据端口的连接请求 xferlog_std_format=YES ;是否让FTP使用ftpd xferlog日志格式 pam_service_name=vsftpd ...
Linux系统怎么安装FTP和登陆使用答:在安装好的Linux,当我输入ftp的时候,提示我没有找到ftp的指令,在网上查看,说是要去安装一个vsftpd。先将权限设置为root,或者指令前加sudo。指令如下:yum install vsftpd 或者 sudo yum install vsftpd 2 然后安装好后,输入/sbin/service vsftpd restart去重启vsftpd.3 然后安装ftp。yum install ...
linuxftp启动答:(b)用redhat第三张盘安装此服务(开始--删除/增加程序),200K左右 (c)#setup 此时能看到vsftpd项,此时选中此services项,保存后退出.linux系统ftp命令用法?linux操作ftp命令的用法有四种:1.连接ftp服务器 格式:ftp a)在linux命令行下输入:ftp192.168.1.1 b)服务器询问你用户名和密码,分别输入...