实验环境
根据公司的信息化建设要求,需要在局域网内部搭建一台文件服务器,便于对数据的集中管理和备份。考虑到服务器的运行效率及稳定、安全性,选择在 RHEL5操作系统中构建Samba服务器以提供文件资源共享服务。
需求描述
创建3个文档目录:
/var/share/public,存放公共数据
/var/share/training,存放技术培训资料
/var/share/devel,存放项目开发资料
将/var/share/public目录共享为public
所有员工可匿名访问,但是只能读取文件,不能写入
将/var/share/training目录共享为peixun
只允许管理员admin及技术部的员工只读访问
将/var/share/devel/目录共享为kaifa
技术部的员工都可以读取该目录中的文件
但是只有管理员admin及benet项目组的员工有写入权限
具体配置
[root@localhost ~]# mkdir -p /var/share/public 递归创建public目录
[root@localhost ~]# mkdir /var/share/training 创建training目录
[root@localhost ~]# mkdir /var/share/devel 创建devel目录
[root@localhost ~]# useradd yun01 添加系统用户yun01
[root@localhost ~]# useradd tec01 添加系统用户tec01
[root@localhost ~]# useradd ben01 添加系统用户ben01
[root@localhost Server]# groupadd tech 添加技术部的组tech
[root@localhost Server]# groupadd benet 添加项目组的组benet
[root@localhost Server]# usermod -g benet ben01 更改ben01用户的基本组
[root@localhost Server]# usermod -g tech tec01 更改tec01用户的基本组
[root@localhost Server]# chgrp benet /var/share/devel/ 更改devel文件夹的属组
[root@localhost Server]# chmod 775 /var/share/devel/ 更改devel文件夹的权限
[root@localhost ~]# mount /dev/cdrom /media/ 挂载光盘
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# cd /media/Server/ 进入光盘里的server目录
[root@localhost Server]# rpm -ivh samba-3.0.33-3.14.el5.i386.rpm perl-Convert-ASN1-0.20-1.1.noarch.rpm 安装samba服务端和依赖包
warning: samba-3.0.33-3.14.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:perl-Convert-ASN1 ########################################### [ 50%]
2:samba ########################################### [100%]
[root@localhost Server]# alias vi=vim 链接vi到vim
[root@localhost Server]# vi /etc/samba/smb.conf 编辑samba配置文件
[global] 全局配置
workgroup = MYGROUP 工作组
server string = Samba Server Version %v 服务器说明
security = user 验证方式
username map = /etc/samba/smbusers 指定名称映射文件
passdb backend = tdbsam
[homes] 宿主目录
comment = Home Directories 共享说明
browseable = no 不可见
writable = yes 允许写入
[printers] 打印机共享(因linux打印驱动较少,这里不做介绍)
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[public] 共享名称
comment = Public Stuff 共享说明
path = /var/share/public 物理路径
public = yes 允许公共访问
writable = on 不允许写入
read only = yes 只读
[peixun]
comment = peixun Stuff
path = /var/share/training
public = no
valid users = root @tech 允许访问的用户和组
read only = no
writable = no
[kaifa]
comment = kaifa Stuff
path = /var/share/devel
read only = no
writable = no
public = no
valid users = root @tech @benet
write list = root @benet 允许写入的用户和组列表
[root@localhost Server]# service smb start 开启samba服务
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]
[root@localhost Server]# smbpasswd -a yun01 添加samba用户yun01
New SMB password: 设置密码
Retype new SMB password: 重复密码
Added user yun01 .
[root@localhost Server]# smbpasswd -a ben01 添加samba用户ben01
New SMB password:
Retype new SMB password:
Added user ben01.
[root@localhost Server]# smbpasswd -a tec01 添加samba用户tec01
New SMB password:
Retype new SMB password:
Added user tec01.
[root@localhost Server]# smbpasswd -a root 添加samba用户root
New SMB password:
Retype new SMB password:
Added user root.
[root@localhost Server]# vi /etc/samba/smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = admin 定义别名root 为admin
nobody = guest pcguest smbguest
[root@localhost Server]# service smb restart 重启samba服务
关闭 SMB 服务: [确定]
关闭 NMB 服务: [确定]
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]
[root@localhost Server]#
实验说明:因为我是以WINDOWS客户端来访问的,所以按上面的配置来进行访问时,匿名用户是无法访问public共享的,因为全局配置了安全级别是用户。如果需要让WINDOWS用户可以匿名访问public,只需将全局配置里的安全级别改成share,但是这样更改好,WIDNOWS客户端要访问其它共享文件夹时,只能使用net use命令了。根据实际环境,自行取舍。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。