samba

  1. samba简介
  2. samba访问
  3. 示例
    作业(博客)

  4. samba简介
    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
    在此之前我们已经了解了NFS,NFS与samba一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。
    SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
    SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
    Samba监听端口有:
TCP UDP
139,445 137,138

tcp端口相对应的服务是smbd服务,其作用是提供对服务器中文件、打印资源的共享访问。
udp端口相对应的服务是nmbd服务,其作用是提供基于NetBIOS主机名称的解析。
samba进程:
进程
对应
nmbd
对应netbios
smbd
对应cifs协议
winbindd + ldap

//smbpasswd命令:
    -a Sys_User     //添加系统用户为samba用户并为其设置密码
    -d              //禁用用户帐号
    -e              //启用用户帐号
    -x              //删除用户帐号

[root@localhost ~]# yum -y install samba-*
[root@localhost ~]# useradd tom
[root@localhost ~]# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.

Samba安全级别:
Samba服务器的安全级别有三个,分别是user,server,domain
1.关闭防火墙(4步)
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]#  systemctl disable  firewalld
[root@localhost ~]# vim /etc/selinux/config
[root@localhost ~]# setenforce 0

2.安装samba服务(yum install -y samba*)
[root@localhost ~]#  yum -y install samba-*
已安装:
  samba.x86_64 0:4.8.3-4.el7                     samba-client.x86_64 0:4.8.3-4.el7          
  samba-client-libs.x86_64 0:4.8.3-4.el7         samba-common.noarch 0:4.8.3-4.el7          
  samba-common-libs.x86_64 0:4.8.3-4.el7         samba-common-tools.x86_64 0:4.8.3-4.el7    
  samba-krb5-printing.x86_64 0:4.8.3-4.el7       samba-libs.x86_64 0:4.8.3-4.el7            
  samba-python.x86_64 0:4.8.3-4.el7              samba-winbind.x86_64 0:4.8.3-4.el7         
  samba-winbind-modules.x86_64 0:4.8.3-4.el7    

3.创建samba系统用户并为系统用户设置密码

[root@localhost ~]# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.
4、在/etc/samba/smb.conf配置文件下加入指定共享的用户和目录
[root@localhost ~]# vim //etc/samba/smb.conf
[zhangwu]
         path=zhangwu
         Valid user=tom
                  write list = tom
5.testparm测试配置是否有语法错误

[root@localhost ~]#  testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[zhangwu]"
Unknown parameter encountered: "Valid user"
Ignoring unknown parameter "Valid user"
Loaded services file OK.
Server role: ROLE_STANDALONE
6.重启samba服务
[root@localhost ~]# systemctl restart smb

客户端

1.关闭防火墙(4步)
[root@aad ~]# systemctl stop firewalld
[root@aad ~]# systemctl disable  firewalld
[root@aad ~]# vim /etc/selinux/config 
[root@aad ~]# setenforce 0
2.安装samba客户端(yum install -y  samba-client)
[root@aad ~]# yum install -y  samba-client
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
sss                                                                   | 3.6 kB  00:00:00     
正在解决依赖关系
已安装:
  samba-client.x86_64 0:4.8.3-4.el7                                                          

作为依赖被安装:
  avahi-libs.x86_64 0:0.6.31-19.el7           cups-libs.x86_64 1:1.6.3-35.el7                
  libarchive.x86_64 0:3.1.2-10.el7_2          libldb.x86_64 0:1.3.4-1.el7                    
  libsmbclient.x86_64 0:4.8.3-4.el7           libtalloc.x86_64 0:2.1.13-1.el7                
  libtdb.x86_64 0:1.3.15-1.el7                libtevent.x86_64 0:0.9.36-1.el7                
  libwbclient.x86_64 0:4.8.3-4.el7            samba-client-libs.x86_64 0:4.8.3-4.el7         
  samba-common.noarch 0:4.8.3-4.el7           samba-common-libs.x86_64 0:4.8.3-4.el7 
3、查看服务器端的共享资源smbclient  -L host  -U user(系统用户)

[root@aad ~]# smbclient -L 192.168.50.141 -U tom
Enter SAMBA\tom's password: 

    Sharename       Type      Comment
    ---------       ----      -------
    print$          Disk      Printer Drivers
    zhangwu         Disk      
    IPC$            IPC       IPC Service (Samba 4.8.3)
    tom             Disk      Home Directories
Reconnecting with SMB1 for workgroup listing.

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
4.创建挂载目录站点
5、挂载
    Mount -t cifs //ip/共享名  挂载目录   -o  系统用户名和密码
        [root@aad ~]# mkdir /opt/qqq
    [root@aad ~]# mount -t cifs //192.168.50.141/zhangwu /opt/qqq  -o  username=tom,password=1
```
    6.验证
[root@localhost zhangwu]# ls
1  2
[root@localhost zhangwu]# chmod -R 777 /opt/zhangwu/
[root@localhost zhangwu]# ls
1  2  aba

[root@aad qqq]# ls
1  2
[root@aad qqq]# touch aba
[root@aad qqq]# ls
1  2  aba
[root@aad qqq]#