常用配置

[share] #共享名,最后连接地址为 \\IP\share
comment = smb share test # 该共享的备注
path = /home/share # 共享路径
allow hosts = host(subnet) # 设置该Samba服务器允许的工作组或者域
deny hosts = host(subnet) # 设置该Samba服务器拒绝的工作组或者域
available = yes|no # 设置该共享目录是否可用
browseable = yes|no # 设置该共享目录是否可显示
writable = yes|no # 指定了这个目录缺省是否可写
public = yes|no # 指明该共享资源是否能给游客帐号访问
user = user, @group # user设置所有可能使用该共享资源的用户,也可以用@group代表group这个组的所有成员,不同的项目之间用空格或者逗号隔开
valid users = user, @group # 指定能够使用该共享资源的用户和组
invalid users = user, @group # 指定不能够使用该共享资源的用户和组
read list = user, @group # 指定只能读取该共享资源的用户和组
write list = user, @group # 指定能读取和写该共享资源的用户和组
admin list = user, @group # 指定能管理该共享资源(包括读写和权限赋予等)的用户和组
sync always = yes|no # 指明对该共享资源进行写操作后是否进行同步操作
short preserve case = yes|no # 指明是否区分文件名大小写
preserve case = yes|no # 指明是否保持大小写
case sensitive = yes|no # 指明是否对大小写敏感,一般选no,不然可能引起错误
mangle case = yes|no # 指明混合大小写
default case = upper|lower # 指明缺省的文件名是全部大写还是小写
force user = testuser # 强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= testuser强制建立文件的属主是testuser,同时限制create mask = 0755,这样guest就不能删除了
wide links = yes|no # 指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用
max connections = 100 # 设定最大同时连接数
delete readonly = yes|no # 指明能否删除共享资源里面已经被定义为只读的文件

我的配置

[global]
	unix charset = UTF-8
	dos charset = cp936
	security = user
follow symlinks = yes
wide links = yes
unix extensions = no

[jiangyb]
	path = /home/jiangyb
	browseable = yes
	writable = yes
	available = yes
	comment = Share Folder require password
	create mask = 777
	directory mask = 777
	valid users = jiangyb
	force create mode = 0644
	force directory mode = 0644
	public = yes
	case sensitive = no
	short preserve case = yes
	sync always = yes

添加用户
添加linux用户

useradd -M -s /sbin/nologin smba   

说明:添加一个用户名:smba 无shell登录用户

注意,创建samba用户之前,必须先确保有一个同名的Linux用户,否则samba用户会创建失败

sudo smbpasswd -a username
(前提 username 用户已存在:useradd username)
接下来重复输入密码
smbpasswd命令:
smbpasswd -a 增加用户(要增加的用户必须以是系统用户)
smbpasswd -d 冻结用户,就是这个用户不能在登录了
smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用
smbpasswd -n 把用户的密码设置成空.
             要在global中写入 null passwords -true
smbpasswd -x  删除用户

多用户权限
需求:user1对file1有权限,user2对file2有权限

sudo chown user1:user2 /home/share/file1
sudo chmod 700 /home/share/file1

配置 smb.conf

[file1]
path = /home/share/file1
read only = no
public    = no
vaild users = user1

其他命令
1、查看已启用的samba账户

sudo pdbedit -L -v
-L 列出用户
-v 列出详细内容

2、配置samba开机启动

sudo vim /etc/rc.local

在exit 0 之前添加如下内容:

/etc/init.d/smbd start