Ubuntu自带的FTP服务器是vsftpd。
1)安装vsftpd
Ubuntu安装软件倒不是件困难的事,输入:
sudo apt-get install vsftpd
安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间。
默认设置下匿名用户可以下载,但不能写入或是上传
2)设置 vsftpd.conf文件
现在我们要让匿名用户无法访问,并且得输入linux上的用户密码后才能访问到他们自己目录里的内容。
首先找到设置vsftpd的文件,位置在/etc/vsftpd.conf
修改之前最好先备份下这个文件:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
然后可以改动了:
#不让匿名用户使用 #anonymous_enable=YES
#本地用户可用 local_enable=YES
#可用写操作 write_enable=YES
#不需要显示某目录下文件信息 #dirmessage_enable=YES
#加点banner提示 ftpd_banner=Hello~~
#FTP服务器最大承载用户 max_clients=100
#限制每个IP的进程 max_per_ip=5
#最大传输速率(b/s) local_max_rate=256000
#隐藏帐号 hide_ids=YES
好了,重启下ftp 服务器看看效果
重启后还是和原来一样对吗?呵呵,这是默认的ftp目录在做鬼,我们把它删除,再看看。怎么样?要你输入用户名和密码了吧。 新的问题
1.输入用户名密码后显示的位置是在用户的根目录下,而我们的WEB内容是在public_html目录里
2.用户可以跳到任何其他目录(非常危险..)
要解决这些问题我们还得设置下vsftpd.conf
#启动chroot列表(Change root) chroot_list_enable=YES
#指定列表位置(我这用的是默认地址) chroot_list_file=/etc/vsftpd.chroot_list
接下来我们得在vsftpd.chroot_list上写进去我们要限制哪些用户,不让他们“漂移”..
现在有用户linyupark,所以只要vim一下,往里面写就行了
这样我们已经解决第2个问题了,登陆的用户只能在它的用户文件夹里活动,下面我们要更狠一点,让他只能在/var/www里活动
依然还是找vsftpd.conf
#这句默认设置里是没有的,自己加 user_config_dir=/etc/qy.www 自己定义一个设置个别用户用的文件夹地址
根据自己设置的地址,建立一个相应的文件夹,sudo mk_dir /etc/qy.www
然后往里面建立和用户名相同的文件,假如用户是qy,那vim qy一下:
#本地用户的根地址local_root=/var/www
好咯,重启下服务器。看看效果吧。'