准备与安装
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 禁用策略
setenforce 0
# 安装smb服务
yum install samba -y
配置
配置分为两部分:
- global(全局)
- share(共享)
global
网络相关配置(Network-Related Options)
参数 | 说明 |
workgroup | the Windows NT domain name or workgroup name, for example, MYGROUP. |
server string | Windows NT 描述说明 |
netbios name | 服务器名,限制15个字符,可以自定义,并非必须为当前主机名 |
interfaces | 指定监听的网卡,例如interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 |
hosts allow | 允许访问的IP或IP段,例如hosts allow = 127. 192.168.12. 192.168.13. |
hosts deny | 不允许访问的IP或者IP段 |
max connections | max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。 |
deadtime | deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。 |
日志相关配置(Logging Options)
参数 | 说明 |
log file | 日志文件路径 |
max log size | 日志文件大小上限,超过上限就轮转,单位KB |
独立服务器相关配置(Standalone Server Options)
参数 | 说明 |
security | 安全模式,可以是user、share、server、domain。建议配置security = user,用户认证 |
passdb backend | 用于存储用户信息,可以是tdbsam或ldapsam。 |
share
参数 | 说明 |
comment | 该共享的描述 |
path | 共享目录路径 |
browseable | 浏览权限 |
writable | 写权限 |
available | 可用权限 |
admin users | 该共享的管理者 |
valid users | 允许访问该共享的用户 |
invalid users | 禁止访问该共享的用户 |
public | public用来指定该共享是否允许guest账户访问。 |
write list | 允许写入该共享的用户 |
guest ok | 同public |
create mask | 创建文件时赋予文件的权限 |
directory mask | 创建文件夹时赋予文件夹的权限 |
配置文件示例
[global]
workgroup = IF010
netbios name = cloud.if010.com
server string = If010 NAS Share
security = user
max connections = 300
deadtime = 120
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
[Data]
comment = Soft Directories
path = /data
public = no
writable = yes
browseable = yes
available = yes
admin users = root
write list = user01,uesr02
valid user = user01,uesr02
create mask = 0755
directory mask = 0755
修改完配置后,可以执行testparm
检查/etc/samba/smb.conf的语法是否正确。
[root@localhost ~]# testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
用户的创建
创建不带home的用户
useradd -s /sbin/nologin -M test01
smbpasswd -a test01
创建带home的用户
useradd -s /sbin/nologin test01
smbpasswd -a test01
关于useradd的用法
主要参数:
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的起始群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的起始群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
关于smbpasswd的用法
主要参数:
-a:添加用户
-d:禁用用户
-e:启用用户
-x:删除用户
-n:把用户的密码设置成空
-a:添加用户
-d:禁用用户
-e:启用用户
-x:删除用户
-n:把用户的密码设置成空
列出SMB用户
pdbedit -L