ubuntu server vsftpd 虚拟用户及目录

ubuntu server vsftpd 虚拟用户及目录

一:需求场景;

     在ubuntu server上开设一个虚拟网站,在网站目录建立一个ftp目录,允许用户通过ftp上传网站文件到网站目录;

     同时,该ftp用户,只能用于ftp操作,不能用于登陆ubuntu server

二:配置

1:先建立虚拟网站;

   同样先创建apache2 网站配置文件,然后启用站点;

   比如这里我的测试 网站 :www.cocoa.com 内网访问 站点;

   网站目录在:/var/www/cocoa/web

    在该目录下,建立 一个 index.html ;

  修改:hosts文件,添加记录:指定ip 对应域名 www.cocoa.com

  重新启动apache2服务;

 浏览器 输入 www.cocoa.com 测试虚拟网站是否成功;

2: 配置ftp用户;

   因为由于vsftpd的安全策略,指定ftp用户的根目录,就是该ftp用户的home目录,但是此home目录,作为根目录,不允许修改,上传成功操作;

   所以基于上面的网站 cocoa/web 我的思路是:建立ftp用户指定home目录为 /var/www/cocoa 并,把其子目录,web作为web网页文件目录;这样子目录ftp用户就有了读写操作;当然,前提该文件的权限可写;

  配置流程;

复制代码
sudo useradd cocoa #添加名为cocoa的用户
sudo usermod -d /var/www/cocoa cocoa #指定cocoa用户的home目录cocoa
sudo vim /etc/shells  #打开登陆shells文件

#添加一条记录 
/usr/sbin/nologin

sudo usermod -s /usr/sbin/nologin cocoa #指定cocoa用户的登陆shells为nologin 就是只能用于ftp连接,不能用于登陆服务器;

sudo chown -R cocoa:cocoa /var/www/cocoa #修改cocoa目录的所有者和组为cocoa 

sudo chmod 555 /var/www/cocoa #个性cocoa目录的权限为可读可执行,不能设置可写,因为cocoa目录,作为ftp根目录,不允许有写的权限;

sudo chmod 755 /var/www/cocoa/web 修改其ftp子目录,并设置其为对自己可写可读可执行,这样用户就可以通过ftp上传网站文件到web目录里面了;
 
复制代码

 上面少了一步:就是设置用户的密码 passwd cocoa 设置密码; 

然后;打开终端;

ftp 连接服务器,输入用户名和密码;即可;自行测试上传,下载,创建目录,删除目录,删除文件操作;

三:通过ftp上传一个写的网页文件,打开浏览器测试即可;

 如果,想让用户ftp登陆之后,home作为根目录,就是别的目录访问不了;只需打开vsftpd配置文件里面的

chroot_local_user=YES

最后重新启动,vsftpd服务,测试即可

在ftp登陆成功之后

pwd 会出现;

 

posted @   cocoajin  阅读(1280)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示