云主机
操做系统:Ubuntu Server 14.04.1 LTS 32位
CPU:1核
内存:1GB
系统盘:20GB(本地磁盘)
数据盘:0GB
公网带宽:1Mbpshtml
操做系统:windows 8.1linux
官方文档:如何远程登陆linux服务器ubuntu
须要特别注意的是,在使用ssh与putty保存session登录时,有一个坑!
保存的session名称应避免与用户名冲突windows
redhat、centos等使用rpm包的发行版:centos
使用命令安装:yum install vsftpd
使用下载包安装:rpm -ivh vsftpd*.rpm安全
Debian、Ubuntu等使用DEB包党的发行版:bash
使用命令安装:apt-get install vsftpd服务器
若权限不足,则在命令前加 sudo ,下同session
因为ftp涉及到端口开放的问题,因此咱们把selinux关闭。ssh
selinux的介绍见博文——SELinux深刻理解
ftp命令链接使用21端口,数据链接则有两种方式,即主动ftp和被动ftp。详细见博文——FTP两种工做模式介绍
通常在redhat、centos等使用rpm包的发行版默认安装有selinux,而Debian、Ubuntu等使用DEB包的发行版不默认安装
故对于Debian、Ubuntu等使用DEB包的服务器:
临时关闭(重启后,selinux会被打开):setenforce 0
开启:setenforce 1
永久关闭:修改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,重启机器
service vsftpd start/stop/restart
对于服务操做的一些命令:
service [service名] [对service的操做如:start/stop/restart/status]
出于安全考虑,通常不会使用系统用户来作登录ftp的操做,于是大部分状况下会新建一个linux用户(单纯的一个用户,不具有bash),并用此用户进行ftp的登录等操做
对于ftp用户的管理,其遵循linux的用户管理,根据/etc/passwd和etc/group来进行管理
新建用户:
useradd test,passwd test
此处的useradd仅仅只是建立用户,而可替换为adduser(建立用户家目录\home\test)
两者具体的区别在useradd 与adduser的区别有介绍
对于vsftpd具体的一些配置可经过修改配置文件来进行实现。
常见的配置文件有:
对于主配置文件,一些经常使用的配置:
anonymous_enable=YES #是否开启匿名登录
local_enable=YES #是否容许本地用户(即linux系统中的用户账号)登陆FTP服务器,默认设置为YES容许
write_enable=YES #是否容许本地用户对FTP服务器文件具备写权限,默认设置为YES容许
一项比较重要的配置:(文字不重要,重点看图)
用户登陆FTP服务器后是否具备访问本身目录之外的其余文件的权限
设置为YES时,用户被锁定在本身的home目录中,vsftpd将在下面chroot_list_file选项值的位置寻找chroot_list文件
必须与下面的设置项配合
chroot_list_enable=YES
被列入此文件的用户,在登陆后将不能切换到本身目录之外的其余目录
从而有利于FTP服务器的安全管理和隐私保护。此文件需本身创建
chroot_list_file=/etc/vsftpd/chroot_list
关于主配置文件的使用,史上最详细的vsftpd配置文件讲解(1) 这篇文章写得很详细
ubuntu不一样于centos,ubuntu的配置文件目录不在 /etc/vsftpd/vsftpd.conf 而是在 /etc/vsftpd.conf
购买云主机的时候,在作最初配置时,有引导安全组的配置。由于以前选了默认的打开“Linux安全组放通22端口”,而没打开ftp的21端口。
因此,在配置完成ftp服务器时发现只能在服务器上登录ftp,而经过外网没法访问ftp。这是一个比较容易被忽略的问题!(这是一个大坑)
官方文档:如何配置安全组?
若是启用chroot,必须保证ftp根目录不可写,这样对于ftp根直接为网站根目录的用户不方便,因此建议假如ftp根目录是/home/${cjh},则将访问权限改写以下
chmod a-w /home/cjh
sudo sh -c "echo a > 1.txt"
避免’sudo echo x >’ 时’Permission denied’
一、qcloud文档中心, https://www.qcloud.com/doc/product
二、专题:vsftpd入门——安装、配置、案例与常见问题。玩转vsftpd服务器的四大高级配置, http://os.51cto.com/art/201008/222036.htm
三、FTP两种工做模式介绍, http://www.softbar.com/blog/post/117.html
四、SELinux深刻理解, http://blog.csdn.net/myarrow/article/details/9856095/
五、useradd 与adduser的区别, http://blog.csdn.net/deit_aaron/article/details/9984701
五、史上最详细的vsftpd配置文件讲解(1), http://os.51cto.com/art/201008/221842.htm
六、避免’sudo echo x >’ 时’Permission denied’, http://blog.csdn.net/hejinjing_tom_com/article/details/7767127