You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为SMB共享格式化USB硬盘并隐藏私有文件夹的可行性咨询

SMB共享格式化USB硬盘并隐藏私有文件夹的可行性咨询

嘿,你的需求完全可以实现,不用放弃Windows兼容性!我来给你拆解具体怎么做:

核心结论

exFAT完全能满足你的要求——既能让Windows直接识别硬盘,又能让「private」文件夹对普通用户隐藏(不用加密,高级工具能找到也没关系),配合SMB配置还能实现网络共享的权限区分。

具体步骤

1. 让树莓派支持exFAT操作

树莓派5默认可能没装exFAT的管理工具,先安装:

sudo apt update && sudo apt install exfatprogs

这能让你格式化硬盘、修改exFAT文件夹的属性。

2. 格式化硬盘为exFAT(注意备份数据!)

先确认你的USB硬盘设备名(比如/dev/sda1,可以用lsblk命令查看),然后格式化:

sudo mkfs.exfat /dev/sda1

格式化后挂载到树莓派的某个目录,比如/mnt/usb:

sudo mkdir -p /mnt/usb
sudo mount /dev/sda1 /mnt/usb

想要开机自动挂载的话,编辑fstab文件:

sudo nano /etc/fstab

添加一行:

/dev/sda1 /mnt/usb exfat defaults,noatime 0 0

保存退出后执行sudo mount -a验证是否生效。

3. 创建文件夹并设置隐藏属性

在挂载目录下创建public和private文件夹:

sudo mkdir /mnt/usb/public /mnt/usb/private

然后给private文件夹添加DOS隐藏属性(exFAT支持这个属性,Windows会识别):

sudo attrib +h /mnt/usb/private

这样Windows直接连接硬盘时,默认不会显示这个文件夹——普通用户根本看不到它,除非手动开启「显示隐藏的文件、文件夹和驱动器」,这完全符合你“不怕进阶工具找到”的要求。

4. 配置SMB共享

编辑Samba配置文件:

sudo nano /etc/samba/smb.conf

在文件末尾添加以下共享配置:

[Public]
   path = /mnt/usb/public
   browseable = yes
   read only = no  # 改成yes就是只读模式,根据需求调整
   guest ok = yes
   create mask = 0664
   directory mask = 0775

[Private]
   path = /mnt/usb/private
   browseable = yes  # 如果想让网络邻居看不到这个共享,改成no就行
   read only = no
   guest ok = no
   valid users = pi  # 换成你的树莓派用户名
   create mask = 0600
   directory mask = 0700

保存退出后,给Samba用户设置密码(和树莓派系统用户名对应):

sudo smbpasswd -a pi

最后重启SMB服务生效:

sudo systemctl restart smbd nmbd

效果验证

  • 当硬盘接Windows电脑时:默认只能看到public文件夹,private被隐藏;
  • 当通过树莓派SMB访问时:public无需密码即可访问,private需要输入你设置的Samba密码才能进入;
  • 硬盘被盗后:普通用户接自己电脑看不到private,只有会开隐藏文件的人才能找到,完全符合你的预期。

备注:内容来源于stack exchange,提问作者James T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:59:52