Linux——samba局域网共享文件

samba简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

Samba监听端口

TCP UDP
139 137
445 138
  • tcp端口相对应的服务是smbd服务,其作用是提供对服务器中文件、打印资源的共享访问。
  • udp端口相对应的服务是nmbd服务,其作用是提供基于NetBIOS主机名称的解析。

samba进程

进程 对应
nmbd netbios
smbd cifs协议
winbindd + ldap 应Windows AD活动目录

samba用户

帐号:都是系统用户/etc/passwd
密码:Samba服务自有密码文件通过smbpasswd -a USERNAME命令设置

//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配置文件

/etc/samba/smb.conf(主配置文件)

samba三大组成 作用
[global] 全局配置,此处的设置项对整个samba服务器都有效
[homes] 宿主目录共享设置,此处用来设置Linux用户的默认共享,对应用户的宿主目录。当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录中
[printers] 打印机共享设置

samba配置

开启一台centos7.6,,一台win10,均设置DHCP自动获取ip地址,centos作为服务器,共享文件或目录,IP地址为192.168.179.131
[root@localhost opt]# setenforce 0	
[root@localhost opt]# systemctl stop firewalld	
[root@localhost opt]# yum -y install samba*	        #安装所有的包
[root@localhost opt]# yum -y install samba-client   #安装客户端包
[root@localhost opt]# useradd -M zhang
New SMB password:
Retype new SMB password:
Added user zhang.
[root@localhost opt]# echo 'zhang = share' > /etc/samba/smbusers
[root@localhost samba]# ls
lmhosts  smb.conf  smb.conf.example  smbusers
[root@localhost samba]# mv smbusers .smbusers  	#隐藏映射映射文件
[root@localhost samba]# ls
lmhosts  smb.conf  smb.conf.example
[root@localhost samba]# vim smb.conf
[global]
        workgroup = SAMBA
        security = user
        username map = /etc/samba/.smbusers 	#添加此行内容

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[runtime]
        comment = runtime
        browseable = yes
        writable = no
        valid users = jerry,zhangshan
        write list = zhangshan
        path = /opt
[root@localhost samba]# mkdir /opt/runtime
[root@localhost samba]# chown -R zhang.zhang /opt/runtime/
[root@localhost samba]# vim smb.conf
[global]
        workgroup = SAMBA
        security = user
        username map = /etc/samba/.smbusers

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[runtime]
        comment = runtime
        browseable = yes
        writable = no
        valid users = zhang
        write list = zhang
        path = /opt/runtime             #将opt目录下的runtime设为共享目录
[root@localhost samba]# systemctl start smb nmb
[root@localhost samba]# systemctl enable smb
  • 打开win10,在快速访问例输入服务器网址,输入用户名和密码
    在这里插入图片描述
    在共享目录下新建文件
    在这里插入图片描述
    打开centos服务器,可以看到runtime目录下存在文件,实验成功
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/CN_PanHao/article/details/107594347