您的位置:首页 > 理论基础 > 计算机网络

配置Samba共享

2014-09-14 23:12 127 查看
实验01:配置Samba共享
. 实验目标

根据公司的信息化建设要求,构建Samba服务器以提供文件资源共享服务。

1. Samba匿名共享
工作组为Tarena
将目录 /usr/src 共享给所有人
共享名设为 tools
允许所有人访问、无需密码验证
访问权限为只读

2. Samba用户验证
修改原有的 [tools] 匿名共享设置
不再允许所有人访问
只允许nick读取、tom写入
拒绝其他用户或匿名访问
上传目录的权限为755
上传文件的权限为644

3. Samba账户别名与访问地址控制
把普通帐户nick设置别名为jim
设置只允许192.168.10.20地址访问

. 实验前提条件

1. 所有实验机在相同网络(vmnet4)
2. DHCP服务器有固定IP

. 实验步骤

一.Samba匿名共享

实验要求:

工作组为Tarena
将目录 /usr/src 共享给所有人
共享名设为 tools
允许所有人访问、无需密码验证
访问权限为只读

(一)IP配置

1. 设置ip地址
[root@dhcpser ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:48:71:56 (MAK地址)
IPADDR=192.168.10.253 (ip地址)
NETMASK=255.255.255.0 (子网掩码)
~

2. 设置网关及主机名
[root@dhcpser ~]# vim /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=dhcpser.tarena.com (主机名)
GATEWAY=192.168.10.254 (网关地址)

3. 配置搜索域
[root@dhcpser ~]# vim /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.10.253 dhcpser.tarena.com dhcpser (搜索域)

4. 重启服务
[root@dhcpser ~]# service network restart
[root@dhcpser ~]# chkconfig network on

5. 验证
[root@dhcpser ~]# ifconfig eth0(验证ip地址)
[root@dhcpser ~]# route -n(验证网络)
[root@dhcpser ~]# hostname (验证主机名)
[root@dhcpser ~]# ping dhcpser.tarena.com(验证搜索域)

(二)安装软件包

1 检测是否安装samba-client samba samba-common
[root@dhcpser ~]# rpm -q samba-client samba samba-common
package samba-client is not installed
package samba is not installed
package samba-common is not installed
放入RHEL5.9 iso镜像

2. 建yum库
[root@dhcpser ~]# cd /etc/yum.repos.d/
[root@dhcpser yum.repos.d]# cp rhel-debuginfo.repo
rhel-server.repo
[root@dhcpser yum.repos.d]# vim rhel-server.repo
[rhel-server]
name=Red Hat Enterprise Linux Server
baseurl=file:///misc/cd/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

3. 清yum
root@dhcpser yum.repos.d]# yum clean all
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management.
You can use subscription-manager to register.
Cleaning up Everything

4. 安装
[root@dhcpser yum.repos.d]# yum -y install samba samba-client
samba-common

(三)修改配置文件smb.conf

[root@dhcpser yum.repos.d]# cd
[root@dhcpser ~]# cd /etc/samba/
[root@dhcpser samba]# ls
lmhosts smb.conf smbusers
[root@dhcpser samba]# cp smb.conf smb.conf.bak
[root@dhcpser samba]# vim /etc/samba/smb.conf
...
74 workgroup = Tarena //工作组名
75 server string = Win File Ser //允许匿名访问共享
...
89 log file = /var/log/samba/%m.log
...
91 max log size = 50
...
101 security = share
...
221 load printers = no //屏蔽共享时看到的打印图标
...
289 [tools]
290 comment = Tools Public //共享目录的描述
291 path = /usr/src //指定共享路径
292 public = yes //所有人都可访问
293 read only = yes //默认的权限为只读

(四)启动服务

