SAMBA服务器笔记

来源:互联网 发布:mac不能无线键盘 编辑:程序博客网 时间:2024/05/19 23:11
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用户)