一、Samba服务部署的需求分析。
ABC是一家网站设计公司,公司下有商务部、设计部、开发部、运维部四个部门,商务部门负责与客户共同并调研客户需求,为客户制定网站建设方案。设计部门根据商务部与客户的沟通记录与调研报告,确定设计风格与方案。网站设计具体方案经客户 审核确认后提交开发部完成网站代码的编写,向客户提交完成后的网站,经客户确认后上传到公司服务器由运维部门负责网站的运行维护工作。
根据这些信息可以看出该公司部门之间的衔接是非常密切的,部门之间有大量的数据需要共享,为加强部门之间互联互通,优化工作流程与效率,ABC公司决定部署一台Samba服务器,满足部门间可快速共享数据的需求,从而实现流水线办公流程。
二、设计报告。
共享数据首先需要我们创建用于共享的目录。根据ABC公司的情况,可以为公司创建五个一级目录和四个部门的共享目录,共享目录只对部门内部员工共享数据,每个部门员工可以在相应的部门共享目录下创建自己的个人工作目录与文件;另一个公共共享目录,用于所有的部门之间相互访问彼此的数据使用,在公共共享目录下为每个部门创建每个部门的共享子目录。
目录的结果如下:
/ABC/
├── design
├── develop
├── ops
├── sales
└── share
├── design
├── develop
├── ops
└── sales
/ABC/SALES 目录为商务部共享目录,/ABC/design目录为设计部共享目录。/ABC/develop 目录为开发部共享目录,/ABC/ops目录为运维部共享目录。另外,/ABC/share目录为整个公司的公共共享目录,用于部门间的数据共享,我们会在该目录下为每个部门创建对应的子目录。
三、搭建步骤
1.创建目录结构。
[root@localhost ~]# mkdir -p /ABC/{sales,design,develop,ops,share}
[root@localhost ABC]# tree
.
├── design
├── develop
├── ops
├── sales
└── share
[root@localhost ABC]# cd share/
[root@localhost share]# mkdir -p {sales,design,develop,ops}
[root@localhost share]# tree
.
├── design
├── develop
├── ops
└── sales
2.查看目录结构
[root@localhost ~]# tree /ABC/
/ABC/
├── design
├── develop
├── ops
├── sales
└── share
├── design
├── develop
├── ops
└── sales
3.添加账户
为了提升安全性,公司要求所有的员工访问共享都必须使用账户名和密码。初始状态下,我们为每个部门创建两个账户,并创建所有共享目录的管理员,后期管理员可以根据公司发展情况添加或删除账户信息。
下面通过脚本常见部门初始账户。
[root@localhost ~]# vim user.sh
1 #! /bin/bash
2 #Add users for share
3 DEPART=(sales design develop ops)
4 for g in ${DEPART[@]}
5 do
6 groupadd $g
7 for u in $(seq 1 2)
8 do
9 useradd -M -s /sbin/nologin -g ${g} ${g}${u}
10 done
11 done
下面是创建所有共享目录share的管理员账户:
[root@localhost ~]# groupadd share
[root@localhost ~]# useradd -s /sbin/nologin -M -g share share1
4.运行脚本
方法1,[root@localhost ~]# sh user1.sh
方法2, 给脚本 user.sh添加可执行权限
[root@localhost ~]# chmod a+x user.sh
[root@localhost ~]# ./user.sh
验证一下
[root@localhost ~]# cat /etc/passwd
sales1:x:500:500::/home/sales1:/sbin/nologin
sales2:x:501:500::/home/sales2:/sbin/nologin
design1:x:502:501::/home/design1:/sbin/nologin
design2:x:503:501::/home/design2:/sbin/nologin
develop1:x:504:502::/home/develop1:/sbin/nologin
develop2:x:505:502::/home/develop2:/sbin/nologin
ops1:x:506:503::/home/ops1:/sbin/nologin
ops2:x:507:503::/home/ops2:/sbin/nologin
share1:x:508:504::/home/share1:/sbin/nologin
[root@localhost ~]# cat /etc/group
sales:x:500:
design:x:501:
develop:x:502:
ops:x:503:
share:x:504:
添加samba用户
方法1, [root@localhost ~]# pdbedit -a sales1
方法2, [root@localhost ~]# smbpasswd -a sales2
其他账户按照此模板逐个添加即可。
四、修改配置文件
创建完共享目录及系统账户后,我们还需要修改Samba主配置文件,在配置文件中添加我们需要共享的目录信息以及相应权限的设置。
1,安装samba服务
[root@localhost ~]# yum install -y samba samba-common samba4-libs samba-winbind samba-winbind-clients samba-client
2,下面是/etc/samba/smb.conf文件修改后的局提配置清单。
#========================================Global Settings ===============================================
[global]
74 workgroup = WORKGROUP
75 server string = Samba Server ABC
log file = /var/log/samba/log.%m
max log siz = 50
#这里的50的单位是KB
security = user
passdb backend = tdbsam
load printers = yes
cpus options = raw
备注:只需要修改2项 其他默认workgroup,server string可以自定义,
#========================================Share Definitions =============================================
[sales]
commet = sales share
path = /ABC/sales
browseable = yes
guest ok = no
writable =no
write list = @sales
[design]
commet = design share
path = /ABC/design
browseable = yes
guest ok = no
writable =no
write list = @design
[develop]
commet = develop share
path = /ABC/develop
browseable = yes
guest ok = no
writable =no
write list = @develop
[ops]
commet = ops share
path = /ABC/ops
browseable = yes
guest ok = no
writable =no
write list = @ops
[share]
commet = comment share
path = /ABC/share
browseable = yes
guest ok = no
writable =yes
把#[homes]和[printers]注释掉,重新自定义。
五 修改权限
为了使员工访问服务器共享资料后,可以在属于自己的对应目录下创建文件与目录,除了要在Samba主配置文件中定义权限设置外,还需要为系统目录修改正确的短线。
[root@localhost ABC]# chmod 1770 design/ develop/ ops/ sales/
[root@localhost ABC]# ll
drwxrwx--T 2 root root 4096 5月 14 10:47 design
drwxrwx--T 2 root root 4096 5月 14 10:47 develop
drwxrwx--T 2 root root 4096 5月 14 10:47 ops
drwxrwx--T 2 root root 4096 5月 14 10:47 sales
drwxr-xr-x 6 root root 4096 5月 14 10:50 share
# 添加了sticky权限
[root@localhost ABC]# chmod 1777 share/
You have new mail in /var/spool/mail/root
[root@localhost ABC]# ll
drwxrwxrwt 6 root root 4096 5月 14 10:50 share
[root@localhost ABC]# chown root:design design/
[root@localhost ABC]# chown root:develop develop/
[root@localhost ABC]# chown root:sales sales/
[root@localhost ABC]# chown root:ops ops/
[root@localhost ABC]# ll
总用量 20
drwxrwx--T 2 root design 4096 5月 14 10:47 design
drwxrwx--T 2 root develop 4096 5月 14 10:47 develop
drwxrwx--T 2 root ops 4096 5月 14 10:47 ops
drwxrwx--T 2 root sales 4096 5月 14 10:47 sales
drwxrwxrwt 6 root root 4096 5月 14 10:50 share
六 重启Samba服务
[root@localhost ABC]# /etc/init.d/smb restart
[root@localhost ABC]# /etc/init.d/nmb restart
七 登陆验证
在window系统里面
要求你输入用户名和密码,把刚才我们设置的用户名和密码输入就可以了