smbd常用命令 + smb.conf共享配置示例
一、Samba常用命令
注意smbd用户和系统用户是不同的smb用户的使用需要先有实际的系统用户才行
-
可以用以下命令创建无ssh权限用户
1
| useradd -s /sbin/nologin 【username】
|
-
常用命令
| 命令 |
作用 |
systemctl status smb |
查看smb服务状态 |
systemctl start smb |
启动smb服务 |
systemctl stop smb |
停止smb服务 |
systemctl restart smb |
重启smb服务 |
testparm |
校验smb.conf配置语法 |
testparm -s |
输出完整生效的smb配置(带共享目录) |
smbstatus |
查看当前SMB连接、打开的文件、锁 |
smbstatus -S |
只列出已加载的共享名称 |
smbclient -L //127.0.0.1 -N |
本机查询本机所有SMB共享 |
pdbedit -L |
列出全部Samba账号 |
smbpasswd -a 用户名 |
添加Samba密码(系统用户必须预先存在) |
smbpasswd -x 用户名 |
删除Samba账号(仅删SMB密码,不删系统用户) |
useradd 用户名 |
创建Linux系统用户 |
userdel -r 用户名 |
删除系统用户并删除家目录 |
id 用户名 |
检查系统用户是否存在 |
二、/etc/samba/smb.conf 共享段写法
基础私有共享(需要账号密码,推荐)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [myshare] path = /mnt/data browseable = yes writable = yes guest ok = no valid users = smbuser create mask = 0644 directory mask = 0755 noatime = yes
|
只读共享(仅读取,不可写入)
1 2 3 4 5 6 7 8
| [read_only] path = /mnt/readonly browseable = yes writable = no guest ok = no valid users = smbuser create mask = 0644 directory mask = 0755
|
匿名共享(公开,慎用)
1 2 3 4 5 6
| [public] path = /mnt/public browseable = yes writable = no guest ok = yes guest only = yes
|
常用参数说明
| 参数 |
说明 |
[名字] |
共享名称,Windows访问:\\ip\名字 |
path |
本机对应的本地目录 |
browseable |
是否在共享列表展示 yes/no |
writable |
是否允许写入 yes/no |
guest ok |
是否允许匿名访客 yes/no |
valid users |
限制登录用户,多个用空格隔开 |
create mask |
新建文件权限 |
directory mask |
新建文件夹权限 |
修改配置后的操作
改完配置,校验并重启服务
1 2
| testparm systemctl restart smb nmb
|