Linux - samba 目录共享 从无到有 简装版

环境

两台 centos7 虚拟机
服务端 ip11 - 192.168.1.11
客户端 ip12 - 192.168.1.12

目标

服务端创建目录/samba_share
挂载到客户端/mnt/samba_share
创建两个用户 Stark,Thor
stark 有读写权限
thor 仅读权限

部署步骤

服务端

安装相关软件

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

创建用户及共享目录

[root@ip11 ~]# mkdir /samba_share	#创建目录
[root@ip11 ~]# useradd stark;useradd thor	#添加用户加分号可执行多条命令
[root@ip11 ~]# chcon -R -t samba_share_t /samba_share/	#设置selinux上下文权限
[root@ip11 ~]# setfacl -m u:stark:rwx /samba_share/	#设置文件夹的acl权限,rwx给stark

创建samba用户

#我这里设置的用户名密码一致
[root@ip11 ~]# smbpasswd -a stark 
New SMB password:	
Retype new SMB password:
[root@ip11 ~]# smbpasswd -a thor
New SMB password:
Retype new SMB password:

修改配置文件

[root@ip11 ~]# vim /etc/samba/smb.conf
  • 在文件最后添加samba的相关配置
[sambashare]	#在网络上要展示的共享目录名称
        comment = Test samba	#注释
        path = /samba_share		#要共享的文件目录
        valid users = stark,thor	#有效的用户
        write list = stark	#写权限的用户
        browseable = yes	#目录可被浏览

在这里插入图片描述

重启服务,设置开机自启动,设置防火墙

#samba需要配置smb,nmb两个服务
[root@ip11 ~]# systemctl restart smb nmb 
#设置开机自启动
[root@ip11 ~]# systemctl enable smb nmb
#查看防火墙启没启动
[root@ip11 ~]# systemctl status firewalld.service
#如果是active,则需要放开samba端口,才能在其他电脑访问samba
[root@ip11 ~]# firewall-cmd --permanent --add-service=samba
#重新加载防火墙配置,使配置生效
[root@ip11 ~]# firewall-cmd --reload 
#查看所有防火墙配置,存在samba即成功
[root@ip11 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: ssh dhcpv6-client samba
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
  • 至此,服务端就配置完成了,可以使用如下脚本查看samba状态
[root@ip11 ~]# smbclient -L localhost  #查看本机samba共享情况
Enter SAMBA\root's password: 	#此处直接回车,没有密码
Anonymous login successful

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	sambashare      Disk      Test samba	`看到熟悉的名字,就说明成功了`
	IPC$            IPC       IPC Service (Samba 4.10.4)
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

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

	Workgroup            Master
	---------            -------
	SAMBA                IP11
	WORKGROUP            FQ-201801270535

客户端

安装客户端需要的软件

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

建用户,建文件夹

[root@ip12 ~]# useradd stark
[root@ip12 ~]# useradd thor
[root@ip12 ~]# mkdir /mnt/samba_share

查看对应的服务

#可以查看,说明理论上应该可以挂载
[root@ip12 ~]# smbclient -L 192.168.1.11
Enter SAMBA\root's password: 	#没密码,直接回车
Anonymous login successful

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	sambashare      Disk      Test samba	`还好熟悉`
	IPC$            IPC       IPC Service (Samba 4.10.4)
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

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

	Workgroup            Master
	---------            -------
	SAMBA                IP11
	WORKGROUP            FQ-201801270535

配置挂载,修改/etc/fstab

[root@ip12 ~]# vim /etc/fstab 
`在文件最后添加`
#//192.168.1.11/sambashare 对应的ip11的共享目录,这里的sambashare对应的配置文件里的[sambashare]
#/mnt/samba_share 对应的ip12客户端要挂载的位置
#cifs	要挂载的磁盘类型,这里是cifs
#user=stark,pass=stark 使用stark验证
#_netdev 指明通过网络传输
# 0 0 表示开机不检测
//192.168.1.11/sambashare       /mnt/samba_share        cifs    defaults,user=stark,pass=stark,multiuser,_netdev        0 0
  • 执行挂载命令
[root@ip12 ~]# mount -a 	#挂载fstab中的所有文件系统
[root@ip12 ~]# df -h	#查看已挂载的磁盘
#如果可以看到熟悉的名字,说明挂载成功
文件系统                   容量  已用  可用 已用% 挂载点
...
//192.168.1.11/sambashare   17G  4.9G   13G   29% /mnt/samba_share
...

测试用户权限

`thor 用户`
[root@ip12 ~]# su - thor
[thor@ip12 ~]$ cd /mnt/samba_share
[thor@ip12 samba_share]$ ls #所有用户首次访问共享目录,均需要获取认证
ls: 正在读取目录.: 权限不够
[thor@ip12 samba_share]$ cifscreds add 192.168.1.11	#该命令从服务端获取认证权限
Password: 	#服务端创建samba用户的时候对应的密码	我这里用户名密码一致
[thor@ip12 samba_share]$ ls
[thor@ip12 samba_share]$ touch test.txt 	#只读权限,不能创建文件
touch: 无法创建"test.txt": 权限不够
[thor@ip12 samba_share]$ mkdir test		#只读权限,不能创建文件夹
mkdir: 无法创建目录"test": 权限不够
[thor@ip12 samba_share]$ exit
登出
`stark 用户`
[root@ip12 ~]# su - stark
[stark@ip12 ~]$ cd /mnt/samba_share
[stark@ip12 samba_share]$ ls
ls: 正在读取目录.: 权限不够
[stark@ip12 samba_share]$ cifscreds add 192.168.1.11 #该命令从服务端获取认证权限
Password: 		#用户名密码一致,对应服务端smbpasswd命令对应的密码
[stark@ip12 samba_share]$ ls
[stark@ip12 samba_share]$ mkdir test	#stark用户拥有读写的权限
[stark@ip12 samba_share]$ touch test1.txt	#stark用户拥有读写的权限
[stark@ip12 samba_share]$ ll	#对应目录下存在创建的文件
总用量 0
drwxr-xr-x 2 stark stark 0 5月  19 14:16 test
-rwxr-xr-x 1 stark stark 0 5月  19 14:17 test1.txt
[stark@ip12 samba_share]$ exit
登出

查看服务端对应的目录,文件存在

[root@ip11 ~]# cd /samba_share/
[root@ip11 samba_share]# ll
总用量 0
drwxr-xr-x. 2 stark stark 6 5月  19 14:16 test
-rwxr--r--. 1 stark stark 0 5月  19 14:17 test1.txt
  • 至此,所有配置结束。

问题汇总

bug.1. 拼写错误,服务端配置文件[sambashare]写成了[smabashare],导致挂载失败
bug.2. 服务端acl权限,未配置,导致stark虽然拥有读写权限,但是无法创建文件

至此.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值