samba服务器的安装与配置实验报告(samba服务器工作原理)

如何在linux上安装配置samba服务器

1、首先需要登入安装了Linux系统的计算机,安装Samba。Fedora发行版一般使用yum工具安装Samba服务器,可以使用“rpm -q samba”查询Samba服务器是否已经安装,当然,也可以直接使用“yum install samba”安装Samba服务器。如果Samba已经安装,yum会给出提示,否则按照步骤,输入“y”就可以直接下载安装Samba服务器了。2、安装完成之后,需要查看一下Samba是否已经加入到自启动服务。使用“/sbin/chkconfig | grep smb”和“/sbin/chkconfig | grep nmb”命令可以查看smb和nmb是否加入到系统服务。(SMB是Samba共享服务,nmb是NetBIOS服务,为配合Windows使用,他们两个服务都要加入到系统服务中)。然后再使用“/sbin/service smb status”和“/sbin/service nmb status”查看服务是否已经启用。

3、接下来就要配置samba服务器了。编辑修改“/etc/samba/smb.conf”,设置共享和认证参数。如图就是我在用的Samba用户共享典型配置文件。编辑修改完成之后,可以使用“testparm /etc/samba/smb.conf”验证配置文件的有效性,以免因配置文件错误而导致Samba服务无法启动。

4、验证OK的话,接下来就是添加Samba共享用户了,使用“/usr/bin/smbpasswd -a 用户名称”的方式添加Samba共享用户,并为每个用户设置Samba共享认证的密码。

5、到这里基本上Samba服务器配置就完成了,如果上述步骤中smb和nmb服务没有自动添加到系统服务中,可以使用“/sbin/chkconfig --level 2345 smb on”和“/sbin/chkconfig --level 2345 nmb on”将其加入到系统服务中,其中2345是Linux的运行级别,一般都不会超出这几个运行级别。然后我们就可以使用“/sbin/service smb restart”和“/sbin/service nmb restart”重启服务了。

6、重启完成之后,Windows就可以访问用户共享了。在Windows资源管理器输入“\\\\共享IP地址\\共享用户”,就可以访问用户自己目录下的全部文件了。

7、为了测试共享权限,我们进入用户共享目录,尝试在Windows资源管理器中创建一个“test”目录。

8、回到Linux的用户目录,我们就可以看到,Windows和Linux查看到的用户共享目录是一致的。(你可能觉得看到的文件和目录说不一致,这是因为我的Windows设置了显示隐藏文件和文件夹的缘故。)

如何配置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安装、配置、排错

零:场景:

| 共享名 | 路径 | 权限 |

| 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中允许了这项操作。

大家的云服务器能配置好Samba么

1. 安装iptables防火墙

安装iptables和iptables-services 

yum install iptables 

yum install iptables-services

*关闭centos自带的防火墙 

systemctl stop firewalld 

systemctl mask firewalld

2. 清空防火墙默认规则和自定义规则

iptables -P INPUT ACCEPT 

iptables -F 

iptables -X 

iptables -Z

3. 防火墙开放samba服务所需端口和常用端口

vi /etc/sysconfig/iptables 

添加以下内容到iptables中 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 139 -j ACCEPT 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 445 -j ACCEPT 

-A INPUT -m state –state NEW -m udp -p udp –dport 137 -j ACCEPT 

-A INPUT -m state –state NEW -m udp -p udp –dport 138 -j ACCEPT 

-A INPUT -p tcp –dport 22 -j ACCEPT 

-A INPUT -p tcp –dport 21 -j ACCEPT 

-A INPUT -p tcp –dport 80 -j ACCEPT 

-A INPUT -p tcp –dport 443 -j ACCEPT 

-A INPUT -p icmp –icmp-type 8 -j ACCEPT 

-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT 

-P OUTPUT ACCEPT

4. 开启iptables防火墙

注册iptables服务 

systemctl enable iptables.service 

开启服务 

systemctl start iptables.service 

查看状态 

systemctl status iptables.service

5. 安装和配置samba