[root@dhcpser ~]# testparm
[root@dhcpser ~]# service smb restart
关闭 SMB 服务: [确定]
关闭 NMB 服务: [确定]
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]
[root@dhcpser ~]# chkconfig smb on
使用netstat 命令可以验证服务进程状态,其中smbd 程序负责监听TCP 协议的139 端口 (SMB 协议)、445端口(CIFS 协议),而nmbd 服务程序负责监听UDP 协议的137-138 端口(NetBIOS协议)。netstat验证操作及输出结果如下所示:
[root@dhcpser ~]# netstat -anptu | grep mbd(查看该端口)
tcp 0 0 0.0.0.0:139 0.0.0.0:*
LISTEN 8097/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:*
LISTEN 8097/smbd
udp 0 0 192.168.10.253:137 0.0.0.0:*
8100/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:*
8100/nmbd
udp 0 0 192.168.10.253:138 0.0.0.0:*
8100/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:*
8100/nmbd

. 结果验证

一.客户端检测

(一).windows上测试

1.)浏览服务器192.168.4.5所提供的共享资源
从桌面双击“计算机”以打开资源管理器,然后在地址栏输入访问Samba服务器的
UNC路径(不含共享名),即可以浏览的方式列出对方提供的共享资源,如图-4所示。
本例中只看到192.168.10.253提供了一个名为“tools”的共享,而另一个名为rhel5lib
的共享却看不到(因为browseable=no,效果就是隐藏了)。
UNC路径 \\192.168.10.253

2 访问192.168.4.5提供的tools匿名共享(正常共享)。
通过浏览看到对方提供的tools共享以后,直接双击tools共享文件夹(或者直接访问共
享资源的UNC路径:\\192.168.4.5\tools),即可打开此共享资源,查看其中的子目录、
文件等资料

3 访问192.168.4.5提供的rhel5lib匿名共享(隐藏共享)。
由于rhel5lib是隐藏共享,因此通过浏览192.168.4.5主机的方式无法看到此共享资源。
只有在客户机明确知道有这个共享的时候,可通过UNC路径直接访问,例如从资源管
理器直接访问地址:\\192.168.4.5\rhel5lib

(二). Linux上检测

1. 安装samba-client
[root@localhost yum.repos.d]# yum -y install samba-client

2. 查看查询共享列表
[root@localhost ~]# smbclient -L 192.168.10.253 //服务器IP地址
Password: //直接回车
Domain=[TARENA] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]

Sharename Type Comment
--------- ---- -------
tools Disk Tools Public
IPC$ IPC IPC Service (Win File Ser)
Domain=[TARENA] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]

Server Comment
--------- -------
DHCPSER Win File Ser

Workgroup Master
--------- -------
TARENA DHCPSER

3. 访问共享目录
[root@localhost ~]# smbclient //192.168.10.253/tools
Password:
Domain=[TARENA] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
Server not using user level security and no password supplied.
smb: \>

在“smb:\> ”操作环境中,提供了一个类似于ftp 命令程序的环境,通过特定的命令可 以对共享目录进行列表、上传、下载等操作。例如,使用ls 可以查看资源列表、pwd 查看当前路径、get和mget用来下载文件、put和mput用于上传文件
若要查看所有可用的交互指令,可使用“?”或“help”命令

4. mount挂载
[root@localhost ~]# mkdir -p /data/smb //创建挂载点
[root@localhost ~]# mount -t cifs //192.168.10.253/tools
/data/smb/ //挂载共享资源
Password: //直接回车匿名访问
[root@localhost ~]# mount | tail -1 //确认挂载结果
//192.168.10.253/tools on /data/smb type cifs (rw,mand)

5. 挂载设置固定到/etc/fstab文件
[root@localhost ~]# vim /etc/fstab
//192.168.10.253/tools /data/smb cifs defaults 0 0

注:如果服务器的共享资源比较稳定,可以将挂载设置固定到/etc/fstab文件中,以便每次开机后自动挂载,为了免除密码验证,需要添加“username=guest,password=”的挂载参数

6. 测试
[root@localhost ~]# grep smb /etc/fstab
//192.168.10.253/tools /data/smb cifs defaults 0 0

二.Samba用户验证

实验要求:
修改原有的 [tools] 匿名共享设置
不再允许所有人访问
只允许nick读取、tom写入
拒绝其他用户或匿名访问
上传目录的权限为755
上传文件的权限为644

(一)服务端

