SAMBA服务实例

发布于 2022-03-24  384 次阅读


实验案例
Linux为SAMBA服务端(Centos 7)
windows为访问客户端(Windows 7)
确定两台机器网络互通(可以ping通)

配置服务端

1.yum -y install samba

安装samba服务

启动服务 systemctl start smb

关闭服务 systemctl stop smb

重启服务 systemctl restart smb

查看服务状态 systemctl status smb

2.创建共享目录(注意文件权限冲突)

实验环境下可设置共享目录权限为777

chmod -R 777

后面可单独设置文件夹权限和samba配合使用

3.确定用户和组及权限

市场部

groupadd market

useradd liming

useradd zhanghua

useradd xiaoli

工厂部

groupadd factory

useradd wangming

useradd lisi

useradd wangwu

经理部

groupadd manager

useradd lihua

管理员

useradd administrator

把用户加入到组中

gpasswd -a liming market

gpasswd -a zhanghua market

gpasswd -a xiaoli market

gpasswd -a wangming factory

gpasswd -a lisi factory

gpasswd -a wangwu factory

gpasswd -a lihua manager

将本地用户转化为samba用户并设置密码

smbpasswd -a liming

smbpasswd -a zhanghua

smbpasswd -a xiaoli

smbpasswd -a wangming

smbpasswd -a lisi

smbpasswd -a wangwu

smbpasswd -a lihua

samba主配置编辑

编辑samba主配置文件实现目录共享

配置文件目录为/etc/samba下的smb.conf

编辑格式为

[manager]

    ​commnent = xxxx   描述
   ​path = xxxx   共享目录
   ​valid users = xxx  可访问用户
   ​writable = yes/no  是否可以写入
   ​write list = xxxx 可写入白名单

其他参数

1.hosts allow = xxxxxx 限制ip地址访问

例如

hosts allow = 192.168.80. except 192.168.80.140

意思是允许192.168.80网段的人访问 除了192.168.80.140

2.browseable = yes/no 是否可以浏览

如果browseable为no 设置了不可浏览 在windows访问后,在地址栏的ip后面填入unc路径可以访问隐藏的文件夹

3.别名功能(注意 此选项是写在global全局配置中)

username map = 路径

例如

username map = /etc/samba/smbusers

文件名和位置可以随意

多个用户名逗号隔开

这样可以使用creek或者admin来代替administrator登录

4.启用share级别(安全性最低,不需要通过用户名认证!!)

在global中写入 map to guest = bad user

只写这一个选项的话 可以不用登录即可访问 但是不能进入具体的文件夹(和共享权限冲突)

注销共享目录文件配置中的valid users ,browseable , hosts allow等权限

添加 guest ok = yes (意思是开启匿名账号访问,public = yes也可以)

这样即可设置最低安全级别 可以不需要用户名和密码访问共享文件

!!!注意,共享配置中的writable为yes,匿名访问拥有读写权限,但是writable为no,匿名用户拥有只读权限

5.Linux访问windows共享目录

在win7下创建新用户并设置密码

设置共享文件,在属性共享中打开共享并设置用户和权限

挂载

在Linux系统的/mnt下创建挂载文件夹

输入指令mount -t cifs -o username=Administrator,password=123456 //192.168.80.155/share /mnt/win7/ 进行挂载后访问即可

-t 指定档案系统的型态

cifs是Common Internet File System,是微软公司的通用网络文件系统,用于网络设备间文件共享

share为win7下创建的共享目录,输入指令后将指定主机的UNC路径下的共享文件挂载到Linux下的/mnt/win7下