Samba 服务器配置练习
匿名 Samba 服务器
目标:配置 Samba 服务器中的文件不需要用户登录就能访问
背景:企业计划假设一台 Samba 服务器,用来向局域网内各客户机提供软件共享服务,常用的软件安装包都存放在服务器的 /usr/soft/ 目录中,要求用户只能从该目录中读取文件,而不能修改目录中的文件。另外,各客户端还可以利用 Samba 服务器进行临时文件交换,即任何用户有权限将文件写到服务器的某一个目录(假设为 tmpdoc)
环境:linux虚拟机 Samba 服务器 IP: 192.168.1.152; 测试机:Win10 真机
注意:
# 新版本将
# security = share 改为:
security = user
map to guest = bad user
-Linux服务端配置
[[email protected] ~] # mkdir /usr/soft
[[email protected] ~] # chmod 555 /usr/soft # 所有人都有读权限
[[email protected] ~] # mkdir /home/tmpdoc/
[[email protected] ~] # chown nobody:nobody /home/tmpdoc # 匿名用户也有权读写
[[email protected] ~] # vim /etc/samba/smb.conf
[global] # 定义全局变量
workgroup = WORKGROUP # 定义工作组名称
security = user # 新版本匿名共享模式
map to guest = bad user # 允许匿名登陆
[soft] # 设置共享目录soft,节名称soft
comment = soft
path = /usr/soft # 共享目录位置
browseable = yes # 设置用户可浏览到该共享目录,也可省略该参数
public = yes # 允许匿名访问该目录
writable = no # 不允许写(只读)
[tmpdoc] # 设置共享目录tmpdoc
comment = tmpdoc
path = /home/tmpdoc # 共享目录位置
public = yes # 允许匿名用户访问
writable = yes # 允许写
[[email protected] ~] # testparm # 检查配置文件
[[email protected] ~] # systemctl restart smb # 重启服务
真机测试
需登录的 Samba 服务器
背景:根据前文匿名服务器修改,要求达到以下功能:
soft 目录:保存常用软件,所有用户只读权限,管理员admin除外,admin可写入文件,更新安装软件包
tmpdoc 目录:仍作为临时文件交换目录,所有用户都可读写
tech 目录:保存技术部资料,该目录只有技术部员工可进行读写操作,其他人员不能访问(经理 manager 仅可访问)
market 目录:保存市场部资料,该目录只有市场部员工可进行读写操作,其他人员不能访问(经理 manager 仅可访问)
操作步骤
[[email protected] ~] # groupadd tech # 添加组tech
[[email protected] ~] # groupadd market # 添加组market
[[email protected] ~] # useradd -s /sbin/nologin admin # 添加管理员,不能登陆shell
[[email protected] ~] # useradd -s /sbin/nologin manager # 添加经理
[[email protected] ~] # useradd -g tech -s /sbin/nologin wang # 添加wang,属于tech组
[[email protected] ~] # useradd -g market -s /sbin/nologin li # 添加li,属于market组
[[email protected] ~] # smbpasswd -a admin # 这几个用户可登录samba
[[email protected] ~] # smbpasswd -a manager
[[email protected] ~] # smbpasswd -a wang
[[email protected] ~] # smbpasswd -a li
[[email protected] ~] # mkdir /home/tech
[[email protected] ~] # mkdir /home/market
[[email protected] ~] # chgrp tech /home/tech # 修改目录所属组
[[email protected] ~] # chgrp market /home/market
[[email protected] ~] # chown manager /home/market # 所有者改为manager
[[email protected] ~] # chown manager /home/tech
[[email protected] ~] # chmod 570 /home/tech # 所有者可读,组内用户读写,其他人不能访问
[[email protected] ~] # chmod 570 /home/market
[[email protected] ~] # chown admin /usr/soft # 更改所有者为admin
[[email protected] ~] # chmod u+w /usr/soft
[[email protected] ~] # chmod 777 /home/tmpedoc # 所有人可读写
[[email protected] ~] # vim /etc/samba/smb.conf
security = user