yum install samba 

设置samba开机启动 

chkconfig smb on

vim /etc/samba/smb.conf,粘贴复制以下内容 

[global] 

unix charset = gbk 

dos charset = gbk 

workgroup = img 

netbios name = img 

server string = uc 

security = user 

smb ports = 1315 1314 #很重要,貌似阿里云屏蔽了samba默认的端口

 

comment = uc 

path=/home/xuhaoguang/work 

create mask = 0664 

directory mask = 0775 

writable = yes 

valid users = work #登录samba服务的账号 

browseable = yes

给samba添加work账号: 

smbpasswd -a work

启动samba: 

service smb restart

6. 客户端连接samba服务

mac: 

command +k ; smb://ip_address:1314

windows: 

运行输入:\\Samba服务器的ip

      我是按照上面的步骤完成阿里云服务器上的samba配置的,仅供大家参考!

如何搭建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,可以看到如下界面:

怎么在LINUX下配置SAMBA服务器

在Linux平台,以二进制程序包和源代码两种方式安装samba服务器,并整理相关配置文件,并给出基本应用操作。

步骤:

1.机器上已经存在的samba服务,版本为3.0.21b,这是通过使用rpm命令得到的。如下:

# rpm –qa | grep samba

Samba-client-3.0.21b-2

Samba-common-3.0.21b-2

2.将上面的samba-client-3.0.21b-2卸载。使用命令:rpm –e samba-client-3.0.21b-2。

3.用rpm –e samba-common-3.0.21b-2来卸载common,因为依赖关系,不成功。

4.下载二进制程序包:

samba-common-3.0.23c-4.i386.rpm,

samba-client-3.0.23c-4.i386.rpm,

samba-doc-3.0.23c-4.i386.rpm,

samba -3.0.23c-4.i386.rpm。

5.安装这些程序包。分别使用命令:

rpm –Uvh samba-common-3.0.23c-4.i386.rpm

rpm –ivh samba-client-3.0.23c-4.i386.rpm

rpm –ivh samba-3.0.23c-4.i386.rpm

rpm –ivh samba-doc-3.0.23c-4.i386.rpm

使用选项Uvh来安装common是因为原来的common没有被卸载,因此应进行升级安装(U)。

6.安装完毕后,可以使用rpm –qa samba来确认。会输出samba-3.0.24c-4。

7.下面开始对samba服务进行配置。

8.首先,修改/etc/samba/lmhosts文件。加入一行,为本机上的Windows系统IP地址和主机名。这样才可以通过Windows来访问Unix的samba服务。

9.创建目录/export/sambadir作为共享目录。

命令:mkdir –p /export/sambadir

chmod 777 /export/sambadir

10.修改/etc/samba/smb.conf文件。这是samba的配置文件。

Security = user

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

Path = /export/sambadir

11.使用testparam来测试修改结果。

12.加入一个用户,并修改其密码。

13.使用chkconfig命令来设置在启动级别5中启动samba。命令如下:

Chkconfig –list | grep smb

Chkconfig –level 5 smb on

Chkconfig –list | grep smb

14.重新启动网络服务:

/etc/rc.d/init.d/cups stop

/etc/rc.d/init.d/smb restart

15.然后就可以在Windows系统中通过12步中设定的用户名和密码来访问Linux。

16.使用源代码的安装方式:下载samba-3.0.23c.tar.gz源代码包,解压。

Cd samba-3.0.23c/source

./autogen.sh

./configure –prefix=/usr –localstatedir=/var –with-configdir=/etc/samba –with-privatedir=/etc/samba –with-fhs –with-quotas –with-smbmount –enable-cups –with-pam_smbpass –with-syslog –with-utmp –with-swatdir=/usr/share/swat –with-shared-modules=idmap_rid –with-libsmbclient

Make

Make install

17.其余步骤与7之后相同。

这是我实验时写的,平台是redhat 9

未经允许不得转载:便宜VPS网 » samba服务器的安装与配置实验报告(samba服务器工作原理)