在 samba 中创建多个用户

在 samba 中创建多个用户

我有 100 个用户。因此我需要为每个用户创建一个 samba 文件夹,以便使用单独的用户名和密码访问个人文件夹。

我将使用以下格式创建它们(在 smb.conf samba 版本 4.7.6-Ubuntu 中)

[finance]
comment = finance PC
path = /home/user/finance
writeable = yes
browseable = no
read only = no
create mask = 0774
directory mask = 0777
valid users = finance
admin users = finance2018

[secretary1]
comment = secretary1 PC
path = /home/user/secretary1
writeable = yes
browseable = no
read only = no
create mask = 0774
directory mask = 0777
valid users = secretary1
admin users = secretary11976

问题是我有 100 个用户(每台 PC)。然后我必须创建 100 个 Linux 用户、100 个 Samba 用户(使用 100 个密码)和 100 个单独的文件夹。

有没有什么方法可以使这个任务更容易一些?

答案1

  1. 理论上是无限制的。硬件就是你的极限。
  2. Samba 支持 [homes] 设置。请参阅手动的
[homes]
    browsable = no
    writable = yes 

[homes] 共享是 Samba 配置文件的一个特殊部分如果用户尝试连接到 smb.conf 文件中未出现的普通共享(例如在 Windows 资源管理器中使用 UNC 指定它),Samba 将搜索 [homes] 共享。如果存在,则传入的共享名称将被视为用户名,并在 Samba 服务器的密码数据库(/etc/passwd 或等效文件)文件中进行查询。如果出现,Samba 会假定客户端是尝试连接到其主目录的 Unix 用户。

对于许多用户来说,这可能是最容易管理的方法。

我们有一个users组(GID 100),您可以使用它来对这些用户进行分组并将设置应用于该组。

但更明显的方法是使用活动目录(如果有的话)。设置几乎完全在 Windows 端而不是在服务器上。


请注意粗体部分。

答案2

一个简单的bash脚本:(阅读man seq

#!/bin/bash
for i in $( seq 1 100 ) ; do  printf "%s\n" "[user$i]
comment = user$i
path = /home/user/user$i
writeable = yes
browseable = no
read only = no
create mask = 0774
directory mask = 0777
valid users = user$i
admin users = user12018
"
done

相关内容