Linux 共享服务SAMBA 这里先介绍下网上邻居是如何工作的。
网上邻居工作模式:
Linux访问网上邻居的方式:
这里介绍下SAMBA软件包:
其中这里的samba-common 这里就是smb.conf这个文件。
这里如果你开始安转过的时候没有安装SAMBA软件包,那么以后通过RPM来安装的时候,会出现依赖性关系。
这样就很麻烦你还得一个一个去找。
这个时候我们可以通过一个简单的办法来让他自动为我们安装这个SMABA和他所需要的软件包。
这里需要一个支持的软件,RPMDB这个软件
首先在光盘里找到这个由于我的时Fedora所以我的这个包的名字为rpmdb-Fedora什么的,然后找到所在的光盘,执行安装
安装这个包以后,我们按照下面的命令来输入:
这样他就会把我们所需要的SAMBA的依赖关系的包都安装进去。
下面的这个图就是我安装rpmdb和samba的过程。
这个是SAMBA的全包带依赖关系的安装。
这里的eject命令是弹出光驱。
描述一下samba的命令:
执行smbtree这个命令会向整个网络执行广播,并且以root用户的身份去登陆。
因为WIN中没有root所以这里我们也不需要输入密码直接以匿名的身份就可以了。
这里的-b是广播的形式,而-D是显示工作组名,或者域名。
如果登陆主机需要使用用户名和密码的话我们可以使用-U 后边跟用户名和密码。
如:smbtree –U xxx%xxxx 注意这个帐户和密码必须是网络中有的菜可以。
因此可能只适用一个主机,你不可能整个网络都是一个用户名和密码吧。
查找一台机器的名字和IP
Smbclient –L host 显示的时候可以跟大写L 后边跟主机名字或者IP
登陆的时候可以用smbclietn //host/share –U xxxx%xxxx 登陆近来以后有点类似FTP
例如使用:smbtar –s 10.10.10.1 –u xxx –p xxx –x sharename –t share。
Tar
如果你备份过来的文件要是0大小的话那么你应该:
Which smbtar 找到这个路径,vi进入。
到最后行,看下
找到这个,其实这是个脚本文件。
熟悉脚本的可以看一下。
注意-N 这个表示匿名登陆。
把这个去掉了就可以备份成功了。
下面来详细看一下SMA的配置文件。
Smb的配置文件是在/etc/samba/smb.conf中
在这个文件中分号(;)表示注释的命令是可选的命令. 井号(#)表示注释的帮助,分号可以去掉.但是井号不可以,如果井号去掉就变成错误的语法了.
首先介绍全局配置:[global]
1.Workgroup = workgroup 这个是域名或者是工作组名。
等号后边表示你的工作组或域名2.Server string = Samba server 这个是解释信息。
说明用的。
3.Netbios name = linux 通常我们看到的名称都是在HOSTNAME下的第一部分名字,如果设置这个那么在其他客户端看到的就是这个名字了。
4.Security = user/share/server 是本地的安全级别。
User这个级别是所有的用户要进入这个服务器都必须输入用户名和密码(这个级别也是默认的级别)
Share 是不是需要用户名和密码,所有人都可以匿名访问。
Server 这个也是需要验证的胆识他的数据库不是放在本地的。
必须和下面这个文件和用。
(password server = <server>)一定要关联这个文件要不就是没有意义的。
5.Log file = /var/log/samba/log.%m 记录日志文件的地方。
其中%m是记录的主机名为开头的LOG,%I是记录IP的。
这里可以参考smb的帮助。
来替换不同的变量。
6.Encrypt password = yes 是否要启用加密密码。
7.Smb passwd file = /etc/samba/smbpasswd 存放smb用户和密码的地方。
6和7这2个文件也是关联应用的。
8.Interfaces = 192.168.0.0/24 工作的接口
9.Name resolve order = wins lmhosts bacst 解析的方式
10.Wins support = yes
11.Wins server = x。
y。
w。
z
注意控制访问。
防止出现漏洞。
这个启动可以使用EXCEPT来进行排出访问
比如hosts allow = 10.0.0 except 10.0.0.254
这个就是10.0.0这个网段所有机器都能访问但是10.0.0.254不能访问。
Samba的用户帐号
这里介绍下创建共享的目录权限
比如:
[docs]
path = /usr/share/docs 共享目录的路径
comment = linux 共享目录的说明
public = yes/no 是否允许匿名访问这个目录。
Valid users = <username > <@groupname> 限制用户访问和组访问
Write list = <username> < @groupname> 可写列表
Create mask = 0660
Directory mask = 0700
这里要添加用户必须是系统中纯在的用户,
如果没有可以useradd username
Smbpasswd –a username 添加smb用户并且设置密码
这里有smbpasswd的各个选项介绍:
-a 添加-d 禁止使用该帐户-e 可以使用-x 删除帐户。
-m 关联帐号添加域的时候用
用户帐号的映射。
这里可以在/etc/samba/smbusers 这里来添加别名用户。
比如系统的用户是REDHAT 那么别人可能根据这个登陆的用户名来猜测这个帐户的密码。
为了防止这样的事情。
我们可以修改上边这个文件
为了让服务器支持这个功能必须打开这个。
这样就可以了,在修改这个目录里的文件。
这样修改就可以了,前边REDHAT是系统用户后边TOM 是别名
实战samba
案例的分析
这里添加用户的时候可以用FOR 语句来添加批量用户
利用automount 来实现自动挂在。