这是我第一次使用 Ubuntu Server 或任何需要使用命令提示符的东西。我使用的是 Ubuntu Server 24.04。我在系统上设置了两个 Samba 共享驱动器。它们主要用于文档和照片存储。第一个工作正常,我可以从我的 Windows 机器上毫无问题地访问它及其内容。
我对第二个硬盘进行了相同的设置,我已对一个完整的硬盘进行了分区并将其安装为 fat32,文件系统为 vfat。我可以通过 Windows 查看驱动器并打开它,但我无法将任何东西保存到其中(而且由于它是空的,我不知道我是否可以从中提取任何东西)。我只是弹出一个“您需要权限”框。
我的问题在于/media
一个。Ubuntu 安装在 120GB 驱动器上,这是 Samba 共享首次尝试使用的驱动器。/media
一个是 1TB HDD 上的单个分区。鉴于我缺乏知识,我认为最好安装一个新的 SSD,开始全新安装并丢弃旧驱动器。
这是我的配置信息。我看不出这里有任何会引起问题的东西,但就像我说的,我对此很陌生。
[sambashare]
comment = Samba on Ubuntu
path = /home/ollie/sambashare
read only = no
browsable = yes
public = yes
[bulk]
comment = bulk
path = /media
read only = no
browsable = yes
public = yes
编辑:
已重新安装到希望更好的位置/home/ollie/storage
。
我尝试使用下面建议的命令使该分区对所有人都可写入,但访问被拒绝。
/dev/sda1: UUID="033D-1E2C" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="61dfcddd-01"
/dev/sdb1: PARTLABEL="Microsoft reserved partition" PARTUUID="c0258793-6786-4438-b8e2-dffa73ce487c"
/dev/sdc1: PARTUUID="3481976b-9b16-466a-879f-1117a8833016"
ollie@winchester:~$ UUID=033D-1E2C /home/ollie/storage vfat defaults,umask=000 0 0
-bash: /home/ollie/storage: Is a directory
ollie@winchester:~$ UUID=033D-1E2C /dev/sda1 vfat defaults,umask=000 0 0
-bash: /dev/sda1: Permission denied
编辑:
尝试添加权限以使分区可写。
sudo nano /etc/fstab
显示:
/dev/disk/by-uuid/1d277102-f481-4f85-bdd3-b60a60f27b9f / ext4 defaults 0 1
/swap.img none swap sw 0 0
/dev/sda1 /home/ollie/storage vfat conv=b 0 0
您如何在 fstab 中安装分区?
如果您执行像这样的简单 fstab 挂载......
..... 它将挂载一个 fat32 分区,
/media
以 root 作为所有者,权限为 755:root 可以写入该分区,但其他所有人只能读取。Samba 无法覆盖底层 Linux 权限以使其更宽松,因此该服务器的 Samba 客户端只能读取。
由于您的共享定义允许访客访问,因此您需要使挂载的分区对每个人都可写入。使用我上面的例子,如下所示:
另一个选择是将 root 替换为 ollie (管理员?):
然后将共享定义更改为:
注意:我必须指出,这
/media
是 Linux 文件系统层次结构的一部分。将其用作挂载点可能不是最佳做法。我建议在其下放置一些东西,例如/media/bulk
。编辑:
卸载分区:
在 fstab 中,在现有行前面放置一个 # 符号:
在其下方添加一个新行:
保存文件
使 systemd 正常运行: