Samba基本共享

Samba服务基础:

---smbd:提供端口TCP139、TCP445

---nmbd:提供基于NetBIOs协议的主机名解析

系统服务脚本:

---/etc/init.d/smb

配置目录及主要配置文件:

---/etc/samba/

---/etc/samba/smb.conf

配置文件检查工具:

---testparm

Smb.conf配置解析:

Linux网络服务:Samba服务与实现_第1张图片

Linux网络服务:Samba服务与实现_第2张图片

Linux访问共享

Linux网络服务:Samba服务与实现_第3张图片

实验五:

将目录 /usr/src 共享给所有人

共享名设为 tools

允许所有人访问、无需密码验证

访问权限为只读

1、安装软件包

[root@localhost ~]# rpm -q samba-client samba samba-common//查看是否安装

package samba-client is not installed

package samba is not installed

package samba-common is not installed

[root@localhost ~]# cd /etc/yum.repos.d///配置yum

[root@localhost yum.repos.d]# cp rhel-debuginfo.repo rhel- server.repo

[root@localhost yum.repos.d]# cat 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

[root@localhost yum.repos.d]# yum clean all

[root@localhost yum.repos.d]# yum -y install samba samba-clientsamba-common//安装samb,需要三个包

2、修改主配置文件

[root@ser1 ~]# vim /etc/samba/smb.conf

...

74workgroup = Tarena//工作组名称

75server string = Win File Ser//服务器描述

...

89log file = /var/log/samba/%m.log//日志路径

...

91max log size = 50//日志最大容量

...

101security = share//使用安全级别

221load printers = no//隐藏打印机

...

289 [tools]

290comment = Tools Public

291path = /usr/src//指定共享路径

292public = yes//是否所有人可用

293read only = yes //只读

3、启动服务

[root@ser1 ~]# testparm //配置文件检查工具

[root@ser1 ~]# service smb restart

[root@ser1 ~]# chkconfig smb on

[root@ser1 ~]# netstat -anptu | grep mbd

tcp00 0.0.0.0:1390.0.0.0:*LISTEN7008/smbd

tcp00 0.0.0.0:4450.0.0.0:*LISTEN7008/smbd

udp00 192.168.10.10:1370.0.0.0:*7011/nmbd

udp00 0.0.0.0:1370.0.0.0:*7011/nmbd

udp00 192.168.10.10:1380.0.0.0:*7011/nmbd

udp00 0.0.0.0:1380.0.0.0:*7011/nmbd

4、客户端测试:

Windown

UNC路径 \\192.168.10.253

Linux:

[root@localhost ~]# yum -y install samba-client/需要安装samba-client

[root@localhost ~]# smbclient -L 192.168.10.10

[root@localhost ~]# smbclient //192.168.10.10/tools//!pwd可以执行外部命令 lcd切换

[root@localhost ~]# mkdir -p /data/smb

[root@localhost ~]# mount -t cifs //192.168.10.10/tools /data/smb///可以挂载

[root@localhost ~]# grep smb /etc/fstab

//192.168.10.10/tools/data/smbcifs defaults00//可以设置开机自动挂载

试验二 Samba用户验证

修改原有的 [tools] 匿名共享设置

不再允许所有人访问

只允许nick读取、tom写入

拒绝其他用户或匿名访问

1、新建相应账户与samba密码

[root@localhost ~]# useradd nick

[root@localhost ~]# useradd tom

[root@localhost ~]# echo "123456" | passwd --stdin nick

Changing password for user nick.

passwd: all authentication tokens updated successfully.

[root@localhost ~]# echo "123456" | passwd --stdin tom//新建3个用户设置密码

Changing password for user tom.

passwd: all authentication tokens updated successfully.

[root@localhost ~]# pdbedit -a nick//设置samba密码(客户机登录samba密码)

[root@localhost ~]# pdbedit -a tom

2、修改主配置文件

[root@ser1 ~]# vim /etc/samba/smb.conf

...

101security = user用户认证

...

289 [tools]

290comment = Tools Public说明

291path = /usr/src共享目录的位置

292public = no是所有人可用

293valid users = nick,tom共享账号列表

294write list = tom可写帐户

295read only = yes只读

296directory mask = 0755

297create mask = 0644

...

[root@ser1 samba]# setfacl -m u:tom:rwx /usr/src/

3、启动服务

[root@ser1 ~]# service smb restart

关闭 SMB 服务:[确定]

关闭 NMB 服务:[确定]

启动 SMB 服务:[确定]

启动 NMB 服务:[确定]

4验证

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

把普通帐户nick设置别名为kaka

设置只允许192.168.10.5地址访问

1、修改Samba用户别名文件

[root@localhost ~]# vim /etc/samba/smbusers

# Unix_name = SMB_name1 SMB_name2 ...

root = administrator admin

nobody = guest pcguest smbguest

nick = kaka

2、修改主配置文件

[root@localhost ~]# vim /etc/samba/smb.conf

...

76username map = /etc/samba/smbusers

...

289 [tools]

290comment = Tools Public

291path = /usr/src

292public = no

293valid users = nick,tom

294write list = tom

295read only = yes

296directory mask = 0755

297create mask = 0644

298hosts allow = 192.168.10.5