Linux第十一章:Samba文件共享服务

实验案例:构建Samba文件共享服务器

1、实验环境

根据公司信息化建设要求,公司需要在局域网内部搭建一台文件服务器,便于对数据的集中管理和备份。考虑服务器的运行效率及稳定性、安全性问题,选择在Centos系统中构建Samba服务器以提供文件资源共享服务

2、需求描述

需求一:在/var/share目录中建立三个子目录public、training、devel,用途如下。

  • 1.1:public目录用于存放公共数据,如公司的规则制度、员工手册等。
  • 1.2:training目录用于存放公司的技术培训资料
  • 1.3:devel目录用于存放项目开发数据
  • 1.4:将/var/share/public/目录共享为public,所有员工都可以访问,但只有读取权限。
  • 1.5:将/var/share/training/目录共享为peixun,允许管理员admin和技术部的所有员工读取数据,但不能写入;禁止其他人访问
  • 1.6:将/var/share/devel目录共享为kaifa,技术部的所有员工都可以读取该目录中的文件,但是只有管理员及bdqn项目组的员工有写入权限

3、推荐步骤

1、创建用户和组

建立Benet项目组的组账户benet,技术部的组账户tech。将Benet项目组的所有员工账户(如ben01)都加入基本组benet、公共组(附加组)tech。将技术部的其他所有员工账户(如tec01)都加入基本组tech。在创建一个普通用户yua01

复制代码
[root@node1 ~]# groupadd tech
[root@node1 ~]# groupadd benet
[root@node1 ~]# useradd -g benet -G tech ben01
[root@node1 ~]# useradd -g tech tec01
[root@node1 ~]# useradd yua01

2、设置用户密码

复制代码
[root@node1 ~]# echo "123456" | passwd --stdin tec01
更改用户 tec01 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@node1 ~]# echo "123456" | passwd --stdin ben01
更改用户 ben01 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@node1 ~]# echo "123456" | passwd --stdin yua01 
更改用户 yua01 的密码 。
passwd:所有的身份验证令牌已经成功更新。

3、创建存放共享资源的文件夹/var/share,以及子目录public、training、devel。

复制代码
[root@node1 ~]# mkdir -p /var/share
[root@node1 ~]# mkdir -p /var/share/public
[root@node1 ~]# mkdir -p /var/share/training
[root@node1 ~]# mkdir -p /var/share/devel
[root@node1 ~]# 
[root@node1 ~]# cd /var/share/
[root@node1 share]# ll -h
总用量 0
drwxr-xr-x 2 root root 6 6月  18 14:13 devel
drwxr-xr-x 2 root root 6 6月  18 14:13 public
drwxr-xr-x 2 root root 6 6月  18 14:13 training

4、设置文件夹的权限

复制代码
[root@node1 share]# chown root:benet devel
[root@node1 share]# chmod 775 devel/

5、安装samba服务

复制代码
[root@node1 ~]# yum -y install samba

6、创建共享用户

复制代码
[root@node1 ~]# pdbedit -a -u tec01
new password:
retype new password:
##创建共享用户tec01

[root@node1 ~]# pdbedit -a -u ben01
new password:
retype new password:
##创建共享用户ben01

[root@node1 ~]# pdbedit -a -u yua01
new password:
retype new password:
##创建共享用户yua01

7、修改配置文件,为root设置别名

复制代码
[root@node1 ~]# vim /etc/samba/smbusers
root = administrator admin

8、修改smb.conf文件,添加共享设置,并启动smb服务。

复制代码
[root@node1 ~]# vim /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
	workgroup = SAMBA
	security = user

	passdb backend = tdbsam

	printing = cups
	printcap name = cups
	load printers = yes
	cups options = raw
        username map = /etc/samba/smbusers

[public]
	comment = public directory
	path = /var/share/public
	public = yes
	read only = yes

[peixun]
	comment = technical information
	path = /var/share/training
	public = no
	read only = yes
	valid users = root, @tech

[kaifa]
	comment = development date
	path = /var/share/devel
	public = no
	read only = no
	valid users = root, @benet, @tech
	write list = root, @benet
	directory mask = 0744
	create mask = 0660

[homes]
	comment = Home Directories
	valid users = %S, %D%w%S
	browseable = No
	read only = No
	inherit acls = Yes

[printers]
	comment = All Printers
	path = /var/tmp
	printable = Yes
	create mask = 0600
	browseable = No

[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	write list = @printadmin root
	force group = @printadmin
	create mask = 0664
	directory mask = 0775

9、重启服务

复制代码
[root@node1 ~]# systemctl start smb.service 
[root@node1 ~]# systemctl start nmb.service 
相关推荐
小白鸽i1 小时前
【LINUX】将源码驱动文件编译并生效
linux·运维·服务器
做萤石二次开发的哈哈2 小时前
萤石开放平台 音视频 | 产品概述
运维·服务器·萤石云·萤石·萤石开放平台
0思必得02 小时前
[Web自动化] 处理爬虫异常
运维·爬虫·python·selenium·自动化·web自动化
胡斌附体3 小时前
linux(ubuntu)拉取源码进行docker容器部署
linux·git·ubuntu·docker·node·nvm
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [drivers][base]platform
linux·笔记·学习
永不复还3 小时前
linux 使用X11监听键盘鼠标输入
linux·x11
China_Yanhy3 小时前
我的区块链运维日记 · 第 4 日:死掉的“活”节点 —— 攻克“同步滞后(Lag)”
运维·区块链
kida_yuan4 小时前
【Linux】说说我对 Wine 与 deepin-wine 的理解
linux·运维·wine
嵌入小生0074 小时前
基于Linux系统下的C语言程序错误及常见内存问题调试方法教程(嵌入式-Linux-C语言)
linux·c语言·开发语言·嵌入式·小白·内存管理调试·程序错误调试
松涛和鸣4 小时前
DAY63 IMX6ULL ADC Driver Development
linux·运维·arm开发·单片机·嵌入式硬件·ubuntu