这个问题已经被问过好几次了,但阅读不同的答案并没有让我解决我的具体问题。Ubuntu 14.04 安装在我的 HTPC 上。我想通过 1 个帐户在 LAN 上以读写方式共享 2 个硬盘的全部内容。我需要从 Android、mac os x 和 Windows 10 访问这些共享。我能够通过 Samba 创建 1 个共享文件夹,但我无法写入它。身份验证和读取有效。
我没有办法解释为什么它不起作用,我请求社区的帮助。
必须具有访问权限的帐户:miguel。这是一个管理员帐户,我为其创建了不同的 Samba 密码。共享驱动器:bigstock
/etc/fstab
# /boot/efi was on /dev/sda1 during installation
UUID=C2C2-B220 /boot/efi vfat defaults 0 1
# swap was on /dev/sda3 during installation
UUID=d20a7536-efe1-4ad4-b8a1-e36c9c5d7bc4 none swap sw 0 0
#bigstock drive
UUID=479a5442-ef4e-4266-a729-f1c188755ac7 /media/miguel/bigstock ext4 defaults 0 2
#stock drive
UUID=a0bdc1df-a568-4d26-82bb-cfd35aa3ab32 /media/miguel/stock ext4 defaults 0 2
ls -la /媒体
total 12
drwxr-xr-x 3 miguel miguel 4096 oct. 22 20:42 .
drwxr-xr-x 23 root root 4096 déc. 6 11:58 ..
drwxr-xr-x+ 4 miguel miguel 4096 nov. 7 17:43 miguel
ls -la /媒体/米格尔
total 16
drwxr-xr-x+ 4 miguel miguel 4096 nov. 7 17:43 .
drwxr-xr-x 3 miguel miguel 4096 oct. 22 20:42 ..
drwxr-xr-x 14 miguel miguel 4096 déc. 6 15:04 bigstock
drwxr-xr-x 4 miguel miguel 4096 nov. 26 12:40 stock
ls -la /媒体/米格尔/bigstock
total 68
drwxr-xr-x 14 miguel miguel 4096 déc. 6 15:04 .
drwxr-xr-x+ 4 miguel miguel 4096 nov. 7 17:43 ..
测试参数-s
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[bigstock]"
Loaded services file OK.
Server role: ROLE_STANDALONE
[global]
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[bigstock]
path = /media/miguel/bigstock
valid users = miguel
read only = No
我尝试过其他几个 smb 选项,例如将 2 个掩码设置为 0700,但是没有效果。
答案1
看起来您在媒体中创建了一个文件夹 miguel,并且您已拥有它的所有权。相反,让我们创建一个组,将用户添加到该组,并设置权限。
sudo groupadd -g 10000 [samba_group]
sudo adduser migeul [samba_group]
sudo chown root:[samba_group] -R /media/migeul
sudo chgrp [samba_group] /media/migeul
sudo chmod 775 -R /media/migeul
这将创建一个组并将其附加到要共享的文件夹。您将用户添加到该组以进行访问。将权限设置为 775,这将授予所有者和组读写执行访问权限,而其他人只能读取。以递归方式设置它。
验证您是否拥有该文件夹的完全访问权限。使用 samba,设置权限与使用 ubuntu 用户设置文件权限略有不同。我的意思是,在您取得所有权后验证权限,因为它们可能会导致以后出现 samba 错误。没有人可以访问驱动器。
创建一个与您的 Linux 用户名完全匹配的 samba 帐户。
sudo smbpasswd -a miguel
sudo smbpasswd -e migeul
这将提示您为用户名 miguel 创建密码。请注意,这仅适用于 SMB 共享,不适用于操作系统中的用户。
之后,打开 samba 配置,共享驱动器时,请确保输入可写 = 是、可浏览 = 是、只读 = 否,并将您的组也添加到其中。此外,验证您共享的位置。使用它安装到的位置。
[migeul]
comment = Migeuls folder
path = /media/migeul
browsable = yes
writable = yes
guest ok = no
read only = no
valid users = @[samba_group]
重新配置 /etc/samba/smb.conf 文件后,重新加载它。
sudo smbd reload
这些页面更深入地介绍了如何设置 samba 共享。
https://help.ubuntu.com/community/Samba/SambaServerGuide https://www.techrepublic.com/article/how-to-set-up-samba-shares-for-groups/
您可能还需要设置 umask。为此,请/etc/profile
使用sudo nano/etc/profile在底部输入umask 002。 使用Control+O 至保存并Control+X退出。最好使用以下方法重启服务器sudo 重启新的屏蔽权限将生效。该设置将重新为用户声明相同的权限。