searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Samba介绍(一)

2023-09-18 09:20:40
27
0

1.1    安装

Samba是能够在任何支持SMB协议的主机之间实现文件共享的软件,由服务器及客户端程序构成。

	安装
# yum install samba       // centos
# apt-get install samba     // ubuntu
	查看版本
# smbd -V

1.2    配置

  • 配置说明
1、	配置文件路径:/etc/samba/smb.conf。
2、	配置文件分为两大类,全局设置参数与文件共享设置参数。
3、	root目录下的共享文件夹,需要客户端使用root用户登录才行。
  • 全局参数说明
[global]
# 可以使用另一个配置文件来覆盖缺省的配置文件。如果文件不存在,则该项无效
config file = /etc/samba/smb.conf.%U
# 设定 Samba Server 所要加入的工作组或者域
workgroup = WORKGROUP
# 设定 Samba Server 的注释
server string = Samba Server Version %v
# 设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址
interfaces = lo eth0 192.168. 12.2/24 192.168. 13.2/24
# 表示允许连接到Samba Server的客户端,多个参数以空格隔开
hosts allow = 127. 192.168.1. 192.168. 10.1
# 指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制
max connections = 0
# 设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接
deadtime = 0
# 设置让nmdb成为windows客户端的时间服务器
time server = yes/no
# 设置Samba Server日志文件的存储位置以及日志文件名称
log file = /var/log/samba/log.%m
# 设置Samba Server日志文件的最大容量,单位为kB,0代表不限制(默认)
max log size = 50
# 设置用户访问Samba Server的验证方式,一共有四种验证方式
# 1. share:不需要提供用户名和密码。
# 2. user:默认,需要提供用户名和密码,而且身份验证由 samba server 负责。
# 3. server:需要提供用户名和密码,可指定其他机器(winNT/2000/XP)或另一台 samba server作身份验证。
# 4. domain:需要提供用户名和密码,指定winNT/2000/XP域服务器作身份验证。
security = user
# 设置用户后台,目前有三种后台:smbpasswd、tdbsam和ldapsam
# 1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下
# 2.tdbsam: 该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库 可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户
# 3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户
passdb backend = tdbsam
# 是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。
encrypt passwords = yes/no
# 定义samba用户的密码文件
smb passwd file = /etc/samba/smbpasswd
# 定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯
username map = /etc/samba/smbusers
# 设置guest用户名
guest account = nobody
  • 共享参数说明
[共享名]
# 对该共享的描述,可以是任意字符串。
comment = 任意字符串
# 指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes] 共享域。
path = 共享目录路径
# 指定该共享是否可以浏览。
browseable = yes/no
# 指定该共享路径是否可写。
writable = yes/no
# 指定该共享资源是否可用。
available = yes/no
# 指定该共享的管理员(对该共享具有完全控制权限)。
# 在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
# 多个用户中间用逗号隔开。
admin users = 该共享的管理者
# 指定允许访问该共享资源的用户。
# 多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。
valid users = 允许访问该共享的用户
# 指定不允许访问该共享资源的用户。
# 多个用户或者组中间用逗号隔开。
invalid users = 禁止访问该共享的用户
# 指定可以在该共享下写入文件的用户。
write list = 允许写入该共享的用户
# 指定该共享是否允许guest账户访问。
public = yes/no
# 意义同“public”。
guest ok = yes/no
  • 配置文件示例
# vim /etc/samba/smb.conf
[global]
	log file = /var/log/samba/log.%m
	map to guest = Bad User
	passdb backend = smbpasswd
	security = USER
	server string = Samba Server Version %v
	smb passwd file = /etc/samba/smbpasswd
	username map = /etc/samba/smbusers
	idmap config * : backend = tdb
	hosts allow = 10.10. 20.20.
 [smbDir]
    comment = this is smb test
    path = /mnt/smbDir
    browseable = yes
writable = yes
write list = david,@dave

1.3    常用命令

# systemctl start smb         // 启动
# systemctl stop smb         // 停止
# systemctl enable smb       // 开机启动
# systemctl reload smb       // 重新加载配置
# smbpasswd -a samba1      // 创建smb用户及密码
# smbpasswd -x samba1      // 删除smb用户
# pdbedit -L                // 查看所有smb用户

 

