您的位置:首页 > 编程语言 > PHP开发

ubuntu下配置ftp服务器

2017-10-19 17:17 239 查看
公司安排配置一下ftp服务器,公司服务器是ubuntu,实习的我都没用过ubuntu真的是苦不堪言,幸亏好兄弟帮忙才上手快了一点,网上有很多关于ubuntu下配置ftp服务器的文章,但我自己配置的时候发现,恩总是不是很全,还要到处找文章解决bug,不如自己记录一篇也好以后在配置的时候能有个依照

首先是安装

1.先更新后下载

sudo apt-get update
sudo apt-get install vsftpd
sudo service vsftpd restart ##重启下服务


2.接下来创建我们ftp的主目录也就是我们通过ftp客户端访问时候看到的根目录

sudo mkdir /home/uftp ## uftp是文件夹的名字,我们可以在计算机->home下找到


3.新建用户

sudo useradd -d /home/uftp -s /bin/bash uftp ##创建了一个叫uftp的用户
sudo passwd uftp ##设置uftp用户的密码


-d:指定用户登入时的启始目录

-s:指定用户登入后所使用的shell

网上有很多是 -s /sbin/nologin 登录的时候会遇到报错530Login incorrect

关于这个有一篇文章有详细解决方案,其实就是没有这个shell

530Login incorrect解决方案

如果是
-s /bin/bash
就不会有问题因为我们的etc/shells下是有/bin/bash的,我们可以cat /etc/shells看一下

4.修改配置文件

sudo gedit /etc/vsftpd.conf ##也可以使用vi和vim。gedit比较简单粗暴
##必配的
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
##这三个是实现自己定义一个userlist,里面的用户名可以访问ftp服务器
seccomp_sandbox=NO##不知道,但很多都配了
##配置文件里有些选址,只是注释了,我们把下面的取消注释就行
local_enable=YES ##允许本地用户登录
anonymous_enable=NO #禁止匿名访问
write_enable =YES //可写
pam_service_name=vsftpd ##配上就可以,能解决一些bug,虽然我没用的上

##还有一些是非必须的,比如有关安全的,限制用户访问权限在根目录及其子文件,不能访问服务器其他文件
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list ##这里面写不希望能够浏览其主目录上级目录的用户名
allow_writeable_chroot=YES ##允许根目录可写


5.查看2个配置文件,检查一下用户是否可以访问

sudo gedit /etc/allowed_users ##里面存着可以访问ftp服务器的用户的用户名
sudo gedit /etc/ftpusers ##里面存着不可以访问ftp服务器的用户的用户名


这样其实就可以了,可以用一些ftp客户端访问你的ftp服务器类似8uftp软件,输入你服务器的ip地址就可以,帐号密码填你之前创建的。下面要说的是一些文件权限的问题,因为我们ftp服务器不一样的用户就有不一样的权限,只要分为读写执行

sudo chmod 735 目录文件名

7 = 4读+2写+1执行

7:所在者的权限

3:所在组的权限

5:其他组的权限

chmod -R 修改整个文件夹里的文件

chmod -R 735 /home/uftp

chmod 模式 文件 u、g、o 用户、组、其他 a指全部

+ – 代表加入或删除权限

r、w、x代表读写执行三种权限

chmod -R o+rx /home/uftp uftp下面所有的子文件夹对于其他组只有读和执行,这也是我ftp上用到的,不是所有者不允许写文件

成为文件的所有者

chown -R uftp /home/uftp

chown -R super:uftp /home/uftp uftp下面所有的子文件夹所有者改为super组里用户名为uftp的用户,组名不是必须的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu ftp服务器