• 欢迎访问本站网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Linux centos 7配置samba服务文件共享

Linux admin 9个月前 (10-18) 255次浏览 已收录 0个评论 扫描二维码

1.Samba 软件项目

  • 用途:为客户机提供共享使用的文件夹
  • 协议:SMB(TCP 139),CIFS(TCP 445)
      Samba服务相关的软件包有3个
  •        samba:Samba服务端软件;
  •        samba-client:Samba客户端软件;
  •       samba-common:包括Samba服务器和客户端均需要的文件。

系统服务:smb

管理共享账号
Samba用户-专用来访问共享文件夹的用户
  • 采用独立设置的密码
  • 但需要提前建立同名的系统用户(可不设置密码)

使用pdbedit管理工具

  • 添加用户:pdbedit -a 用户名
  • 查询用户:pdbedit -L [用户名]
  • 删除用户:pdbedit -x 用户名

2.安装软件包

  1. yum install samba* -y
3.开启SMB服务
安装完成软件包后,开启SMB服务,例如:
  1. systemctl start smb.service
4.创建Samba用户
在Linux服务器上新建一个共享目录/dir1,使得用户user1和user2用户能够共享访问。
1)新建共享目录/dir1,并在该目录下添加一些文件和目录,例如:
  1. mkdir /dir1
2)添加一个组群sales,并将用户user1和user2加入到该组群中,例如:
  1. groupadd sales
  1. usermod -G sales user1
  1. usermod -G sales user2
3)将user1和user2添加为Samba账号,并设置访问Samba服务器的密码,例如:
  1. smbpasswd -a user1
New SMB password:输入密码
Retype new SMB password:输入密码
Added user user1.
  1. smbpasswd -a user2
New SMB password:输入密码
Retype new SMB password:输入密码
Added user user2.
5.编辑Samba服务器主配置文件  
[global]   //全局设置
      workgroup = WORKGROUP  //工作组名
       .. ..
[homes]   //家目录共享
.. ..
[printers]  //打印机共享
.. ..
  1. vi   /etc/samba/smb.conf
使用VI编辑器打开smb.conf文件,修改如下:
workgroup = WORKGROUP
security = user
[glad]
      comment = All Printers
      path = /dir1
      browseable = yes
      writable = yes
      valid users=@sales
配置文件参数
[自定义共享名]
    path = 文件夹绝对路径
    public = no|yes             //默认no  NO表示需要输入用户名密码才能访问,yes代表都可以访问
   browseable = yes|no    //默认yes  可浏览共享,no表示隐藏共享
    read only = yes|no        //默认yes  只读
    write list = 用户1 用户2 …  //默认无  允许上传的用户
    valid users = 用户1 …..      //默认任何用户  
    hosts allow = 允许访问客户端ip地址  这里注意:需要设置防火墙,selinux,smb服务配置全部允许才可以访问
    hosts deny = 不允许访问客户端ip地址
 
6.设置共享目录/dir1权限及所属用户
设置目录/dir1的权限为770,所属用户为user1和user2,例如:

chmod 770 /dir1

chown user1:sales /dir1

chown user2:sales /dir1

7.重启SMB服务
  1. systemctl restart smb.service
8. 测试
在Windows客户端主机工作组中打开共享资源,
win键+R   #打开运行具体格式如下:
\\ip地址   输入用户名密码即可
在Linux操作系统客户端主机上利用smbclient命令访问
命令格式如下:
smbclient -L //ip   查询共享目录
smbclient  -U 用户名 //IP地址/共享目录  

客户端访问服务端资源

  • 1,防火墙是否限制
  • 2,SELinux 是否限制
  • 3,服务本身的访问控制
  • 4,目录本地权限

除chmod外其他赋予权限的专业命令:setfacl -m u:用户名:rwx /目录
实现读写Samba共享的其他操作
一,修改服务端SELinux布尔值需要加 -P 参数才能实现永久设置
查看布尔值:getsebool -a | grep samba
修改:getsebool  samba_export_all_ro=on
修改:getsebool  samba_export_all_rw=on
解决:
1,允许smb服务通过防火墙规则

  • firewall-cmd –permanent –add-service=samba
  • firewall-cmd –reload

2,临时关闭SELinux

  • setenforce 0

查看状态:getenforce
                    setenforce 0
                       状态:Permissive
                    setenforce 1
                       状态:Enforcing

客户端挂载服务端网络smb文件

1,客户端安装软件包:cifs-utils
手动挂载:mount -o username=smb用户名,password=密码 //服务端ip/共享目录名称 /挂载点
自动挂载:在/etc/fstab文件里面添加,如下内容
//服务端ip/共享目录名称 /挂载点 cifs user=smb用户名,pass=密码,_netdev 0 0
#_netdev:开启网络服务后在挂载该设备
挂载验证:monut -a 或 df -h


本站的文章和资源来自互联网或者站长的原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux centos 7配置samba服务文件共享
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址