samba服务器搭建实验报告(实现samba服务器搭建过程)

如何配置samba服务器

1、安装有关Samba的RPM包(samba、samba-common、samba-client)

2、创建Samba用户

3、修改配置文件

4、重启samba服务

5、设置目录访问权限

6、测试

具体步骤如下:

1、安装RPM包(缺省情况下RHEL5安装了samba的相关软件包,可以用如下命令查看)

[root@localhost ~]#rpm -qa | grep samba

samba -----samba服务器程序的所有文件

samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件

samba-client -----提供了Samba客户机的所有文件

samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能

2、创建samba用户

[root@localhost ~]#smbpasswd -a user1 (“-a”是创建samba用户,“-x”是删 [root@localhost ~]#smbpasswd -a user2 除samba用户,“-d”是禁用samba用

[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)

3、修改配置文件

samba配置文件的位置:/etc/samba/smb.conf

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

Vi大开配置文件后,首先介绍一下Samba服务器的安全级别,如图所示:系统默认设置“user”

Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。

1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。

2、share -----客户端连接服务器时不需要输入用户名和密码

3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。

4、domain -----采用域控制器对用户进行身份验证

5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器

共享目录的配置

[homes] -----samba用户的宿主目录

comment = Home Directories -----设置共享的说明信息

browseable = no -----目录浏览权限

writable = yes -----用户对共享目录可写

这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。

以下是共享打印机的设置:

[printers] -----共享打印机

comment = All Printers -----设置共享的说明信息

path = /var/spool/samba -----指定共享目录的路径

browseable = no -----目录浏览权限

guest ok = no -----允许来宾访问

writable = no -----用户对共享目录可写

printable = yes -----可以打印

以上是系统默认设置

添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)

[ASUS]

comment = user1 Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /ASUS -----指定共享目录的路径

[public]

comment = all user Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /public -----指定共享目录的路径

guest ok = yes -----允许来宾访问

4、修改完配置文件后需要重启samba服务

[root@localhost ~]#service smb restart

Samba服务器包括两个服务程序

2 smbd

? smbd服务程序为客户机提供了服务器中共享资源的访问

2 nmbd

? nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析

5、设置目录权限

[root@localhost ~]#mkdir /ASUS ------创建要共享目录

[root@localhost ~]#mkdir /public ------创建要共享的目录

[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS权限(属主拥有

所有权,属组只读,其它用户不能访问)

[root@localhost ~]#chown user1 /ASUS ------将/ASUS的属主改为user1

[root@localhost ~]#groupadd ASUS ------添加ASUS组

[root@localhost ~]#usermod –G ASUS user1 ------将user1加入到ASUS组

[root@localhost ~]#usermod –G ASUS user2 ------将user2加入到ASUS组

[root@localhost ~]#chgrp ASUS /ASUS ------将/ASUS的属组改为

ASUS

[root@localhost ~]#chmod 777 /public ------给所有用户分配完全控制

权限

配置完成后,还要检查/etc/service文件中以“netbios”开头的记录,正确的文件

记录如下所示,如果这些记录前有#或没有这些记录,应手工添加,否则用户无

法访问Linux服务器上的共享资源

6、测试

找一台内网windows客户端,打开“网上邻居 ”,输入samba服务器的IP点击

“搜索”

如图所示:已经搜索到

双击打开,如图所示:提示输入用户名和密码,先来输入user1的用户名和密码

作测试。

登录成功,

打开user1的宿主目录,此目录user1是拥有所有权限的,创建一个目录测试一

下,如图所示:可以创建

Public目录是允许任何用户上传、下载及删除文件,如图所示

User1对ASUS目录拥有完全控制权限,所以user1可以在此目录下作任何操作

切换另一个用户测试,由于我们在同一台计算机上作测试,测试之前首先要清楚

计算机上的缓存,如图所示:打开 “命令提示符模式”,“net use /del *”是清

除计算机上缓存

重新打开网上邻居,找到Samba 服务器的共享资源,以user2的身份登录

以下几幅图片可以看到,user2对ASUS目录拥有只读权限,对public、user2目

录拥有所有权

再切换一个用户登录,记得要清除缓存哦,输入user3的用户名及密码

如图所示:user3无法访问ASUS目录

User3只对user3和public目录拥有所有权

如何搭建samba服务器

samba安装和启动

samba的源码安装采用最新版本samba-4.1.14,官网下载。安装过程如下:

$ sudo mkdir /usr/local/samba-4.1.14

$ ./configure --prefix=/usr/local/samba-4.1.14

...

Checking for program xsltproc                                                    : not found

Checking for program python                                                      : /usr/bin/python

Checking for program python                                                      : /usr/bin/python

Checking for program python                                                      : /usr/bin/python

Checking for Python version = 2.5.0                                              : ok 2.7.6

Checking for library python2.7                                                    : not found

Checking for library python2.7                                                    : yes

Checking for program python2.7-config                                            : not found

Checking for program python-config-2.7                                            : not found

Checking

for custom code                                                         

: Could not find the python development headers

/home/anonymalias/Downloads/samba-4.1.14/wscript:100:

error: the configuration failed (see

\'/home/anonymalias/Downloads/samba-4.1.14/bin/config.log\')

上面错误的原因是samba必须依赖python,执行

$ sudo apt-get install python-dev

后面就是make sudo make install,安装ok后,安装目录结构如下:

/usr/local/samba-4.1.14$ ls

bin  etc  include  lib  private  sbin  share  va

将源码文件下默认的conf文件拷贝到安装目录下的etc目录中

/usr/local/samba-4.1.14$ cp /home/anonymalias/Downloads/samba-4.1.14/examples/smb.conf.default  etc/smb.conf

修改smb.conf中配置

global段添加如下字段

[global]

...

netbios name = ubuntu

共享资源字段采用默认配置

[homes]

comment = Home Directories

browseable = no

writable = yes

# NOTE: If you have a BSD-style print system there is no need to

# specifically define each individual printer

[printers]

comment = All Printers

path = /usr/spool/samba

browseable = no

# Set public = yes to allow user \'guest account\' to print

guest ok = no

writable = no

printable = yes

添加用户名为Ubuntu的账户,

/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a ubuntu

New SMB password:

Retype new SMB password:

samba服务器的用户是依赖于linux的用户,只能添加linux中已存在的用户,否则会出现如下错误:

/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a user1

New SMB password:

Retype new SMB password:

Failed to add entry for user user1.

启动samba 服务

/usr/local/samba-4.1.14$ sudo sbin/nmbd

/usr/local/samba-4.1.14$ sudo sbin/smbd

在Windwos文件管理器或直接win+R,输入server ip,可以看到如下界面:

Samba共享权限问题

Hi,

I received your email and be here to response you,please check the two options:

1, security = user, maybe it will be \"share\"

2, samba user shouldnt be root for secutiry reason.

Linux下如何搭建SAMBA服务器

1、相关的文件

samba-common samba服务器的主文件

samba 服务器端的软件

samba-client 客户端的软件

redhat-config-samba 图形界面的配置文件

samba-swat web配置工具

2、步骤

1)安装SAMBA服务器

(1)检测是否安装samba

#rpm -qa | grep samba

(2)安装:将第一张光盘放入光驱

#mount /mnt/cdrom

#cd /mnt/cdrom/RedHat/RPMS

#ls samba*.*

#rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm

#rpm -ivh samba-2.2.7a-7.9.0.i386.rpm

#rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm

#cd /

#umount /mnt/cdrom

#eject

2)设置samba的密码文件

(1)成批用户密码文件的生成

#cat /etc/passwd | mksmbpasswd.sh /etc/samba/smbpasswd

(2)删除一些无用的shell帐户

#vi /etc/samba/smbpasswd

从1到9。

(3)设置目录和文件的权限

#chown root.root /etc/samba/smbpasswd

#chmod 500 /etc/samba

#chmod 600 /etc/samba/smbpasswd

#ll -d /etc/samba

(4)单个用户设置samba密码

#useradd wujianan

#passwd wujianan

#smbpasswd -a wujianan

3)启动samba服务器

#service smb start

#pstree | grep mbd

#smbclient -L localhost或者IP地址

4)配置samba的共享

#vi /etc/samba/smb.conf

[global]

workgroup = workgroup

server string = samba server

;hosts allow = 192.168.1. 192.168.2. 127.

printcap = /etc/printcap

load prints = yes

printing = cups

;guest account = pcguest

log file = /var/log/samba/%m.log

max log size = 0

安全选项

security = user(share)

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

;interfaces = 192.168.12.2/24 192.168.13.2/24

dns proxy = no

设置每个用户主目录共享

[homes]

comment = Home Directries

browseable = no 不允许浏览共享文件夹

writeable = yes 允许写入

valid users = %s

create mode = 0664

directry mode = 0775

[printers]

comment = All prints

path = /var/spool/samba

browseable = no

printable = yes

[doc]

comment = doc

path = /home/doc

browseable = no

writeable = no或 read only = yes

guest ok = yes

示例:

要求:创建一个共享目录,所有用户都可访问,权限为只读。

#vi /etc/samba/smb.conf

workgroup = workgroup

server string = samba server

netbios name = RH9

dos charset = cp936

unix charset = cp936

secrity = share

[read]

comment = read

path = /home/read

public = yes

guest ok = yes

read only = yes

保存退出

#mkdir /home/read

#service iptables stop

#service smb start

#testparm

\\\\ip地址

创建一个可写的目录,允许所有用户可写入。

[write]

comment = write

path = /home/write

public = yes

guest ok = yes

writeable = yes

保存退出

#mkdir /home/write

#chmod 777 /home/write

#service iptables stop

#service smb restart

为指定的用户和组访问samba服务器

#useradd mehost

#passwd wujianan

#smbpasswd -a wujianan

#mkdir /var/samba/wujianan

#chown stu1.stu1 /var/samba/wujianan

#vi /etc/samba/smb.conf

security = user

[wujianan]

comment = wujianan

path = /var/samba/wujianan

valid users = wujianan

public = yes

writeable = yes

保存退出

#service smb restart

最简单的电影服务器的配置

#vi /etc/samba/smb.conf

workgroup = workgroup

server string = movies server

guest account = nobody

security = share

client code page = cp936

wins support = yes

[movies]

comment = movies

browseable = yes

writeable = no

path = /movies

guest ok = yes

read only = yes

保存退出

#mkdir /movies

#useradd admin -d movies

#passwd admin

#vi /etc/passwd

admin:x:0:500::/movies:/bin/bash

保存退出

#ntsysv

选择smb和vsftp项

#service smb start

#service vsftpd start

#service iptables stop

samba安装、配置、排错

零:场景:

| 共享名 | 路径 | 权限 |

| SHAREDOC | /smb/docs | 所有人员包括来宾均可以访问 |

| RDDOCS | /smb/tech | 仅允许特定组的用户进行读写访问 |

特定组的组名为RD,目前的Alice、Jack、Tom三个人

一、 安装Samba

//或者使用rpm安装

//查看安装版本信息

Tips:也之前的SAMBA 3有一个重大的变化是:security不再支持share

WARNING: Ignoring invalid value \'share\' forparameter \'security\'.

二、 配置Samba服务器

1.创建共享目录(假设共享/smb目录下的文件)

2.配置内核参数

3.配置smb.conf文件

1)备份原配置文件:

2)删除原有所有内容,添加如下内容:

[global]

workgroup=BIGCLOUD

netbios name=ZZSRV2

server string=Samba Server

security=user

map to guest = Bad User

[SHAREDOCS]

path=/smb/docs

readonly=yes

browseable=yes

guest ok=yes

[RDDOCS]

path = /smb/tech/

public = no

writable = yes

write list = @RD

validusers = @RD

三、 创建用户并分配权限

1.创建操作系统用户

2.修改用户的组

uid=1000(alice) gid=1000(alice)groups=1000(alice),1003(RD)

3.创建SAMBA用户

4.修改目录权限

5.查看服务状态

drwxrwx--- 2 RD RD 4096 Aug 11 17:08 /smb/tech/

smb.service - Samba SMB Daemon

Loaded: loaded(/usr/lib/systemd/system/smb.service; enabled)

Active: active (running) since Tue2014-08-12 11:38:29 CST; 14s ago

Main PID: 16807 (smbd)

Status: \"smbd: ready to serveconnections...\"

CGroup: /system.slice/smb.service

16807 /usr/sbin/smbd

16808 /usr/sbin/smbd

systemd[1]:Starting Samba SMB Daemon...

smbd[16807]:[2014/08/12 11:38:29.255341, 0]../lib/util/become_daemon.c:136(daemon_ready)

systemd[1]:Started Samba SMB Daemon.

smbd[16808]:STATUS=daemon \'smbd\' finished starting up and ready to serve connectionsfailedto retrieve print...CCESSFUL

Hint:Some lines were ellipsized, use -l to show in full.

四、 测试连通性

1.Linux上测试

Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]

Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]

2.Windows上测试

1)使用虚拟机(如VMware)安装Linux(如Ubuntu)系统时,为方便Windows和Linux文件互通方便(主要是Windows下访问Linux文件了),一般都会在LINUX下安装Samba服务器。

在XP下,可以通过[//192.168.3.104]()(Linux系统IP)进行访问其共享文件,但在WIN7或VISTA下却不行,因为Samba只支持NTLM认证,而WIN7或VISTA则采用NTLMv2认证,因此必须经过一些设置才行,具体设置如下:

开始-运行-secpol.msc-本地策略-安全选项-网络安全:LAN管理器身份验证级别-发送 LM 和 NTLMv2 ,如果已协商,则使用NTLMv2 (会话安全 )-完成设置。(如下图所示)

这时,再使用[//192.168.3.104]()(Linux系统IP)就可以访问Linux共享文件了 _

2)C:netuse * /del

您有以下的远程连接:

继续运行会取消连接。

您想继续此操作吗? (Y/N) [N]: y

命令成功完成。

C:netuse \\192.168.188.12 P@ssw0rd /U:alice

命令成功完成。

3)打开资源管理器进行写入测试

4)如果windows下登录samba服务器后无法访问linux下共享目录,提示没有权限。则检查:

a、确保linux下防火墙关闭或者是开放共享目录权限;

b、确保samba服务器配置文件smb.conf设置没有问题,可网上查阅资料看配置办法 ;

c、确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。

未经允许不得转载:便宜VPS网 » samba服务器搭建实验报告(实现samba服务器搭建过程)