◆案例1◆ Samba-配置文件解析
[global] #定义全局策略 workgroup=MYGROUP #定义工作组 netbios name=MYSERVER #指定NetBios名称 interfaces=lo 192.168.1.1 #指定samb侦听那个网络接口 hosts allow=127.0.0.1 #指定哪些主机能访问samba服务器 log file=/var/log/samba/log.%m #定义日志文件 max log size=50 #日志大小 security=user/share #用户名密码认证/匿名用户认证 map to guest = Bad User #7系列匿名访问应加入此选项 passdb backend=tdbsam/ldapsam #加密方式 deadtime=10 #十分钟内不访问自动断开连接 display charset=UTF8 #使用UTF8字符集 max connections=0 #指定链接限制 guest account=nobody #匿名用户账号为nobody load printers=no #是否共享打印机 cups options=raw #打印属性 [homes] #共享家目录 comment = Home Directories #共享名称 browseable = no #目录是否可被浏览 writable = no #目录是否可写 valid users = %S valid users = MYDOMAIN\%S [printers] #打印机共享 comment = All Printers path = /var/spool/samba #打印机共享池 browseable = no guest ok = no writable = no printable = yes [common] #自定义共享资源名称 comment=LyShark #共享资源描述 path=/home/samba #共享目录 valid users=tom lyshark #有效账户列表 create mask=0750 #上传文件默认权限,默认(0750) directory mask=0775 #创建目录默认权限,默认(0755) browseable=yes #共享目录是否对所有人可见 writable=yes read only=yes #赋予文件只读权限 write list=admin #写权限账户列表,这里控制admin有写权限 write list=@admin #设置一个组有写权限 admin users=lyshark #管理员账号,这里设置lyshark为管理员 invalid users=root bin #禁止root bin 访问common共享目录 guest ok=yes #是否启用匿名访问
◆案例2◆ 配置匿名Samba服务器
1.安装Samba
yum install -y samba samba-client
2.创建共享目录
mkdir /ghost chmod 777 -R /ghost
3.编辑Samba主配置文件
编辑配置文件,在相应的区域中加入以下标★语句
vim /etc/samba/smb.conf ★ [ghost] #共享目录显示的名称 ★ comment=Common Share #描述信息(可以自定义) ★ path=/ghost #共享的目录 ★ browseable=yes #共享目录是否对所有人可见 ★ guest ok=yes #允许匿名用户访问 ★ writable=yes #可写
4.重启SMB服务
systemctl restart smb
◆案例3◆ 配置基于用户名密码认证的Samba服务器
1.安装Samba
yum install -y samba samba-client
2.创建共享目录
mkdir /ghost chmod 777 -R /ghost
3.编辑Samba主配置文件
编辑配置文件,在相应的区域中加入以下标★语句
vim /etc/samba/smb.conf ★ [ghost] #共享目录显示的名称 ★ comment=Common Share #描述信息(可以自定义) ★ path=/ghost #共享的目录 ★ browseable=yes #共享目录是否对所有人可见 ★ guest ok=no #允许匿名用户访问 ★ writable=yes #可写
4.创建一个系统用户并转换为Samba用户
useradd -M -s /sbin/nologin lyshark #创建一个系统用户 smbpasswd -a lyshark #将系统用户转化成Samba用户 pdbedit -a lyshark #将系统用户转化成Samba用户 pdbedit -L #列出所有Samba用户 smbpasswd [选项] 账户名称 -a #添加账户并设置密码 -x #删除SMB账户 -d #禁用SMB账户 -e #启用SMB账户
5.重启服务
systemctl restart smb
◆案例4◆ Samba服务器的访问ACL与挂载
◆Linux客户端访问Samba◆
匿名用户访问 smbclient -L //服务器IP #查看smaba共享目录 smbclient //服务器IP/共享名 #查看共享文件 用户验证访问 smbclient -U 用户名 -L //IP #查看共享目录 smbclient -U 用户名 //IP/共享名 #查看共享文件
◆Linux客户端挂载Samba◆
[文件格式] [共享目录][挂载到] [smb用户名][smb密码] mount -t cifs //IP/ghost /mnt -o username=lyshark,password=123123 #将远程/ghost挂载到本地/mnt
◆Windows客户端访问Samba◆
运行CMD(Win+R) > 输入:\\192.168.1.1\ghost #访问目录 net use * /del #清理windows目录缓存
◆Windows客户端挂载Samba◆
此电脑 > 计算机 > 映射网络驱动器 文件夹: \\192.168.1.1\ghost >确定
◆Samba ACL权限控制◆
允许单个IP拒绝所有 [common] comment=Common Share hosts allow = IP地址 hosts deny = IP地址 允许单个网段,拒绝所有 [common] path =/common hosts allow =127.0.0.0/24 example hosts deny =127.0.0.0/24 example
◆Samba 给用户取多个别名◆
vim /etc/samba/smbusers 用户名=别名1 别名2 lyshark= wang rui 主配置文件加入以下内容 vim /etc/samba/smb.conf username map = /etc/samba/smbusers