0条评论
作者已关闭评论
Mr. 油
89文章数
0粉丝数
Mr. 油
89 文章 | 0 粉丝
原创

Samba介绍(一)

2023-09-18 09:20:40
27
0

1.1    安装

Samba是能够在任何支持SMB协议的主机之间实现文件共享的软件,由服务器及客户端程序构成。

	安装
# yum install samba       // centos
# apt-get install samba     // ubuntu
	查看版本
# smbd -V

1.2    配置

  • 配置说明
1、	配置文件路径:/etc/samba/smb.conf。
2、	配置文件分为两大类,全局设置参数与文件共享设置参数。
3、	root目录下的共享文件夹,需要客户端使用root用户登录才行。
  • 全局参数说明
[global]
# 可以使用另一个配置文件来覆盖缺省的配置文件。如果文件不存在,则该项无效
config file = /etc/samba/smb.conf.%U
# 设定 Samba Server 所要加入的工作组或者域
workgroup = WORKGROUP
# 设定 Samba Server 的注释
server string = Samba Server Version %v
# 设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址
interfaces = lo eth0 192.168. 12.2/24 192.168. 13.2/24
# 表示允许连接到Samba Server的客户端,多个参数以空格隔开
hosts allow = 127. 192.168.1. 192.168. 10.1
# 指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制
max connections = 0
# 设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接
deadtime = 0
# 设置让nmdb成为windows客户端的时间服务器
time server = yes/no
# 设置Samba Server日志文件的存储位置以及日志文件名称
log file = /var/log/samba/log.%m
# 设置Samba Server日志文件的最大容量,单位为kB,0代表不限制(默认)
max log size = 50
# 设置用户访问Samba Server的验证方式,一共有四种验证方式
# 1. share:不需要提供用户名和密码。
# 2. user:默认,需要提供用户名和密码,而且身份验证由 samba server 负责。
# 3. server:需要提供用户名和密码,可指定其他机器(winNT/2000/XP)或另一台 samba server作身份验证。
# 4. domain:需要提供用户名和密码,指定winNT/2000/XP域服务器作身份验证。
security = user
# 设置用户后台,目前有三种后台:smbpasswd、tdbsam和ldapsam
# 1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下
# 2.tdbsam: 该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库 可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户
# 3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户
passdb backend = tdbsam
# 是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。
encrypt passwords = yes/no
# 定义samba用户的密码文件
smb passwd file = /etc/samba/smbpasswd
# 定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯
username map = /etc/samba/smbusers
# 设置guest用户名
guest account = nobody
  • 共享参数说明
[共享名]
# 对该共享的描述,可以是任意字符串。
comment = 任意字符串
# 指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes] 共享域。
path = 共享目录路径
# 指定该共享是否可以浏览。
browseable = yes/no
# 指定该共享路径是否可写。
writable = yes/no
# 指定该共享资源是否可用。
available = yes/no
# 指定该共享的管理员(对该共享具有完全控制权限)。
# 在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
# 多个用户中间用逗号隔开。
admin users = 该共享的管理者
# 指定允许访问该共享资源的用户。
# 多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。
valid users = 允许访问该共享的用户
# 指定不允许访问该共享资源的用户。
# 多个用户或者组中间用逗号隔开。
invalid users = 禁止访问该共享的用户
# 指定可以在该共享下写入文件的用户。
write list = 允许写入该共享的用户
# 指定该共享是否允许guest账户访问。
public = yes/no
# 意义同“public”。
guest ok = yes/no
  • 配置文件示例
# vim /etc/samba/smb.conf
[global]
	log file = /var/log/samba/log.%m
	map to guest = Bad User
	passdb backend = smbpasswd
	security = USER
	server string = Samba Server Version %v
	smb passwd file = /etc/samba/smbpasswd
	username map = /etc/samba/smbusers
	idmap config * : backend = tdb
	hosts allow = 10.10. 20.20.
 [smbDir]
    comment = this is smb test
    path = /mnt/smbDir
    browseable = yes
writable = yes
write list = david,@dave

1.3    常用命令

# systemctl start smb         // 启动
# systemctl stop smb         // 停止
# systemctl enable smb       // 开机启动
# systemctl reload smb       // 重新加载配置
# smbpasswd -a samba1      // 创建smb用户及密码
# smbpasswd -x samba1      // 删除smb用户
# pdbedit -L                // 查看所有smb用户

 

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0