CentOS下Samba服务器的安装与配置(二)

上一篇写了Samba的安装配置,本篇主要分享几种常见的案例

案例一:

公司现有一个工作组workgroup,需要添加samba服务器作为文件服务器,并发布共享目录/share,共享名为share,此共享目录允许所有员工访问。

1、修改配置文件

#----------------------------- Global Settings--------------------------------

[global]     //该设置与Samba服务整体运行环境有关,它的设置项目针对所有共享资源

# ----------------------- Network Related Options -------------------------

workgroup = WORKGROUP //定义工作组,也就是windows中的工作组概念

server string = David Samba Server Version %v //定义Samba服务器的简要说明

# --------------------------- Logging Options -----------------------------

log file = /var/log/samba/log.%m //定义Samba用户的日志文件,%m代表客户端主机名

//Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件

# ----------------------- Standalone Server Options ------------------------

security = share //共享级别,用户不需要账号和密码即可访问

#----------------------------Share Definitions ----------------------------------

[share] //设置针对的是共享目录个别的设置,只对当前的共享资源起作用

comment = Public Stuff //对共享目录的说明文件,自己可以定义说明信息

path = /share //用来指定共享的目录,必选项

public = yes //所有人可查看,等效于guest ok = yes

2、建立共享目录

# mkdir share   //上面设置了共享目录为/share,于是需要建立这个目录

# chowm -R nobody:nobody  share   //由于要设置匿名用户可以下载或上传共享文件,所以要给/share目录授权为nobody权限

3、重启smb服务

# /etc/init.d/smb restart

案例二:

公司现有多个部门,因工作需要,将TS部门的资料存放在samba服务器的/ts 目录中集中管理,以便TS人员浏览,并且该目录只允许TS部员工访问。

1、添加TS部门组和用户

# groupadd ts

# useradd -g ts aaa

# useradd -g ts bbb

2、在根目录下建立ts文件夹

# mkdir ts

3、将用户添加到samba的账户中

# smbpasswd -a aaa

# smbpasswd -a bbb

添加账户时会要求输入密码,此密码就是登陆共享服务器密码

4、修改配置文件

#---------------------------- Global Settings --------------------------------

[global]

# ----------------------- Network Related Options -------------------------

workgroup = WORKGROUP

server string = David Samba Server Version %v

# --------------------------- Logging Options -----------------------------

log file = /var/log/samba/log.%m

# ----------------------- Standalone Server Options ------------------------

security = user //用户级别,由提供服务的Samba服务器负责检查账户和密码

#---------------------------- Share Definitions -------------------------------

[homes] //设置用户宿主目录

comment = Home Directories

browseable = no

writable = yes

[share]

comment = Public Stuff

path = /share

public = yes

[ts] //ts 组目录,只允许ts组成员访问

comment = TS

path = /ts

valid users = @ts

5、重启服务

# /etc/init.d/smb restart

案例三:

实现不同的用户访问同一个共享目录具有不同的权限,便于管理和维护。

a、需求

1、 某公司有5个大部门,分别为:人事行政部、财务部、技术支持部、项目部、客服部。

2、各部门的文件夹只允许本部门员工有权访问;各部门之间交流性质的文件放到公用文件夹中。

3、 每个部门都有一个管理本部门文件夹的管理员账号和一个只能新建和查看文件的普通用户权限的账号。

4、公用文件夹中分为存放工具的文件夹和存放各部门共享文件的文件夹。

5、 对于各部门自己的文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。不是本部门用户不能访问本部门文件夹。

6、对于公用文件夹中的各部门共享文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。本部门用户(包括管理员和普通用户)在访问其他部门共享文件夹时,只能查看不能修改删除新建。对于存放工具的文件夹,只有管理员有权限,其他用户只能访问。

b、规划

1、在系统分区时单独分一个Company的区,在该区下有以下几个文件夹:HR、 FM、TS、PRO、CS和Share。在Share下又有以下几个文件夹:HR、FM、TS、PRO、CS和Tools。

2、各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。

3、HR管理员账号:hradmin;普通用户账号:user1。

FM管理员账号:fmadmin;普通用户账号:user2。

TS管理员账号:tsadmin;普通用户账号:user3。

PRO管理员账号:proadmin;普通用户账号:user4。

CS管理员账号:csadmin;普通用户账号:user5。

Tools管理员账号:admin。

4、新建用户

# useradd -s /sbin/nologin hradmin

# useradd -g hradmin -s /sbin/nologin user1

#  smbpasswd -a hradmin

5、新建目录

# mkdir Company

# mkdir HR FM TS PRO CS Share

# cd Share

# mkdir HR FM TS PRO CS Tools

6、更改目录属性

# chown hradmin.hradmin HR

# chmod 777 Company

7、修改配置文件

#--------------------------- Global Settings ---------------------------------

[global]

# ----------------------- Network Related Options -------------------------

workgroup = WORKGROUP

server string = David Samba Server Version %v

# --------------------------- Logging Options -----------------------------

log file = /var/log/samba/log.%m

max log size = 50

# ----------------------- Standalone Server Options ------------------------

security = user

passdb backend = tdbsam

#--------------------------- Share Definitions --------------------------------

[HR] #其他几个部门参考HR修改即可

comment = This is a directory of HR.

path = /Company/HR/

public = no

admin users = hradmin

valid users = @hradmin

writable = yes

create mask = 0750

directory mask = 0750

[Share]

comment = This is a share directory.

path = /Company/Share/

public = no

valid users = admin,@hradmin,@fmadmin,@tsadmin,@proadmin,@csadmin

writable = yes

create mask = 0755

directory mask = 0755

8、重启服务

# /etc/init.d/smb restart

 

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: