准备与安装
# 关闭防火墙
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
                            
                            
