samba搭建实现匿名和非匿名共用共享
实现功能:搭建公司活动照片共享,普通员工可以查看和上传但不能修改和删除。人事部需要有管理照片权限,上传、添加和删除
搭建环境:centos6.5镜像+samba-3.6.9
yum安装samba服务
--------------------------------------------------------------
[[email protected] ~]# mkdir /mnt/cdrom && mount /dev/cdrom /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
#新建名为cdrom的目录并且挂载centos6.5光盘镜像到该目录
[[email protected] ~]# ll /mnt/cdrom/
总用量 682
-r--r--r--. 2 root root 14 11月 29 2013 CentOS_BuildTag
dr-xr-xr-x. 3 root root 2048 11月 29 2013 EFI
-r--r--r--. 2 root root 212 11月 28 2013 EULA
-r--r--r--. 2 root root 18009 11月 28 2013 GPL
dr-xr-xr-x. 3 root root 2048 11月 29 2013 images
dr-xr-xr-x. 2 root root 2048 11月 29 2013 isolinux
dr-xr-xr-x. 2 root root 655360 11月 29 2013 Packages
-r--r--r--. 2 root root 1354 11月 28 2013 RELEASE-NOTES-en-US.html
dr-xr-xr-x. 2 root root 4096 11月 29 2013 repodata
-r--r--r--. 2 root root 1706 11月 28 2013 RPM-GPG-KEY-CentOS-6
-r--r--r--. 2 root root 1730 11月 28 2013 RPM-GPG-KEY-CentOS-Debug-6
-r--r--r--. 2 root root 1730 11月 28 2013 RPM-GPG-KEY-CentOS-Security-6
-r--r--r--. 2 root root 1734 11月 28 2013 RPM-GPG-KEY-CentOS-Testing-6
-r--r--r--. 1 root root 3380 11月 29 2013 TRANS.TBL
[[email protected] ~]#
查看该挂载目录确定显示光盘内容
-------------------------------------------------------------
[[email protected] ~]# mkdir /etc/yum.bak && mv /etc/yum.repos.d/* /etc/yum.bak
[[email protected] ~]#
#新建yum.bak目录用于备份默认yum配置文件,并且把原有yum.repos.d目录下所有系统默认配置文件移动到该备份目录
[[email protected] ~]# vim /etc/yum.repos.d/cdinstll.repo
#新建自定义名称为cdinstll.repo的yum配置文件
[cdinstall]
#自定义命名
name=cdinstall
#自定义命名
baseurl=file:///mnt/cdrom
#自定义路径,此路径为光盘挂载目录
enabled=1
#是否检查GPG-KEY,0为不检查,1为检查
gpgcheck=0
#是否启用yum源,0为不启用,1为启用
#配置完毕wq保存退出
yum clean all
#配置完成后要清除下yum缓存
[[email protected] yum.repos.d]# yum install samba
#yum安装samba服务
[[email protected] yum.repos.d]# rpm -qa | grep mba
samba-winbind-clients-3.6.9-164.el6.x86_64
samba-common-3.6.9-164.el6.x86_64
samba-3.6.9-164.el6.x86_64
samba-client-3.6.9-164.el6.x86_64
samba-winbind-3.6.9-164.el6.x86_64
samba4-libs-4.0.0-58.el6.rc4.x86_64
[[email protected] yum.repos.d]#
#查看已经安装的samba服务
[[email protected] yum.repos.d]# chkconfig iptables off
#关闭防火墙
[[email protected] yum.repos.d]# vim /etc/selinux/config
#关闭selinux(SELINUX=disabled)需要重启服务器
[[email protected] yum.repos.d]# reboot
#重启下服务器
-------------------------------------------------------------------------------------------------
[[email protected] ~]# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
#备份下samba的配置文件
[[email protected] ~]# cat /etc/samba/smb.conf.bak | grep -iv ^"#" | grep -iv ^"$" | grep -iv ";" > /etc/samba/smb.conf
#过滤下配置文件中的多余信息
[[email protected] ~]# cat /etc/samba/smb.conf
#查看配置文件过滤后的配置信息
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
# logs split per machine
log file = /var/log/samba/log.%m
# max 50KB per log file, then rotate
max log size = 50
security = user
passdb backend = tdbsam
# the login script name depends on the machine name
# the login script name depends on the unix user used
# disables profiles support by specifing an empty path
load printers = yes
cups options = raw
#obtain list of printers automatically on SystemV
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[[email protected] ~]#
#根据需求并没有要求打印 所以【printers】配置信息可以删除或注释掉
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
writable = yes
#整理完毕wq保存退出,以上就是删除后需求的剩余配置信息,看起来简洁明了多了
[[email protected] ~]# vim /etc/samba/smb.conf
workgroup = workgroup
#工作组修改为workgroup与公司Windows系统默认工作组保持一致
security = share
#修改默认访问安全模式为匿名访问
browseable = yes
#浏览改为YES
[[email protected] ~]#
#修改配置文件信息使Windows员工客户机可以访问
[[email protected] ~]# service smb restart
关闭 SMB 服务: [失败]
启动 SMB 服务: [确定]
[[email protected] ~]#
#修改完成后重启Samba服务,在确定服务器时间和客户机时间一致的情况下现在就可以匿名访问Samba服务器共享数据了,访问方式\\ip地址
会看到一个名称为homes的文件夹但不能打开,因为还没有权限
------------------------------------------------------------------------------------------------
[[email protected] ~]# mkdir /smb-photo
[[email protected] ~]# mkdir /smb-photo/活动照片
[[email protected] ~]# mkdir /smb-photo/公司美女
[[email protected] ~]# mkdir /smb-photo/公司帅哥
[[email protected] ~]# mkdir /smb-photo/上传照片
#新建自定义名称为smb-pohoto的目录,里边分别新建要求所需的目录
[[email protected] smb-photo]# chmod 777 上传照片
#修改上传照片的目录权限为777,即任何人都可以把照片存放在该目录 其他目录普通用户则只有查看和执行权限并没有写入权限
[[email protected] smb-photo]# vim /etc/samba/smb.conf
[global]
workgroup = workgroup
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = share
passdb backend = tdbsam
load printers = yes
cups options = raw
[公司美女]
comment = Home Directories
#评语可随便写
path = /smb-photo/公司美女
#该目录所在系统路径
public = yes
#是否公共匿名可以访问
browseable = yes
#是否可以浏览
writable = yes
#是否可以写入(此处权限给写入是为了以后新建人事部管理用户的写入,不想公共匿名用户写入可以直接在系统目录775权限即可)
[公司帅哥]
comment = Home Directories
path = /smb-photo/公司帅哥
public = yes
browseable = yes
writable = yes
[活动照片]
comment = Home Directories
path = /smb-photo/活动照片
public = yes
browseable = yes
writable = yes
[上传照片]
comment = Home Directories
path = /smb-photo/上传照片
public = yes
browseable = yes
writable = yes
[[email protected] smb-photo]# service smb restart
关闭 SMB 服务: [确定]
启动 SMB 服务: [确定]
[[email protected] smb-photo]#
#修改配置文件为上图然后保存退出重启Samba服务
#之后再次用客户机访问就可以打开【公司美女】【公司帅哥】【活动照片】【上传照片】几个文件夹,并且任何客户端访问都有权限把照片上传到【上传照片】的文件夹,而其他文件夹则只有访问权限没有写入权限
------------------------------------------------------------------------------------------------
[[email protected] ~]# useradd smb-root
[[email protected] ~]# passwd smb-root
更改用户 smb-root 的密码 。
新的 密码:123456
无效的密码: 它基于字典单词
无效的密码: 过于简单
重新输入新的 密码:123456
passwd: 所有的身份验证令牌已经成功更新。
[[email protected] ~]#
#新建管理Samba的系统用户
[[email protected] ~]# ll -d /smb-photo/
drwxr-xr-x 6 root root 4096 12月 21 15:58 /smb-photo/
[[email protected] ~]# chown smb-root.smb-root /smb-photo/
[[email protected] ~]# ll -d /smb-photo/
drwxr-xr-x 6 smb-root smb-root 4096 12月 21 15:58 /smb-photo/
[[email protected] ~]#
#为了以后便于管理和权限分配 把新建的smb-photo目录的属主和属组修改为新建的samba管理用于,即smb-root
[[email protected] ~]# cd /smb-photo/
[[email protected] smb-photo]# chown smb-root.smb-root *
[[email protected] smb-photo]# ll
总用量 16
drwxr-xr-x 2 smb-root smb-root 4096 12月 21 15:57 公司美女
drwxr-xr-x 2 smb-root smb-root 4096 12月 21 15:57 公司帅哥
drwxr-xr-x 2 smb-root smb-root 4096 12月 21 15:57 活动照片
drwxrwxrwx 2 smb-root smb-root 4096 12月 21 15:58 上传照片
[[email protected] smb-photo]#
#共享目录下的子目录也雷同
[[email protected] smb-photo]# smbpasswd -a smb-root
New SMB password:654321
Retype new SMB password:654321
Added user smb-root.
[[email protected] smb-photo]#
#添加系统用户所对应的Samba用户
[[email protected] smb-photo]# vim /etc/samba/smb.conf
[照片管理]
comment = Home Directories
path = /smb-photo
#用于照片管理路径
public = no
#关闭公共匿名访问
browseable = yes
#是否可以浏览
writable = yes
#是否可以写入
valid users = smb-root
#有效的登录用户
write list = smb-root
#写入用户列表
directory mask =0775
#该用户创建目录的权限
create mask = 0775
#该用户创建文件的权限
[[email protected] smb-photo]#
#新增照片管理,目录为/smb-photo用于人事部照片管理
#此时就实现了人事部的需求,普通员工访问不需输入账户密码,只有打开【照片管理】时会弹出用户登录框,输入smb-root账户密码就可以登录了,且该目录对应的是/smb-photo,该目录下的所有子目录人事部都有新建修改和删除的权限,而普通用户对其他目录只有查看权限
#【以下为非匿名访问】
[[email protected] smb-photo]# vim /etc/samba/smbusers
root = administrator admin
nobody = guest pcguest smbguest
smb-root = rsb
#为了不让别人知晓系统用户smb-root把该用户映射成虚拟不存在的rsb用户进行访问
[[email protected] smb-photo]# vim /etc/samba/smb.conf
security = user
#安全验证方式更改为用户验证
username map = /etc/samba/smbusers
#全局配置加入用户名映射数据库文件指向
具体哪个用户可以访问哪个文件可以在smb.conf配置文件中的[]目录下写
如:想用123用户访问名称为abc的共享
[[email protected] smb-photo]# vim /etc/samba/smbusers
[abc]
valid users = 123
write list = 123
[[email protected] smb-photo]#
--------------------------------------------完-----------------------------------