zoukankan      html  css  js  c++  java
  • Linux基础学习-Samba文件共享服务

    使用Samba文件共享服务

    Samba起源:

    早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据,这样确实不太方便,于是便出现了NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linux与 Windows系统间的文件共享。

    随后在1991年时大学生Tridgwell为了解决Linux与Windows系统之间共享文件的问题,便开发出了SMB协议与Samba服务程序。
    SMB(Server Messages Block)协议:实现局域网内文件或打印机等资源共享服务的协议。

    当时Tridgwell想要注册SMBServer这个商标,但却被因为SMB是没有意义的字符被拒绝了,经过Tridgwell不断翻看词典,终于找到了一个拉丁舞蹈的名字——SAMBA,而这个热情舞蹈的名字中又恰好包含了SMB(SAMBA),于是这便是Samba程序名字的由来。

    Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux与Windows系统间的文件共享

    image

    1 samba安装

    [root@qdlinux ~]# yum install samba cifs-utils -y
    

    2 启动服务加入开机自启动

    [root@qdlinux ~]# systemctl start smb
    [root@qdlinux ~]# systemctl enable smb
    Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
    [root@qdlinux ~]# ss -lntup | grep smb
    tcp    LISTEN     0      50        *:139                   *:*                   users:(("smbd",pid=1095,fd=38))
    tcp    LISTEN     0      50        *:445                   *:*                   users:(("smbd",pid=1095,fd=37))
    tcp    LISTEN     0      50       :::139                  :::*                   users:(("smbd",pid=1095,fd=36))
    tcp    LISTEN     0      50       :::445                  :::*                   users:(("smbd",pid=1095,fd=35))
    
    

    3 配置samba

    [root@qdlinux ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
    [root@qdlinux ~]# cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf 
    [root@qdlinux ~]# cat /etc/samba/smb.conf
    [global]
    	workgroup = SAMBA
    	security = user
    	passdb backend = tdbsam
    	printing = cups
    	printcap name = cups
    	load printers = yes
    	cups options = raw
    [homes]
    	comment = Home Directories
    	valid users = %S, %D%w%S
    	browseable = No
    	read only = No
    	inherit acls = Yes
    [printers]
    	comment = All Printers
    	path = /var/tmp
    	printable = Yes
    	create mask = 0600
    	browseable = No
    [print$]
    	comment = Printer Drivers
    	path = /var/lib/samba/drivers
    	write list = root
    	create mask = 0664
    	directory mask = 0775
    
    

    4 修改配置文件如下

    [root@qdlinux ~]# vim /etc/samba/smb.conf
    [root@qdlinux ~]# cat /etc/samba/smb.conf
    [global]
    	workgroup = WORKGROUP
    	security = user
    	passdb backend = tdbsam
    	printing = cups
    	printcap name = cups
    	load printers = yes
    	cups options = raw
    [share]
    	comment = This is share /data/samba/share
    	path = /data/samba/share
    	public = no
    	writable = yes
    
    

    5 添加一个用户用于访问共享资源

    [root@qdlinux ~]# useradd samba_user
    [root@qdlinux ~]# usermod -s /sbin/nologin samba_user
    
    [root@qdlinux ~]# pdbedit -L 
    [root@qdlinux ~]# pdbedit -a -u samba_user
    new password:
    retype new password:
    Unix username:        samba_user
    NT username:          
    Account Flags:        [U          ]
    User SID:             S-1-5-21-351179206-2754336130-384069223-1000
    Primary Group SID:    S-1-5-21-351179206-2754336130-384069223-513
    Full Name:            
    Home Directory:       \qdlinuxsamba_user
    HomeDir Drive:        
    Logon Script:         
    Profile Path:         \qdlinuxsamba_userprofile
    Domain:               QDLINUX
    Account desc:         
    Workstations:         
    Munged dial:          
    Logon time:           0
    Logoff time:          Wed, 06 Feb 2036 23:06:39 CST
    Kickoff time:         Wed, 06 Feb 2036 23:06:39 CST
    Password last set:    Tue, 14 Aug 2018 19:37:44 CST
    Password can change:  Tue, 14 Aug 2018 19:37:44 CST
    Password must change: never
    Last bad password   : 0
    Bad password count  : 0
    Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    
    [root@qdlinux ~]# chown -Rf samba_user.samba_user /data/samba/share/
    
    

    6 重启服务测试

    [root@qdlinux ~]# systemctl restart smb
    
    

    7 发现windows不能访问所共享的内容,解决方法如下

    [root@qdlinux ~]# iptables -F
    [root@qdlinux ~]# firewall-cmd --permanent --add-service=samba
    success
    [root@qdlinux ~]# firewall-cmd --reload 
    success
    
    [root@qdlinux ~]# getsebool -a | grep samba
    samba_create_home_dirs --> off
    samba_domain_controller --> off
    samba_enable_home_dirs --> off
    samba_export_all_ro --> off
    samba_export_all_rw --> off
    samba_load_libgfapi --> off
    samba_portmapper --> off
    samba_run_unconfined --> off
    samba_share_fusefs --> off
    samba_share_nfs --> off
    sanlock_use_samba --> off
    tmpreaper_use_samba --> off
    use_samba_home_dirs --> off
    virt_use_samba --> off
    [root@qdlinux ~]# setsebool -P samba_enable_home_dirs on
    [root@qdlinux ~]# setsebool -P samba_export_all_rw on
    
    

    匿名访问成功

  • 相关阅读:
    window/body/img/iframe 的onload事件
    程序员考证之信息系统项目管理师
    程序员转项目管理之考证PMP
    2018第29周总结
    小程序行业报告学习
    谷歌中国的第一款产品“猜画小歌”
    小程序学习资料
    月薪3万Java程序员要达到的技术层次
    SOA、微服务与服务网格
    不重视管理会给软件开发带来哪些恶果
  • 原文地址:https://www.cnblogs.com/qdlinux/p/9636559.html
Copyright © 2011-2022 走看看