如何搭建samba服务器

如何搭建samba服务器,第1张

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

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目录拥有所有权

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


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/252230.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存