SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同操作系统的计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
sudo apt-get install samba samba-common
tdbsam:该方式是使用一个数据库文件来验证。数据库文件叫passdb.tdb。可以通过pdbedit -a 向数据库中添
加新用户,不过要建立的Samba用户必须先是系统用户。也可以理解为我们使用pdbedit -a将系统用户转化为了samba用户。pdbedit命令的参数很多,列出几个主要的。
[global]用于定义Samba服务器的总体特性,其配置项对所有共享资源生效。
[homes]用于设置用户宿主目录的共享属性(特殊共享)
[homes] 共享名(特殊共享,泛指每个用户对应的家目录)
[printers]用于设置打印机共享资源的属性(特殊共享,共享打印设备,现在基本不用)
[printers] 共享名
[自定义]自定义共享区域
[自定义] 共享名
testparam:""Loaded services file OK."表示配置文件语法正确
service smb start
service smb stop
service smb restart
service smb reload
apt-get install smbclient
1.Linux 端:
#查看服务器共享
smbclient -U 用户名 -L //服务器 IP
#登录服务器共享
smbclient -U 用户名 //服务器 ip/共享名
\\服务器 ip\共享名
清空登录缓存
net use * /del
说明:config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件不存在,则该项无效。这个参数很有用,可以使得 samba配置更灵活,可以让一台 samba 服务器模拟多台不同配置的服务器。比如,你想让 PC1(主机名)这台电脑在访问 Samba Server 时使用它自己的配置文件,那么先在/etc/samba/host/下为 PC1 配置一个名为smb.conf.pc1 的文件,然后在 smb.conf 中加入:config file = /etc/samba/host/smb.conf.%m。这样当 PC1 请求连接 Samba Server 时,smb.conf.%m 就被替换成 smb.conf.pc1。这样,对于 PC1 来说,它所使用的 Samba 服务就是由 smb.conf.pc1 定义的,而其他机器访问 Samba Server 则还是应用 smb.conf。
说明:设定 Samba Server 所要加入的工作组或者域。
说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v 表示显示 Samba 的版本号。
说明:设置 Samba Server 的 NetBIOS 名称。如果不填,则默认会使用该服务器的 DNS 名称的第一部分。netbios name 和 workgroup 名字不要设置成一样了。
说明:设置 Samba Server 监听哪些网卡,可以写网卡名,也可以写该网卡的 IP 地址。
说明:表示允许连接到 Samba Server 的客户端,多个参数以空格隔开。可以用一个 IP 表示,也可以用一个网段表示。hosts deny 与 hosts allow 刚好相反。
例如:hosts allow=172.17.2.EXCEPT 172.17.2.50表示容许来自172.17.2.*.*的主机连接,但排除 172.17.2.50
hosts allow=172.17.2.0/255.255.0.0
表示容许来自172.17.2.0/255.255.0.0 子网中的所有主机连接hosts allow=M1,M2
表示容许来自 M1 和 M2 两台计算机连接hosts allow=@xq表示容许来自 XQ 网域的所有计算机连接
说明:max connections 用来指定连接 Samba Server 的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0 表示不限制。
说明:deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0 代表 Samba Server不自动切断任何连接。
说明:time server 用来设置让nmdb成为windows 客户端的时间服务器。
说明:设置 Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问 Samba Server 的机器都单独记录一个日志文件。如果 pc1、pc2 访问过 Samba Server,就会在/var/log/samba 目录下留下 log.pc1 和 log.pc2 两个日志文件。
说明:设置 Samba Server 日志文件的最大容量,单位为 kB,0 代表不限制。
说明:设置用户访问 Samba Server 的验证方式,一共有四种验证方式。
说明:passdb backend 就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam 和 ldapsam。sam应该是 security account manager(安全账户管理)的简写。
说明:是否将认证密码加密。因为现在 windows 操作系统都是使用加密密码,所以一般要开启此项。
不过配置文件默认已开启。
说明:用来定义 samba 用户的密码文件。smbpasswd 文件如果没有那就要手工新建。
username map = /etc/samba/smbusers
说明:用来定义用户名映射,比如可以将 root 换成 administrator、admin 等。不过要事先在 smbusers
文件中定义好。比如:root = administrator admin,这样就可以用 administrator 或 admin 这两个
用户来代替 root 登陆 Samba Server,更贴近 windows 用户的习惯。
说明:用来设置 guest 用户名。
说明:用来设置服务器和客户端之间会话的 Socket 选项,可以优化传输速度。
说明:设置 Samba 服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。
说明:local master 用来指定 Samba Server是否试图成为本地网域主浏览器。如果设为no,则永远不会成为本地网域主浏览器。但是即使设置为 yes,也不等于该 Samba Server 就能成为主浏览器,还需要参加选举。
说明:设置 Samba Server 一开机就强迫进行主浏览器选举,可以提高 Samba Server 成为本地网域主浏览器的机会。如果该参数指定为 yes 时,最好把 domain master 也指定为 yes。
注意:如果在本 Samba Server 所在的子网有其他的机器(不论是 windows NT 还是其他 Samba Server)也指定为首要主浏览器时,那么这些机器将会因为争夺主浏览器而在网络上大发广播,影响网络性能。如果同一个区域内有多台 Samba Server,将上面三个参数设定在一台即可。os level = 200
说明:设置 samba 服务器的 os level。该参数决定 Samba Server是否有机会成为本地网域的主浏览器。os level 从 0 到 255,winNT 的 os level 是 32,win95/98 的 os level 是 1。Windows 2000 的os level 是 64。如果设置为0,则意味着 Samba Server 将失去浏览选择。如果想让 Samba Server 成 为 PDC,那么将它的 os level 值设大些。
说明:设置 Samba Server 是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。
说明:当使用者用 windows客户端登陆,那么Samba将提供一个登陆档。如果设置成%u.bat,那么就要为每个用户提供一个登陆档。如果人比较多,那就比较麻烦。可以设置成一个具体的文件名,比如start.bat,那么用户登陆后都会去执行start.bat,而不用为每个用户设定一个登陆档了。这个文件要放置在[netlogon]的 path 设置的目录路径下。
说明:comment是对该共享的描述,可以是任意字符串。
说明:path 用来指定共享目录的路径。可以用%u、%m 这样的宏来代替路径里的unix用户和客户机的Netbios 名,用宏表示主要用于[homes]共享域。
例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成:
path = /home/share/%u;
用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问 samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%m 。
说明:browseable 用来指定该共享是否可以浏览。
说明:writable 用来指定该共享路径是否可写。
说明:available 用来指定该共享资源是否可用。
说明:admin users 用来指定该共享的管理员(对该共享具有完全控制权限)。在 samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
例如:admin users=bobyuan,jane(多个用户中间用逗号隔开)。
说明:valid users 用来指定允许访问该共享资源的用户。
例如:valid users=bobyuan,@bob,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组
就用“@+组名”表示。)
说明:invalid users 用来指定不允许访问该共享资源的用户。
例如:invalid users =root,@bob(多个用户或者组中间用逗号隔开。)
说明:write list 用来指定可以在该共享下写入文件的用户。
例如:write list = bobyuan,@bob
说明:public 用来指定该共享是否允许 guest 账户访问。
说明:意义同“public”。
comment = Home Directories
browseable = no
writable = yes
valid users = %S
; valid users = MYDOMAIN%S
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes
writable = no
share modes = no
path = /var/lib/samba/profiles
browseable = no
guest ok = yes
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同操作系统的计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
sudo apt-get install samba samba-common
tdbsam:该方式是使用一个数据库文件来验证。数据库文件叫passdb.tdb。可以通过pdbedit -a 向数据库中添
加新用户,不过要建立的Samba用户必须先是系统用户。也可以理解为我们使用pdbedit -a将系统用户转化为了samba用户。pdbedit命令的参数很多,列出几个主要的。
[global]用于定义Samba服务器的总体特性,其配置项对所有共享资源生效。
[homes]用于设置用户宿主目录的共享属性(特殊共享)
[homes] 共享名(特殊共享,泛指每个用户对应的家目录)
[printers]用于设置打印机共享资源的属性(特殊共享,共享打印设备,现在基本不用)
[printers] 共享名
[自定义]自定义共享区域
[自定义] 共享名
testparam:""Loaded services file OK."表示配置文件语法正确
service smb start
service smb stop
service smb restart
service smb reload
apt-get install smbclient
1.Linux 端:
#查看服务器共享
smbclient -U 用户名 -L //服务器 IP
#登录服务器共享
smbclient -U 用户名 //服务器 ip/共享名
\\服务器 ip\共享名
清空登录缓存
net use * /del
说明:config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件不存在,则该项无效。这个参数很有用,可以使得 samba配置更灵活,可以让一台 samba 服务器模拟多台不同配置的服务器。比如,你想让 PC1(主机名)这台电脑在访问 Samba Server 时使用它自己的配置文件,那么先在/etc/samba/host/下为 PC1 配置一个名为smb.conf.pc1 的文件,然后在 smb.conf 中加入:config file = /etc/samba/host/smb.conf.%m。这样当 PC1 请求连接 Samba Server 时,smb.conf.%m 就被替换成 smb.conf.pc1。这样,对于 PC1 来说,它所使用的 Samba 服务就是由 smb.conf.pc1 定义的,而其他机器访问 Samba Server 则还是应用 smb.conf。
说明:设定 Samba Server 所要加入的工作组或者域。
说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v 表示显示 Samba 的版本号。
说明:设置 Samba Server 的 NetBIOS 名称。如果不填,则默认会使用该服务器的 DNS 名称的第一部分。netbios name 和 workgroup 名字不要设置成一样了。
说明:设置 Samba Server 监听哪些网卡,可以写网卡名,也可以写该网卡的 IP 地址。
说明:表示允许连接到 Samba Server 的客户端,多个参数以空格隔开。可以用一个 IP 表示,也可以用一个网段表示。hosts deny 与 hosts allow 刚好相反。
例如:hosts allow=172.17.2.EXCEPT 172.17.2.50表示容许来自172.17.2.*.*的主机连接,但排除 172.17.2.50
hosts allow=172.17.2.0/255.255.0.0
表示容许来自172.17.2.0/255.255.0.0 子网中的所有主机连接hosts allow=M1,M2
表示容许来自 M1 和 M2 两台计算机连接hosts allow=@xq表示容许来自 XQ 网域的所有计算机连接
说明:max connections 用来指定连接 Samba Server 的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0 表示不限制。
说明:deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0 代表 Samba Server不自动切断任何连接。
说明:time server 用来设置让nmdb成为windows 客户端的时间服务器。
说明:设置 Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问 Samba Server 的机器都单独记录一个日志文件。如果 pc1、pc2 访问过 Samba Server,就会在/var/log/samba 目录下留下 log.pc1 和 log.pc2 两个日志文件。
说明:设置 Samba Server 日志文件的最大容量,单位为 kB,0 代表不限制。
说明:设置用户访问 Samba Server 的验证方式,一共有四种验证方式。
说明:passdb backend 就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam 和 ldapsam。sam应该是 security account manager(安全账户管理)的简写。
说明:是否将认证密码加密。因为现在 windows 操作系统都是使用加密密码,所以一般要开启此项。
不过配置文件默认已开启。
说明:用来定义 samba 用户的密码文件。smbpasswd 文件如果没有那就要手工新建。
username map = /etc/samba/smbusers
说明:用来定义用户名映射,比如可以将 root 换成 administrator、admin 等。不过要事先在 smbusers
文件中定义好。比如:root = administrator admin,这样就可以用 administrator 或 admin 这两个
用户来代替 root 登陆 Samba Server,更贴近 windows 用户的习惯。
说明:用来设置 guest 用户名。
说明:用来设置服务器和客户端之间会话的 Socket 选项,可以优化传输速度。
说明:设置 Samba 服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。
说明:local master 用来指定 Samba Server是否试图成为本地网域主浏览器。如果设为no,则永远不会成为本地网域主浏览器。但是即使设置为 yes,也不等于该 Samba Server 就能成为主浏览器,还需要参加选举。
说明:设置 Samba Server 一开机就强迫进行主浏览器选举,可以提高 Samba Server 成为本地网域主浏览器的机会。如果该参数指定为 yes 时,最好把 domain master 也指定为 yes。
注意:如果在本 Samba Server 所在的子网有其他的机器(不论是 windows NT 还是其他 Samba Server)也指定为首要主浏览器时,那么这些机器将会因为争夺主浏览器而在网络上大发广播,影响网络性能。如果同一个区域内有多台 Samba Server,将上面三个参数设定在一台即可。os level = 200
说明:设置 samba 服务器的 os level。该参数决定 Samba Server是否有机会成为本地网域的主浏览器。os level 从 0 到 255,winNT 的 os level 是 32,win95/98 的 os level 是 1。Windows 2000 的os level 是 64。如果设置为0,则意味着 Samba Server 将失去浏览选择。如果想让 Samba Server 成 为 PDC,那么将它的 os level 值设大些。
说明:设置 Samba Server 是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。
说明:当使用者用 windows客户端登陆,那么Samba将提供一个登陆档。如果设置成%u.bat,那么就要为每个用户提供一个登陆档。如果人比较多,那就比较麻烦。可以设置成一个具体的文件名,比如start.bat,那么用户登陆后都会去执行start.bat,而不用为每个用户设定一个登陆档了。这个文件要放置在[netlogon]的 path 设置的目录路径下。
说明:comment是对该共享的描述,可以是任意字符串。
说明:path 用来指定共享目录的路径。可以用%u、%m 这样的宏来代替路径里的unix用户和客户机的Netbios 名,用宏表示主要用于[homes]共享域。
例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成:
path = /home/share/%u;
用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问 samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%m 。
说明:browseable 用来指定该共享是否可以浏览。
说明:writable 用来指定该共享路径是否可写。
说明:available 用来指定该共享资源是否可用。
说明:admin users 用来指定该共享的管理员(对该共享具有完全控制权限)。在 samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
例如:admin users=bobyuan,jane(多个用户中间用逗号隔开)。
说明:valid users 用来指定允许访问该共享资源的用户。
例如:valid users=bobyuan,@bob,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组
就用“@+组名”表示。)
说明:invalid users 用来指定不允许访问该共享资源的用户。
例如:invalid users =root,@bob(多个用户或者组中间用逗号隔开。)
说明:write list 用来指定可以在该共享下写入文件的用户。
例如:write list = bobyuan,@bob
说明:public 用来指定该共享是否允许 guest 账户访问。
说明:意义同“public”。
comment = Home Directories
browseable = no
writable = yes
valid users = %S
; valid users = MYDOMAIN%S
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes
writable = no
share modes = no
path = /var/lib/samba/profiles
browseable = no
guest ok = yes