资讯专栏INFORMATION COLUMN

[Ubuntu + Nginx服务器配置记录] 一,配置FTP

JeOam / 2086人阅读

摘要:前言公司最近多出来一台机器想拿来做开发服务器,安装,转。这篇博客就简单记录一下配置的过程,好日后重温。按照提示输入即可。为表示所有用户都能切换到主目录之外其他目录,但是除了配置的文件列出的用户。

前言:
公司最近多出来一台机器想拿来做开发服务器,安装Ubuntu,转 Apache + Tomcat。以前没有接触过Linux系统,正好用这次机会学习一下。
这篇博客就简单记录一下配置的过程,好日后重温。
开始写这篇博客的时候,系统已经安装完,也都配置完FTP、SVN和SSH了,所以很多过程都没来的级截图。
因为实在公司写的,所以有些内容不详细,日后会逐渐完善。

一, 系统安装

系统用的是 Ubuntu 14.04 LTS,因为担心在网上找不到足够的资料,同时也出于稳定性的考虑,没有选最新的16.X版本。




系统的安装网上资料很多,在这里就不赘述了。

二,配置FTP

FTP用的是vsftp。

1.安装vsftp

Ubuntu上安装程序的方法很简单,用root权限运行安装命令即可。
ctrl + alt + t 运行Terminal, 输入一下命令。

sudo apt-get install vsftpd

sudo运行的命令会提示要你输入密码,按照提示输入root账户的密码。

2.配置vsftp vsftpd.conf

vsftp的配置文件位于 /etc/vsftpd.conf
如果安装的Ubuntu是Desktop版本,可以直接用文本编辑器打开并编辑
如果是Server版本,或者想直接在Terminal进行,则:

sudo nano /etc/vsftpd.conf

设置相关项目如下:

#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#允许上传
write_enable=YES
#用户只能访问限制的目录
chroot_local_user=YES
#设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建
local_root=/home/ftp
pam.d/vsftpd

同时还有一个文件就要修改:/etc/pam.d/vsftpd

sudo nano /etc/pam.d/vsftpd

在这一行的开始加一个‘#’注释掉

#auth required pam_shells.so

这样能避免用创建的用户直接登录ftp报530 login incorrect的问题

3.添加FTP用户

没有组的话要先创建组

sudo groupadd -g 1101 groupftp

1101是组ID,1000以上比较安全,不能与其他组重复。

添加用户的命令是:

sudo useradd -d /home/ftp -g groupftp ftpuser
sudo passwd ftpuser

创建用户使用的是useradd命令,参数中-d是用户登录后进入的路径,-g是用户组,最后输入的是创建的用户的名字
useradd命令的参数还有很多,在这里只使用这些是为了对应后期配置多用户访问和限制访问路径而做的铺垫,详细内容我会在写完那篇文章后在这里贴上链接。

*注 插入链接

passwd是创建或更改用户密码的命令,输入后会显示让你输入密码。按照提示输入即可。

关于用户访问文件夹限制

vsftpd.conf文件中 chroot_local_userchroot_list_enablechroot_list_file三个项目是用来控制用户访问权限的,转别人的一段话:

首先,chroot_list_enable好理解,就是:是否启用chroot_list_file配置的文件,如果为YES表示chroot_list_file配置的文件生效,否则不生效;

第二,chroot_list_file也简单,配置了一个文件路径,默认是/etc/vsftpd.chroot_list,该文件中会填入一些账户名称。但是这些账户的意义不是固定的,是跟配置项chroot_local_user有关的。后一条中说明;

第三,chroot_local_user为YES表示所有用户都不能切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。chroot_local_user为NO表示所有用户都切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。也可以理解为,chroot_list_file列出的“例外情况”的用户。

现在的需求是,希望创建的用户都只在设定的目录里活动,而不能进入其他目录,所以我们 chroot_local_user设为YES
至于chroot_list_enablechroot_list_file也都设定好,虽然现在还没有需要能全盘ftp的用户,但如果以后有这样的需求的话,只要在chroot_list_file设置的文件里写入该用户名就可以了。要注意chroot_list_file设定的文件里一行写一个用户名。
如此一来我们的配置如下:

chroot_local_user = YES
chroot_list_enable = YES
chroot_list_file = /etc/vsftpd.chroot_list #该文件可以任意位置,自己创建即可


调整文件夹权限

chroot_local_user = YES 的情况下用ftp连接会报“500 OOPS: vsftpd: refusing to run with writable root inside chroot()” 。 这是因为chroot的情况下,根目录是不允许被用户更改的,所以不能给根路径留w权限。

sudo chmod a-w /home/ftp
sudo mkdir /home/ftp/data

a代表所有人,-w表示去掉写的权限, 之后在路径下再创建一个文件夹,ftp连进来就可以在data文件夹下写入文件了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40005.html

相关文章

  • 键安装LNMP或LAMP Web环境实现Linux务器部署 PHP MySQL Nginx/Ap

    摘要:目前,我们看到的老蒋采用的部署的环境,在镜像中配置,于是我们会称作为。有没有一件傻瓜式安装工具脚本呢这里老蒋要推荐的来自国内比较老牌且一直更新维护的一键安装包,我们可以较为直观且无人值守的安装需要的网站服务器环境。如今我们建站较多的还是会选择VPS云服务器,很少会去选择虚拟主机,固然前者有很多的优点。不过相比虚拟主机不同的是,VPS云服务器需要我们自己配置WEB环境,而且我们较多的还是会选择...

    IntMain 评论0 收藏0
  • nginx 基本安装与配置总结

    摘要:以下内容需要你掌握一些预备知识的目录结构指令及软件登录远程服务器基本指令操作安装安装之前搞清楚你的操作系统,还是还有具体的版本。 以下内容需要你掌握一些预备知识 1.Ubuntu的目录结构 2.SSH指令及FTP软件登录远程服务器 3.Linux基本指令操作 安装nginx安装之前搞清楚你的操作系统,Ubuntu还是CentOS,还有具体的版本。可以使用以下指令检测 cat /pro...

    Batkid 评论0 收藏0
  • 阿里云务器配置Ubuntu+Nginx+Flask)

    摘要:阿里云服务器配置环境配置配置服务启动服务安装,输入主机用户名密码端口,然后连接。安装更改安装源,以保证安装的是最新稳定版。进入虚拟环境使用配置更简单。如果输出相关信息,表明启动成功。是与相关的文件。 阿里云服务器配置(Ubuntu+Nginx+Flask) Ubuntu 16.04 Nginx 1.12.0 MongoDB 3.4 Python 3 环境配置 配置 FTP 服务 sud...

    YacaToy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<