Windows访问linux系统samba服务
案例:某公司(xxxcompany)有研发部,运维部,网络部,人力资源部,财务部,综合部,采购部,市场部。这8个部门需要分享资源
要求:
研发部有自己的目录:devlopment.研发部的目录研发部所有员工和运维manager可以访问下载,但是只有研发manager可以下载,修改和上传
运维部有自己的目录:operation.运维部的目录运维部所有员工和研发manager可以访问下载,但是只有运维manager可以下载,修改和上传
网络部有自己的目录:network.网络部的目录网络部所有员工和运维manager可以访问下载,但是只有网络部manager可以下载,修改和上传
财务部有自己的目录:finance.财务部的目录财务部所有员工可以访问下载,但是只有财务manager 可以下载,修改和上传
人力资源部也有目录:HR.人力资源部的目录人力资源部所有员工和各部门manager可以访问下载,但是只有人力资源部manager可以下载,修改和上传
综合部有自己的目录:comprehensive.综合部的目录综合部所有员工和各部门manager可以访问下载,但是只有综合部manager可以下载,修改和上传
采购部有自己的目录:purchase.采购部的目录采购部所有员工可以访问下载,但是只有采购manager可以下载,修改和上传
市场部有自己的目录:sales.市场部的目录市场部所有员工和各部门manager可以访问下载,但是只有市场部manager可以下载,修改和上传
另外还有一个对所有人开放的共享目录:public
以windows下虚拟机中的redhat6.5为例
1,准备好安装包
1.1,查看是否安装samba,一共5个包,如图显示都已安装
2,开始搭建samba
2.1,建立8个部门各自的目录(我是在/home目录里建的)
2.1.1,别忘了还有一个对所有人开放的目录:public
2.2,建立各部门的组
2.3,建立各部门的用户,并给用户指定组
2.3.1,上图漏了一个采购部的manager,补上
2.4,修改各部门对应的目录的属组
2.5,查看修改之后的属组
2.5.1,给8个部门对应的目录属组添加w权限
2.5.2,别忘了public目录,该目录的other需要添加w权限
2.5.3,如果SElinux状态Enforcing需要执行下面的步骤,如果不执行下面的步骤请关闭SElinux
2.6,将用户添加到samba账号
[[email protected]ongwenjie samba]# smbpasswd -a D01 <---给研发部01号员工注册samba账号
New SMB password: <------键入密码
Retype new SMB password: <------再次确认
Added user D01.
[[email protected] samba]# smbpasswd -a Dmanager <---给研发部manager注册samba账号
New SMB password:
Retype new SMB password:
Added user Dmanager.
[[email protected] samba]# smbpasswd -a O01
New SMB password:
Retype new SMB password:
Added user O01.
[[email protected] samba]# smbpasswd -a Omanager
New SMB password:
Retype new SMB password:
Added user Omanager.
[[email protected] samba]# smbpasswd -a N01
New SMB password:
Retype new SMB password:
Added user N01.
[[email protected] samba]# smbpasswd -a Nmanager
New SMB password:
Retype new SMB password:
Added user Nmanager.
[[email protected] samba]# smbpasswd -a F01
New SMB password:
Retype new SMB password:
Added user F01.
[[email protected] samba]# smbpasswd -a Fmanager
New SMB password:
Retype new SMB password:
Added user Fmanager.
[[email protected] samba]# smbpasswd -a H01
New SMB password:
Retype new SMB password:
Added user H01.
[[email protected] samba]# smbpasswd -a Hmanager
New SMB password:
Retype new SMB password:
Added user Hmanager.
[[email protected] samba]# smbpasswd -a C01
New SMB password:
Retype new SMB password:
Added user C01.
[[email protected] samba]# smbpasswd -a Cmanager
New SMB password:
Retype new SMB password:
Added user Cmanager.
[[email protected] samba]# smbpasswd -a P01
New SMB password:
Retype new SMB password:
Added user P01.
[[email protected] samba]# smbpasswd -a Pmanager
New SMB password:
Retype new SMB password:
Added user Pmanager.
[[email protected] samba]# smbpasswd -a S01
New SMB password:
Retype new SMB password:
Added user S01.
[[email protected] samba]# smbpasswd -a Smanager
New SMB password:
Retype new SMB password:
Added user Smanager.
[[email protected] samba]#
2.7,修改samba主配置文件,即/etc/samba/smb.conf,修改为如下:
注:为了方便我这里把配置文件中的# 和;开头的注释都删掉了
2.7.1,保存退出后对配置进行测试,使用testparm命令测试,如下
2.7.2,调整文件描述符,使用ulimit命令
补充一下,此处记录着用户的文件描述符
2.8,保存测试无报错后重启samba服务
2.9,开始使用客户端进行测试
2.9.1windows下测试
注意1:windows的工作组要和smb.conf里的工作组一致
注意2:windows下的本地安全策略最好改成如下所示:运行里输入:secpol.msc回车,即弹出本地安全策略选框
2.9.2,根据要求运维部的员工可以进入运维部的目录,浏览,还可以下载,下面进行测试
打开”运行”,或者任意浏览器也或者进入任意可以敲地址的地址栏输入:”\\10.10.10.10\operation”后回车。
2.9.2.1,点击确定后弹出用户登录界面,此时输入运维部员工账号和密码即可登录(我这里有之前用户的记录,由于是同一台机子测试不同的用户,所以需要删除记录 )
2.9.2.2,删除记录操作:
2.9.2.3,记录删除后根据弹出的界面输入用户名密码确定即可
2.9.3,点击”确定”后即可进入目录,如下图
2.9.4,运维部员工和研发manager只能浏览和下载运维部门目录里的内容,运维经理可以浏览,修改,下载,上传,此时使用的是运维部普通员工账号登录所以只能浏览,下载,不能修改和上传
3,在linux下访问samba共享资源
[[email protected] home]# smbclient //10.10.10.10/public -U F01
Enter F01‘s password:
Domain=[COMPANY] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> ls
. D 0 Mon Nov 23 00:00:29 2015
.. D 0 Sun Nov 22 20:32:29 2015
pub.txt 53 Sun Nov 22 22:32:09 2015
2.txt 0 Sun Nov 22 22:37:09 2015
file1 0 Sun Nov 22 22:35:23 2015
yi.txt 0 Sun Nov 22 22:35:40 2015
ope1.txt 29 Sun Nov 22 22:35:34 2015
1.txt 0 Sun Nov 22 22:34:48 2015
42355 blocks of size 262144. 39584 blocks available
smb: \> get pub.txt <--从samba共享目录public下载文件:pub.txt
getting file \pub.txt of size 53 as pub.txt (6.5 KiloBytes/sec) (average 6.5 KiloBytes/sec)
smb: \> quit
3.0.1,将本地文件上传至samba共享目录:public
[[email protected] home]# touch 1.txt <---由于当前目录没有文件,所以新建一个
[[email protected] home]#
[[email protected] home]# smbclient //10.10.10.10/public -U F01
Enter F01‘s password: <---需要键入密码
Domain=[COMPANY] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> put 1.txt
NT_STATUS_ACCESS_DENIED opening remote file \1.txt
smb: \> quit
[[email protected] home]# mv 1.txt 3.txt
[[email protected] home]# smbclient //10.10.10.10/public -U F01
Enter F01‘s password:
Domain=[COMPANY] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> put 3.txt
putting file 3.txt as \3.txt (0.0 kb/s) (average 0.0 kb/s)
smb: \> quit
[[email protected] home]# smbclient //10.10.10.10/public -U F01
Enter F01‘s password:
Domain=[COMPANY] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> ls
. D 0 Mon Nov 23 00:38:24 2015
.. D 0 Mon Nov 23 00:38:14 2015
pub.txt 53 Sun Nov 22 22:32:09 2015
2.txt 0 Sun Nov 22 22:37:09 2015
file1 0 Sun Nov 22 22:35:23 2015
yi.txt 0 Sun Nov 22 22:35:40 2015
3.txt 0 Mon Nov 23 00:38:24 2015
ope1.txt 29 Sun Nov 22 22:35:34 2015
1.txt 0 Sun Nov 22 22:34:48 2015
42355 blocks of size 262144. 39584 blocks available
smb: \> quit
[[email protected] home]#
3.0.2,当连接成功后,我们不会使用可以这样,类似于ftp连接
3.1,还可以讲samba共享目录挂载到本地使用,如下图