Samba安装及配置

samba 可以实现Windows对Windows 、 Windows对Linux、Linux对Linux的文件传输

在centos7安装samba

yum install samba

 启动samba

systemctl start smb
systemctl start nmb

samba守护进程

smbd  提供服务器中的文件和打印机共享 端口139 445

nmbd 提供基于NetBIOS主机名称的解析  端口 137 138

samba主要文件

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

 /etc/samba/smb.conf.example  配置案例

/etc/samba/lmhosts  对应NetBIOS名与主机名IP的文件

smb.conf配置文件分两个部分 一部分是全局设置 (Global Settings),还有一部分是共享设置( Share Definitions)

Global Settings
  [global] 全局设置

Share Definitions

  [homes] 用户目录共享设置

  [printers] 打印机共享设置

   [myshare]自定义共享设置

Global Settings参数

workgroup = MYGROUP  #工作组名称
server string = Samba Server Version %v   #服务器描述信息,%v是samba版本号
log file = /var/log/samba/log.%m  #日志文件,%m代表的是客户端的NetBIOS名
max log size = 50  #日志文件大小,单位KB,0表示不限制
security = user
  user #使用系统用户,samba密码登入
  share #不需要密码就可以登入【新版已废弃】
  server #由其他服务器提供认证【新版已废弃】

Share Definitions参数

comment   #描述信息
path      #共享路径
guest ok #允许所有人访问,等同于public
read only #所有人只读
writable #所有人可写
write list # 拥有写权限的用户
browseable #是否浏览可见
valid users#指定可以访问的用户

 一些变量

%v   #samba版本号
%S  #任意用户可以登入
%m  #客户端的NetBIOS主机名
%L  #服务器端的NetBIOS主机名
%u  #当前登入的用户名
%g  #当前登入的用户组

访问samba服务器(注意防火墙和SELinux)

创建一个samba用户,其用户名是系统用户,但是可以设置新的密码只用于登入samba服务器

 smbpasswd -a 系统用户名

在smb.conf建立新的访问目录

[myshare] #显示的文件名
        comment=test file  #信息描述
        path=/samba        #访问目录
        browseable=YES   #用户浏览可见
        writable=YES       #写权限

在Linux系统创建目录和赋予用户权限

mkdir /samba #在系统创建对应目录
setfacl -R -m u:test1:rwx /samba/ #给用户test1赋予rwx权限

重启服务

systemctl restart smb
systemctl restart nmb

用Windows访问samba服务

打开文件资源管理器或按windows键, 输入\ip,回车即可

 输入账号和设置的samba密码

 

  可以看到之前设置的共享目录,这样就可以访问/samba下面的文件了,同时也可以建立新的文件,因为该用户拥有读写执行的权限

注意权限设置,Linux是否能够真正操作(读写执行)文件,需要该服务对用户赋予操作文件的权限,同时也需要系统赋予用户对文件的操作权限

原文地址:https://www.cnblogs.com/gaonuoqi/p/12005022.html