1.新建相应账户与samba密码
[root@dhcpser ~]# useradd nick
[root@dhcpser ~]# useradd tom
[root@dhcpser ~]# echo "redhat" | passwd --stdin nick
Changing password for user nick.
passwd: all authentication tokens updated successfully.
[root@dhcpser ~]# echo "redhat" | passwd --stdin tom
Changing password for user tom.
passwd: all authentication tokens updated successfully.
[root@dhcpser ~]# pdbedit -a nick
new password: //为共享用户nick设置口令
retype new password: //重复输入所设置的口令
Unix username: nick
NT username:
Account Flags: [U ]
User SID:
S-1-5-21-2619881084-3148751359-2625704057-1000
Primary Group SID:
S-1-5-21-2619881084-3148751359-2625704057-513
Full Name:
Home Directory: \\dhcpser\nick
HomeDir Drive:
Logon Script:
Profile Path: \\dhcpser\nick\profile
Domain: DHCPSER
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: 一, 15 9月 2014 01:56:49 CST
Password can change: 一, 15 9月 2014 01:56:49 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@dhcpser ~]# pdbedit -a tom
new password: //为共享用户tom设置口令
retype new password://重复输入所设置的口令
Unix username: tom
NT username:
Account Flags: [U ]
User SID:
S-1-5-21-2619881084-3148751359-2625704057-1001
Primary Group SID:
S-1-5-21-2619881084-3148751359-2625704057-513
Full Name:
Home Directory: \\dhcpser\tom
HomeDir Drive:
Logon Script:
Profile Path: \\dhcpser\tom\profile
Domain: DHCPSER
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: 一, 15 9月 2014 01:57:03 CST
Password can change: 一, 15 9月 2014 01:57:03 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

2. 修改主配置文件
[root@dhcpser ~]# vim /etc/samba/smb.conf
...
101 security = user //安全等级提高为user
...
289 [tools]
290 comment = Tools Public
291 path = /usr/src
292 public = no //不再对所有人公开
293 valid users = nick,tom //合法的共享用户
294 write list = tom //允许有写入权限的用户
295 read only = yes
296 directory mask = 0755//所建目录的默认权限
297 create mask = 0644 //所建文件的默认权限
...

3. 共享目录的访问权限

[root@dhcpser ~]# setfacl -m u:tom:rwx /usr/src/

4. 重启smb服务
[root@dhcpser ~]# service smb restart
关闭 SMB 服务: [确定]
关闭 NMB 服务: [确定]
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]

(二).客户端测试
1.用户nick可只读访问,而用户tom可写入
[root@localhost ~]# smbclient -U nick //192.168.10.253/tools
Password:
Domain=[DHCPSER] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
smb: \> ls
0:40:56 2013
.. D 0 Wed Jul 10 17:15:29 2013
kernels D 0 Thu Oct 1 22:58:39 2009
debug D 0 Thu Oct 1 22:58:39 2009
vmware-tools-distrib D 0 Thu Nov 1 08:28:29 2012

38751 blocks of size 524288. 29243 blocks available
smb: \>

2.挂载
[root@localhost ~]# mount -o username=nick //192.168.10.10/tools /data/smb

三.Samba账户别名与访问地址控制

实验要求:
把普通帐户nick设置别名为jim
设置只允许192.168.10.20地址访问

(一)服务端

1. 修改Samba用户别名文件
[root@dhcpser ~]# vim /etc/samba/smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
nick = jim

2、修改主配置文件
...
76 username map = /etc/samba/smbusers
...
289 [tools]
290 comment = Tools Public
291 path = /usr/src
292 public = no
293 valid users = nick,tom
294 write list = tom
295 read only = yes
296 directory mask = 0755
297 create mask = 0644
298 hosts allow = 192.168.10.200

3.重启服务
[root@dhcpser ~]# service smb restart
关闭 SMB 服务: [确定]
关闭 NMB 服务: [确定]
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]

. 结论验证

客户端
[root@dhcpser ~]# smbclient -U tom //192.168.10.253/tools
Password:
Domain=[DHCPSER] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
smb: \> ls
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息