首页 > 代码库 > 在Ubuntu安装ftp服务器
在Ubuntu安装ftp服务器
在阿里云买了个虚拟服务器,装了个ubuntu,一开始安装的是他们推荐的vsftp,后来其中一个网站要给别人搞了,需要给ftp帐号他。这个vsftp有个问题就是无办法限制用户只能访问其home目录,例如我有个网站/www/website1跟/www/website2,对应的帐号是website1user跟website2user,他们的home目录分别是/www/website1跟/www/website2。但是你用website1user或者website2user登录你不仅可以看到其他网站的目录,甚至系统的文件目录也可以操作。vsftp提供了限制访问home目录的功能,但怎么设置都没效果,而且它只能限制ftp的,如果通过sftp访问就没效了,估计是有bug,浪费了我一晚时间最后没解决,搞到我直想骂人。实在没办法只好换成pure-ftp,发觉简单很多,以下例子使用我上面说的环境。
安装:
aptitude install pure-ftpd cd /etc/pure-ftpd/conf echo 'no' > PAMAuthentication echo 'no' > UnixAuthentication echo '/etc/pure-ftpd/pureftpd.pdb' > PureDB ln -s ../conf/PureDB /etc/pure-ftpd/auth/50pure
创建通用用户组及用户:
groupadd -g 2001 ftpgroup useradd -u 2001 -s /bin/false -d /bin/null -c "FTP user" -g ftpgroup ftpuser
设置用户权限:
chown -R ftpuser:ftpgroup /www
增加ftp用户(pure-ftp并不会在系统创建用户,这里创建的是虚拟用户,比vsftp科学多了):
pure-pw useradd website1user -u ftpuser -d /www/website1
我这里创建了website1user这个虚拟用户,创建的时候会提示输入密码。(如果系统本来有website1user这个用户也没影响,当然也可以删除系统的website1user)
保存设置:
pure-pw mkdb
重启服务器后就可以测试了。
service pure-ftpd restart
经测试用户只能操作自己的网站目录。
另外一些基本命令:
pure-pw useradd virtusername -u realusername -g realgroupname -d /home/directory #增加用户 pure-pw usermod virtusername -u realusername -g realgroupname -d /home/directory #修改用户 pure-pw userdel virtusername #删除用户 pure-pw passwd virtusername #改密码 pure-pw list # 列出所有用户 pure-pw show virtusername # 显示用户详细信息 pure-pw mkdb # 保存设置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。