SAMBA服务器笔记
NFS:是俩台主机之间传输文件,如:Linux对Linux之间的共享,Unix对Unix之间共享
SAMBA:实现的是Linux和 Windows之间的文件共享。
SAMBA:用到的端口号:
1、UDP:137 138
2、TCP: 139 445
检测语法是否正确:
testparm :直接输入命令即可。
1、yum -y install samba
#安装samba
安装后产生的主目录:
/etc/samba
其中 smb.conf 是主配置文件。
并且会开启2个进程:
1、nmbd:主要用于较旧的服务访问,如果正常IP地址访问,这个服务没必要启用
2、smbd:用于IP地址的传输,主服务,共享某个目录,以及提供用户的身份验证等。
用到的端口好:UDP:137 138 TCP:139 445
添加防火墙规则:
SAMBA的主目录: 默认有的,但是主配置文件没有
/etc/samba
smb.conf:SAMBA 的主配置文件。
2、添加防火强规则,然后保存防火墙规则
3、主配置文件的介绍 /etc/samba/smb.conf
3-1、Global Settings的作用:
3-2、NetWork Related Options、
注意这里的;分好 也是注释的意思。
其中如果要实现与windows的共享,工作组一定要一样才可以
server string :这个是表示服务器的 版本信息 %v 是个变量
netbios:表示是可以通过netbios访问到 SAMBA服务器
interfaces : 表示是允许通过哪个接口访问SAMBA服务器,默认是允许的,因为这句是注释掉的。因为每个服务器上都有可能是2块网卡,所以限制哪块网卡可以访问SAMBA服务器
hosts allow:表示:允许哪些主机访问SAMBA服务器。注意IP地址是网段的形式,并且后面并没有写明确切的IP地址。IP地址只写了前三位。如:192.168.12. 之间用空格分割。
3-3、日志信息
3-4、设置访问SAMBA的方式
注意:security 指定的是 访问SAMBA服务器时候的方式,有3中:
1、uesr:必须输入用户名密码才可以访问,
2、share:匿名访问(此时不需要输入用户名密码)
3、server:如果有专门做认证的服务器,这个只可以写成这个认证的服务器。
3-5、如何将LinuxSAMBA加入到Windows的活动目录
3-6、将SAMBA变成PDC(模拟域控制器)
3-7、设置具体的共享设置
分享目录的设置:
注意:首先这2台主机是可以ping通的。如果分享不用输入用户名应该在:Standalone Server Options 中 将 security 的值 = share 就可以。但是,可能Windows上有安全认证,所以需要输入windows的用户和密码才可以访问到。、
如果不能正常访问,需要检查
1、这个分享的目录必须存在。
2、检查SELinux是否关闭了。
关闭SELinux:
1、getenforce 查询SELinux的状态;
2、setenforce 0 关闭SELinux 如果后面跟 1 则是打开
清除Windows当中的记录:否则会影响登录:
net use * /del
重启服务 : service smb restart
在Windows上 访问: \\192.168.197.129 回车即可。
当第一次登录的时候,是需要输入用户名密码的,这是默认的。这是因为在设置共享的时候没有指定匿名访问
public = yes 添加后表示允许匿名用户访问共享。
设置后重启服务: service smb restart
注意的是:这里虽然显示的是 test, 但实际进入的是服务器端的 /home/testdir 这个目录
如果这时候SELinux打开后,不能正常访问
1、查看目录的SELinux的信息
ls -ldZ /home/testdir/
2、设置该目录的SELInux的上下文信息
chcon -t samba_share_t /home/testdir/
此时如果在打开的分享目录下创建文件的话是会报:没有权限。
为什么出现没有权限操作,也就是无法创文件?
第一配置文件中设置了写权限(writable = yes);第二目录的权限设置了 777 ;但还是报没有权限操作,就是SELinux的问题,需要设置目录的上下文:(chcon -t samba_share_t /home/testdir/)。或则:直接关闭SELinux即可。
设置目录SELinux的上下文;设置后从其 service smb restart
如果出现往服务器写的时候,写不进去可能出现3中原因:(包括其他服务也是如此)
1、检查配置文件中是设置了写的权限
2、检查服务器上,对应的目录是否有对应的权限。
3、检查SELinux的上下文,修改,要么直接关闭。
登录SAMBA服务器时,需要输入用户名密码
将 Standalone Server Optioins 中的 secerity = user 。
创建SAMBA的用户名和密码:用户系统的密码跟SAMBA服务器的密码是独立的。
这个用户必须是系统当中已经存在的用户。
id 用户名
#查看是否存在该用户。
添加用户到samba:
smbpasswd -a laow
也可以:
pdbedit -a -u laow
#设置输入密码后会显示用户的一些详细信息。
禁用samba用户:
smbpasswd -d laow
启用samba用户:
smbpasswd -e laow
删除samba用户:
sbmpasswd -x laow
查看SAMBA中添加的所有用户:
pdbedit -L
#显示所有的samba用户
查看某个用户的详细信息:
pdbedit -Lv laow
#查看老王用户的详细信息。
设置SAMBA指定用户在对应的分享目录中写文件。
这么设置后只有用户tom 才可以访问共享目录 test
指定组
添加用户到指定组:
gpasswd -a laow root
#将laow这个用户添加到 root组
设置隐藏共享:
指定加载配置文件:
在 Network Related Optioins -- 添加
#默认情况下 SAMBA 加载的配置文件是:/etc/samba/smb.conf,但是如果指定了加载配置文件就会加载对应的配置文件。从而设置对某用户隐藏共享目录
创建对应的配置文件:然后对该配置文件中的共享目录设置参数:browseable = yes 就只会针对该用户显示隐藏目录。如果browseable = no 这个共享目录是隐藏的。
Linux中访问SAMBA服务器:
smbclient -L //192.168.197.129
#匿名登录SAMBA服务器
smbclient -L //192.168.197.129 -U laow
#指定登录SAMBA服务器的用户
smbclient -L //192.168.197.129 -U laow%111111
#指定用户名登录的同时输入密码 % 分割
smbstatus
#查看当前SAMBA服务器正在连接主机
利用SAMBA,搭建PDC(模拟域控制器)
1、Domain Members Options :
#作用:设置把Linux主机添加到Windows域里
2、Domain Controller Options
#如何将LinuxSAMBA服务器设置成DC。即:PDC
将启用:security = user ;如果要模拟DC,这个值只能是user
启用:domain master = yes domain logons =yes 作用是:告诉服务器将要变成DC。
3、Browser Control Options 中启用:、
local master = yes
os level = 33 ###客户端的服务器类型。
preferred master =yes
########配置以上后,就已经配置成功 PDC
添加用户时指定用户家目录:
useradd -d /home/samba/tom tom
##如果能让tom登录到域,需要将tom加入到 SAMBA 的用户组里。pdbedit -L (查看samba用户)