首页 > 我的文章 > PHP开发 > linux命令 > linux vsftpd安装

linux vsftpd安装

浏览:793 编辑:绿萝 来源:绿萝
linux vsftpd安装步骤及注意事项

1. 先用rpm -qa| grep vsftpd命令检查是否已经安装,如果ftp没有安装,使用yum  -y  install vsftpd 安装,(ubuntu 下使用apt-get install vsftpd)


2. service vsftpd start

启动要让FTP每次开机自动启动,运行命令:  chkconfig --level 35 vsftpd on


这时候的vsftpd还得手动启动。

开机自动启动:chkconfig vsftpd on

重启阿里云,检查FTP是否正常。


3. 设置ftp权限

参照单独文件配置.linux vsftpd配置

vi  /etc/vsftpd/vsftpd.conf
将anonymous_enable=YES 改为 anonymous_enable=NO
ESC返回,输入“:wq”保存并推出



4. 添加ftp帐号和目录

useradd   -d /alidata/www/wwwroot -s /sbin/nologin pwftp

passwd   pwftp

chmod -R 755 /alidata/www/wwwroot
chown -R  pwftp /alidata/www/wwwroot

/etc/rc.d/init.d/vsftpd restart

注释:


1、在root权限下:

useradd -d /home/test test //增加用户test,并制定test用户的主目录为/home/test
passwd test //为test设置密码

2、更改用户相应的权限设置:

usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftp
usermod -s /sbin/bash test //用户test恢复正常
usermod -d /test test //更改用户test的主目录为/test

3、限制用户只能访问/home/test,不能访问其他路径

修改/etc/vsftpd/vsftpd.conf如下

chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list



编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行。

改完配置文件,不要忘记重启vsFTPd服务器

# /etc/init.d/vsftpd restart



如果需要允许用户修改密码,但是又没有telnet登录系统的权限:

usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面


其他配置参数说明:


2.开启匿名访问和被动模式端口

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES              --开启匿名用户访问

anon_upload_enable=YES              --匿名用户名可以上传文件

anon_mkdir_write_enable=YES        --匿名用户可以创建文件
anon_other_write_enable=YES        --匿名用户可以重命名文件


pasv_enable=YES                        --开启被动模式
pasv_min_port=30000                    --被动模式最小端口
pasv_max_port=31000                  --被动模式最大端口

3.加载ftp模块

vim /etc/modprobe.d/vsftpd.conf

alias ip_conntrack ip_conntrack_ftp ip_nat_ftp    --加载ftp模块

vim /etc/rc.local

/sbin/modprobe ip_conntract                --开机加载模块
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp

4.端口过滤

vim /etc/sysconfig/iptables

-A INPUT -p tcp -m multiport --dport 20,21  -m state --state NEW -j ACCEPT  --开启20,21端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT            --开启21主动端口
-A INPUT -p tcp --dport 30000:31000 -j ACCEPT            --开启被动端口



anonymous_enable=YES  禁止匿名访问

降YES改成NO

#ascii_upload_enable 允许使用ascii码上传

#ascii_download_enable 允许使用ascii码下载



相关问题

FTP访问文件夹上一级文件夹必须把权限下放,不然一直提示验证不成功.



如何知道Linux上是否安装FTP服务

命令的方法:
ps -aux | grep vsftpd 查看服务是否存在
netstat -na | grep 21 查看端口21是否开启 rpm -qa |grep vsftpd 查看安装包是否存在  Linux查看端口使用状态、关闭端口方法 1. 可以通过"netstat -anp" 来查看哪些端口被打开。 (注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两个终端,一一对应一下程序所对应的端口号)
 2. 然后可以通过"lsof -i:$PORT"查看应用该端口的程序($PORT指对应的端口号)。或者你也可以查看文件/etc/services,从里面可以找出端口所对应的服务。
 (注:有些端口通过netstat查不出来,更可靠的方法是"sudo nmap -sT -O localhost") 3. 若要关闭某个端口,则可以:
 1)通过iptables工具将该端口禁掉,如:
 "sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
 "sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"    
 2)或者关掉对应的应用程序,则端口就自然关闭了,如:
 "kill -9 PID" (PID:进程号)
 如:    通过"netstat -anp | grep ssh"
 有显示:    tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
 则:    "kill -9 7546"
 
 (可通过"chkconfig"查看系统服务的开启状态)