linux下ftp的配置

最近公司要用到ftp,小菜鸡百度了一下教程,自己也总结一下

现在随便百度都是vsftpd的服务,所以这里我也是用vsftp

1.检测或安装vsftp

首先检查一下你的主机是否含有vsftp服务,关于rpm,其实是关于的软件管理,可能ubuntu没有,所以我们只需下载就是了(apt-get install rpm)

rpm -qa| grep vsftpd

如果有显示vsftp版本,证明是已经存在vsftp了,可以跳到第二步。

如果没有我们就进行安装vsftp

yum install vsftpd

如果是ubuntu,安装vsftp则执行下面的代码

apt-get install vsftpd

2.添加对应的用户

添加用的命令如下:

useradd 选项或参数 用户名

在这里我们要创建一个用户test321,他的访问的根目录在alidata/www/default,而且不给ssh访问,所以这么写

useradd -d alidata/www/default -s /bin/false test321

然后更改用户的对应的密码

passwd test321 密码

 顺带一提。此时用户的信息显示在/etc/passwd里面,如果想去修改用户的初次访问目录,可以去修改该文件

3.修改用户只能去访问该目录

首先要去配置/etc/vsftpd.conf里面的配置项

在这里我们可以找到这段注释

# You may restrict local users to their home directories.  See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
# chroot_local_user=YES

上面三行大致的意思是你也许想去限制他只能访问自己的根目录,那就取消注释最下面的那句话就好了,然后我取消注销chroot_local_user=YES这句话,就能使通过ftp访问的用户只能访问自己的根目录

重启服务才能生效:

 service  vsftpd  restart

 但是我们可能还想一些ftp用户具有特权,不单单是访问他的根目录,还可以去访问其他目录,我们可以这样做

在conf里面我们可以看到这段注释

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

我们只要把chroot_local_user=YES这段代码取消注释,那表示打开特权,而下面的chroot_list_file这个参数就是存放含有“特权用户”的文件路径,在这个文件里面,我只要写上用户的名字就可以把他改为“特权用户”,注意:一行一个用户。

4.如何修改连接数和限制速度

以下的配置项可以直接在vsftpd.conf最下面添加

限制一个ip的连接数:max_per_ip=连接数

限制ftp的连接数: max_clients=100(注意这个是会话数,不是连接人数)

限制本地用户的速度:local_max_rate=速度

5.可能遇到的错误或问题

1.当限制用户不能跳转其他目录,即注释掉chroot_local_user=YES这句话之后就会出现错误500 OOPS: vsftpd: refusing to run with writable root inside chroot()

只要加上这句话就好了:allow_writeable_chroot=YES,这是因为,从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。摘自百度

2.虚拟用户可以登录上去,但是root账户登录不上去,查看一下你的/etc目录,看看下面是否有ftpusers这个文件,这很可能就是引起原因的文件。

ftpusers可以说是ftp登录的黑名单,凡是在这个文件上面有对应名字的,都不能登录,一般而言含有root

3.是否开启了pam模块,有时候vsftp下载下来的时候会在/etc/pam.d目录下含有一个文件vsftpd,具体pam怎么配置我不太清楚...如果这个vsftpd文件存在,新建的用户都不能登录上去,如果不想折腾的话,可以把他删了,但是具体后果我不清楚,因为我还没研究pam...

原文地址:https://www.cnblogs.com/s-b-b/p/5714958.html