LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

2024-04-23 17:30:12 20点赞 83收藏 13评论

什么是TurnKey File Server

Turnkey File Server是来自Turnkey Linux 项目一站式解决方案之一,它是一个同时支持SMB、SFTP、NFS、WebDAV 和 rsync 文件传输协议的文件服务器,它将 Windows 兼容的网络文件共享与基于 Web 的文件管理器结合在一起。TurnKey File Server 支持 SMB服务器的配置允许服务器用户管理私有或公共存储中的文件。与之前我们手动部署NAS不同的是,TFS提供了可视化后台界面来创建、管理SMB用户及文件权限,以及基于WebDAV的文件管理界面,提供了开箱即用的文件管理体验。对于不想在PVE上命令行部署和管理NAS、也不想部署群晖虚拟机这样吃配置的用户,可以选择安装这个轻量的文件服务器作为替代方案。

官方网站:https://www.turnkeylinux.org/fileserver

界面预览:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

除了File Sever,还有其它的如集成了Jellyfish的MediaSever、NextCloud可以选择安装,感兴趣的可以去官网看看:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

在PVE上使用LXC容器部署安装Turnkey File Server

注意:使用LXC部署TFS之前需要将你的本地硬盘映射或直通给LXC容器,硬盘文件系统格式建议是exFAT或NTFS,如果是ext4需要处理权限问题。

1. 下载CT模板
local>CT模板>模板>搜索下载Turnkey File Server

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS文件很小,300M很快就可以下载完成文件很小,300M很快就可以下载完成

2. 创建LXC容器

不熟悉LXC创建流程的可以浏览我之前的文章:

这里只说不同点,部署Turnkey File Server必须要勾选无特权容器,顺便把嵌套也选上,设定好root密码:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

然后选择之前下载的TurnkeyFS模版:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

网络那里建议选择静态IPv4地址以便后续方便访问。其它的默认即可。

3. 启动安装

启动LXC容器,输入root密码登录进入配置界面

首先设定Root Samba密码,至少8个字符,包含大小写和数字,OK后再次输入确认:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

APIkey和Email选择Skip跳过:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

选择Install开始安装:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

安装完提示重启:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

重启完成后来到命令行界面:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

根据提示,输入confconsole,可以回到图形配置界面查看IP地址:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

这里可以查看WebDAV、WebShell命令行、管理后台Webmin和SMB、SSH的访问地址和端口号。

5. 访问后台界面

WebDAV:浏览器直接输入IP地址,使用之前设定的root samba账号密码登录:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NASLXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

WebShell:浏览器输入IP地址+12320端口

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

Webmin:浏览器输入IP地址+12321端口

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

配置Turnkey File Server

使用LXC root账号登录Webmin后台管理界面:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

设定Samba用户

选择Users and Groups,点击Create a new user:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

设置用户名,选择Normal password设置密码:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

点击creat创建,回到列表可以看到刚才创建的用户:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

创建Group

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

把之前创建的用户加入Group:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

设置共享目录(适用于NTFS和exFAT格式的硬盘)

选择Severs>Samba Windows File Sharing,删除所有预设共享:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

然后点击Create a new file share创建Samba共享:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

输入共享名称、选择共享文件夹,设定权限(默认755即可),点击Create创建:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

设定完成后是共享目录是只读状态(ReadOnly to all known users):

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

再次点击进去,选择Security and ACL

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

将其改为Writeable(可读写)后保存:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

将之前设定的用户和群同步成samba用户账号:

回到Severs>Samba Windows File Sharing,点击Convert Users:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

之前设定的用户,如果有多个用户可以批量选择:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

输入好点击Convert users完成设定(其它选项默认):

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

重启服务
点击restart samba

restart sambarestart samba


访问验证

之后就可以在Windows资源管理器映射IP地址来访问Turnkey File Sever文件服务器中的文件内容了。

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS


修改Turnkey File Sever下访问ext4格式硬盘的权限

TurnkeyFS LXC本身是无特权容器,默认是无法直接读写ext4磁盘的,如果你的硬盘使用的是ext4文件系统,即使mp映射给LXC后,默认Owner是nobody nogroup,修改Owner权限还是会遇到failed to change owner 256错误:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

解决办法:

在PVEshell下修改/etc/subuid和/etc/subgid:

nano /etc/subuid

nano /etc/subgid

分别在subuid和subgid文件内添加一行,让容器内id=1000的普通用户及id=1000的普通用户组映射到host服务器中,允许其读写host服务器中的硬盘:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

编辑TurnkeyFS LXC容器配置文件

nano /etc/pve/lxc/102.conf

添加以下内容:

#LXC容器起始id为0(即id=0的root用户),host服务器起始id为100000

#将LXC容器里的 0-999 映射到 host 上的 100000-101000,id个数为1000

lxc.idmap: u 0 100000 1000

lxc.idmap: g 0 100000 1000

#LXC容器起始id为1000(即id=1000的普通用户),host服务器起始id为1000

#将LXC容器里的 1000 映射到 host 上的 1000,id个数为1

lxc.idmap: u 1000 1000 1

lxc.idmap: g 1000 1000 1

#LXC容器起始id为1001(即id=1001的普通用户),host服务器起始id为1000

#将LXC容器里的 1001-65535 映射到 host 上的 101001-165535,id个数为64535

lxc.idmap: u 1001 101001 64535

lxc.idmap: g 1001 101001 64535

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

保存即可

重启容器后查看用户权限从nobody变为nasuser,组权限也从nogroup变为family了:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

File Manager也可以正常修改权限了,这里将其改为nasuser:family:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

新建一个文件夹成功则权限正常:

LXC安装Turnkey File Server,集成SMB、SFTP、NFS、WebDAV,替代群晖威联通做轻量NAS

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
13评论

  • 精彩
  • 最新
  • 大佬牛逼

    校验提示文案

    提交
  • 大佬问一下,设置后在windows中可直接发现,但是想在群晖装载远程文件夹就连不上,不知道是哪里设置的不对

    校验提示文案

    提交
    协议不对吧

    校验提示文案

    提交
    收起所有回复
  • 是直接在lxc容器配置里挂载mp目录吗?

    校验提示文案

    提交
    硬盘什么格式?上面说ext4没读写权限,要改很多配置

    校验提示文案

    提交
    我的办法简单粗暴,直接开特权容器 [邪恶]

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 太牛了,完美解决需求!

    校验提示文案

    提交
  • 请问为何我在8.3的lxc里找不到Turnkey File Server了呢

    校验提示文案

    提交
  • 大佬你好,请问访问地址可以改端口吗?
    它请求文件用的443端口,我做端口转发进不来😂😂

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
83
扫一下,分享更方便,购买更轻松