配置samba服务器-梁玉锋
- 格式:doc
- 大小:225.00 KB
- 文档页数:5
Samba服务器配置
1.安装samba服务器
、2.修改配置文件说smb.conf
1)打开smb.conf配置文件
2)在配置中输入如下内容:
3)利用testparm检测配置文件
3.修改配置文件后重启服务
4.创建一个samba用户,设置samba密码
5.查看服务器IP
6.客户端登录测试在windows里面选择开始菜单->运行:输入\\IP 地址即可(如果没有办法弹出这个输入密码的对话框,可以在cmd 命令里输入net use*/del,删除windows的连接)
7.Linux客服端登录测试
1)安装smbclient
2)连接服务器利用smbclient命令(注意IP后面是共享文件名)
备注:
1.samba用户必须是服务器本地已经存在的用户
2.Samba用户必须创建用户samba密码
3.用户是否能创建文件或者目录取决于服务器的权限同时受限于操作目录权限本身。
Samba服务器是我们常用文件资源共享服务器,Samba服务器配置多种多样,可以根据不同用户或用户组访问不同目录进行配置。
下面开始讲解配置流程1、安装Samba服务器# yum -y install samba samba-client samba-common//或者使用rpm安装#rpm -ivh samba-4.1.1-37.el7_0.src.rpm2、创建共享目录#mkdir /smb3、配置内核参数# ulimit -n 16384# vi /etc/security/limits.conf#在最后加入以下内容* - nofile 16384Tip: 这主要是避免在启动Samba时出现以下警告信息:rlimit_max: increasing rlimit_max (1024) tominimum Windows limit (16384) 4、配置Samba参数#cd /etc/samba#mv smb.conf smb.conf.bf#touch smb.conf#vi smb.conf将下面内容复制进去[global]workgroup=WORKGROUPnetbios name=Amapleserver string=Samba Server#security=sharesecurity=usermap to guest = Bad User[share]path = /smbpublic = nowritable = yeswrite list = @sambavalidusers = @samba如果需要根据不同用户进入不同目录用share参数修改为[Share]path = /smb/%upublic = nowritable = yeswrite list = @sambavalidusers = @samba如果需要开启公共区域可以在share后面追加,根据需要开启[Public]path=/smb/docsreadonly=yesbrowseable=yesguest ok=yes5、创建用户组# groupadd samba6、创建用户# useradd -g samba amapleuseradd -g samba samba7、创建SAMBA用户# smbpasswd -a amaple8、赋值目录权限# chown samba:samba /smb# chmod 770 /smb9、启动samba服务器sysctltem start samaba然后在windows测试下如果不行关闭下防火墙和selinux 如果选择的是根据不同用户进入不同目录用share参数修改为10、创建用户目录mkdir /smb/amaple# chown amaple:samba /smb# chmod 755 /smb/amaple如果会setfacl建议用该它进行设置权限更加妥当,还有可以搭配mount目录挂载使用更加方便。
linux下怎么配置smba服务器Linux下如何配置Samba服务器Samba服务器是一种用于构建文件共享和打印服务的软件,它允许Linux系统与Windows系统之间进行文件和资源的共享。
本文将详细介绍如何在Linux系统中配置Samba服务器。
1. 安装Samba服务器软件在终端中输入以下命令来安装Samba服务器软件:```sudo apt-get install samba```2. 配置Samba服务器2.1 创建共享文件夹首先,我们需要创建一个共享文件夹,它将包含允许其他计算机访问和共享的文件。
在终端中输入以下命令创建一个共享文件夹:```sudo mkdir /samba/share```然后,将共享文件夹的权限设置为可读写:sudo chmod 777 /samba/share```2.2 编辑Samba配置文件接下来,我们需要编辑Samba服务器的配置文件来定义共享。
在终端中输入以下命令来编辑Samba配置文件:```sudo nano /etc/samba/smb.conf```在配置文件的最后一行添加以下内容:```[share]comment = Shared Folderpath = /samba/sharebrowseable = yesguest ok = yesread only = nocreate mask = 0777directory mask = 0777解释一下上述内容:- `[share]`:共享文件夹的名称,您可以根据需要更改它。
- `comment`:对共享文件夹的简要描述。
- `path`:共享文件夹的路径。
- `browseable`:是否允许其他计算机在资源管理器中浏览共享文件夹。
- `guest ok`:是否允许匿名用户访问共享文件夹。
- `read only`:是否只读。
- `create mask`:新建文件的权限掩码。
- `directory mask`:新建目录的权限掩码。
1 samba服务器的简介在Windows中,我们都知道网络邻居,是Windows共享资源的方式。
Linux写Windows 互访与共享资源的方式是利用Samba服务,其实我觉得它更象一个软件。
Windows与Linux 通过Samba,可以相互共享资源,是互为服务器和客户端的关系。
比如当装有Windows操作系统的机器,向装有Linux系统的机器存取文件,那Windows应该是客户机,而Linux 则是服务器;如果Linux的机器向Windows访问和存限文件及使用Windows提供的打印服务,这时应该说Windows是服务器,而Linux是客户机。
2 建立windows与linux之间的通信2.1 查看当前windows的IP地址在运行下输入cmd,在dos模式下输入ipconfig则出现其中VMware network adapter vmnet1是我们主要用来进行虚拟机和windows进行通信的网络桥接。
记下当前的IPV4:192.168.137.1。
2.2 配置linux的ip地址(1)在虚拟机->设置—>选择host only。
(2)修改你linux的网络地址,要与windows的VMware network adapter vmnet1 的IP 处于同一个网络环境,即192.168.137.XX方式一:ifconfig eth0 192.168.1.18 netmask 255.255.255.0说明:该种方式可以使改变即时生效,重启后会恢复为原来的IP方式二:vi /etc/sysconfig/network-scripts/ifcfg-eth0说明:该种方式要重启后生效,且是永久的。
方法三:输入setup 第四项network configuration设置你的ip地址。
说明:该种方式要重启后生效,且是永久的。
(3)重启网络服务/etc/init.d/network restart(4)ping 192.168.137.1 检测你的linux与windows网络通信是否畅通。
4、安装Samba用户在主流的Linux版本(如Fedora和CentOS下)都可以采用如下命令进行安装:#yum -y install samba在创建配置文件以后(一般情况下,安装好Samba软件后,其配置文件为缺省状态),需要测试Samba 正确性。
首先确认客户和服务器之间可以互通。
如果网络不能工作,则Samba必然不能工作。
我们使用testparm程序。
testparm是一个简单的程序,用于检查/etc/smb.conf文件的内部正确性。
如果该文件报告没有问题,则可以确定smbd可以成功地加载该配置文件。
请注意:使用testparm并不能保证在配置文件中指定的服务可用或者工作正常。
这种测试只保证Samba可以读取和理解该配置文件。
testparm命令行如下:testparm [configfile [hostname hostip]]当smb.conf文件不在默认位置时,使用configfile可以(/etc/smb.conf)指明其位置。
可选参数hostnamehostip指示testparm查看该主机是否有权限访问smb.conf文件中提供的服务。
如果指定hostname,则必须还指定该主机的IP地址。
否则结果不可预知。
下面的例子演示了testparm运行的输出。
如果有某些错误,testparm程序会给出特定的错误消息报错://测试smb.conf文件配置是否正确//该测试只能测试smb.conf文件配置是否正确,并不能保证Samba服务器正常工作#testparm smb.conf gjspring 15.26.40.9Load smb config file from smb.confProcessing section “[home]”Processing section “[GONGsprn]”Load services OK .Allow connection from gjspring(15.26.40.9)to homes.Allow connection from gjspring(15.26.40.9)to GONGsprn.5、启动及关闭Samba服务器Samba服务器的启动有两种方式,一种是Linux终端命令行形式,一种是使用Linux提供的System Services方式。
samba服务器配置说明配置服务器密码:cnfoldcsamba相关命令grep -v '^#' smb.conf |grep -v '^;' |grep -v '^$' 确认是否把设定给批注了/etc/rc.d/init.d/smb restart 重启smb服务vi /etc/samba/smb.conf 修改samba配置文件smb.confifconfig eth0 169.254.235.182 netmask 255.255.0.0 up 临时修改IP地址和网关samba设定档:/etc/samba/smb.conf这个是samba最主要的设定档/etc/samba/lmhosts这个档案主要目的在对应NetBIOS name 与该主机名称的IP/etc/samba/smbpasswd 档案预设不存在是samba预设使用者密码对应表需要权限root且设定为600samba相关目录:/usr/share/doc/samba 这个目录包含了samba的所有相关技术手册/var/log/samba这个目录是samba预设的登录文件放置目录可以查看是否被入侵/usr/share/samba/codepages这个目录是放置各个语言的支持格式需要支持中文就靠codepage.950支持。
当然修改smb.conf是最直接的。
[global]workgroup : 工作群组:同一个局域网络内,要具有相同的workgroupnetbios name : 主机名称:这个主机名称就是netbios 的名字!请注意,如果你没有设定netbios 的话,预设的netbios 会以hostname 来替代!server string: 这个是主机的说明,随便写写没关系!security : 这个重要,是用来规定samba 主机的安全登入项目,有底下几种:share :不进行安全登入,亦即没有设定账号与密码user:设定主机的密码文件作为登入的验证档案,这与底下的smb passwd file有关domain :就是让您的samba 作为PDC 啰!log file : 登录文件放置的目录所在地[webpage]comment = my home page 这个是目录说明path =/var/www/htmlread only =no 是否只读public = yes 是否让所有可以登入的使用者看到这个项目writable =yes 是否可以写入读写权限值最后出现的那个设置值为主这里起作用的是 writable而不是read onlycreate mode =0664directory mode =0775 这两个mode都与权限有关samba变量%s :取代目前的设定项目值,所谓的『设定项目值』就是在里面的内容!举例来说:[homes]valid users=%s因为 validusers是允许的登入者,设定为%s 表示任何可登入的使用者都能够登入的意思~今天如果test 这个使用者登入之后,那个[homes] 就会自动的变成了[test]了!这样可以明白了吗?!%s 的用意就是在替换掉目前[] 里面的内容啦!%m :代表 client端的NetBIOS 主机名称喔!例如上面案例的登录档!%M :代表 client端的Internet 主机名称喔!就是HOSTNAME 。
SAMBA服务器实例讲解B Y F UN.SAMBA服务器¢Samba是一个网络服务器,Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的。
¢在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同样是客户机;Samba 也一样能行,比如一台Linux的机器,如果架设了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba服务器;我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。
在Linux中就是通过Samba 向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用。
Samba的核心Samba的核心是两个守护进程smbd和nmbd,它们分别监听139 TCP端口并处理到来的SMB数据包和监听137和138 UDP端口,并使其他主机能够浏览Linux服务器。
Samba工作原理Samba服务器安装rpm –ivh samba-3.0.10-1.4E.i386.rpmSamba服务启动与停止命令行方式使用以下命令来启动Samba服务:#service smb start使用以下命令来停止Samba服务:#service smb stop输入以下命令来重启Samba服务:#service smb restartSamba服务主配置文件smb.conf文件是配置Samba的核心,主要设置Samba服务器的权限设置,以及共享的目录、打印机和机器所属的工作组等。
配置文件smb.conf 的语法比较明确。
该配置文件被分成许多个段,且每一个段的名字用一个方括号括([])起来。
Samba服务器配置和访问Samba共享Samba是一款开源软件,可以实现基于SMB/CIFS协议的文件和打印机共享。
它可以在不同的操作系统之间共享数据,例如在Linux和Windows之间。
在本文中,我们将学习如何配置Samba服务器并访问Samba共享。
配置Samba服务器首先,我们需要安装Samba软件包。
对于基于Debian或Ubuntu的Linux系统,可以使用以下命令进行安装:sudo apt-get updatesudo apt-get install samba安装完成后,我们需要编辑Samba的配置文件smb.conf。
该文件通常位于/etc/samba目录下。
我们可以使用vim或nano等文本编辑器来编辑此文件。
以下是一些重要的配置选项:全局设置[global]workgroup = WORKGROUP # 工作组名称server string = Samba Server %v # 服务器描述信息netbios name = ubuntu # NetBIOS名称security = user # 认证方式map to guest = bad user # 没有Samba帐户时模拟来宾帐户dns proxy = no # 是否启用DNS代理共享设置以下是一个名为smbshare的示例共享,共享路径是/home/smbshare。
[smbshare]path = /home/smbshare # 共享路径valid users = @smbgrp # 允许访问的Samba组guest ok = no # 是否允许来宾访问writable = yes # 是否可写用户设置可以使用pdbedit命令添加Samba用户。
sudo pdbedit -a username替换username为要添加的用户名。
启动Samba服务在完成配置之后,我们需要启动Samba服务,并在防火墙中打开Samba端口(TCP 137-139和TCP / UDP 445)。
配置samba服务器以前我们在windows上共享文件的话,只需右击要共享的文件夹然后选择共享相关的选项设置即可。
然而如何实现windows和linux的文件共享呢?这就涉及到了samba服务了,这个软件配置起来也不难,使用也非常简单。
【samba配置文件smb.conf】一般你装系统的时候会默认安装samba,如果没有安装,只需要运行这个命令安装(CentOS):“yum install -y samba samba-client”Samba的配置文件为/etc/samba/smb.conf,通过修改这个配置文件来完成我们的各种需求。
打开这个配置文件,你会发现很多内容都用”#”或者”;”注视掉了。
先看一下未被注释掉的部分:[global]workgroup = MYGROUPserver string = Samba Server Version %vsecurity = userpassdb backend = tdbsamload printers = yescups options = raw[homes]comment = Home Directoriesbrowseable = nowritable = yes[printers]comment = All Printerspath = /var/spool/sambabrowseable = noguest ok = nowritable = noprintable = yes主要有以上三个部分:[global], [homes], [printers]。
[global]定义全局的配置,”workgroup”用来定义工作组,相信如果你安装过windows的系统,你会对这个workgroup不陌生。
一般情况下,需要我们把这里的”MYGROUP”改成”WORKGROUP”(windows默认的工作组名字)。
security = user #这里指定samba的安全等级。
配置完成截图:(一)Samba服务的安装与启动1.安装Samba相关包(也可以手动安装)[root@localhost ~]# cd /media/CDROM/Server[root@localhost Server]# rpm –ivh samba-3.0.23c-2.i386.rpm[root@localhost Server]# rpm –ivh samba-client-3.0.23c-2.i386.rpm [root@localhost Server]# rpm –ivh samba-common-3.0.23c-2.i386.rpm [root@localhost Server]# rpm –ivh xinetd-2.3.14-10.el5.i386.rpm [root@localhost Server]# rpm –ivh samba-swat-3.0.23c-2.i386.rpm 2.查看安装的软件包中与samba相关的包[root@localhost jsl]# rpm -qa|grep sambasamba-client-3.0.23c-2samba-common-3.0.23c-2samba-3.0.23c-2samba-swat-3.0.23c-23.查看用户的配置信息。
[root@localhost jsl]# egrep -v "^#|^;" /etc/samba/smb.conf [global]workgroup = MYGROUPserver string = Samba Serversecurity = userload printers = yescups options = rawlog file = /var/log/samba/%m.logmax log size = 50dns proxy = no[homes]comment = Home Directoriesbrowseable = nowritable = yes[printers]comment = All Printerspath = /usr/spool/sambabrowseable = noguest ok = nowritable = noprintable = yes//使用testparm命令检查配置文件,显示用户的配置[jsl@localhost ~]$ testparmLoad smb config files from /etc/samba/smb.confProcessing section "[homes]"Processing section "[printers]"Loaded services file OK.Server role: ROLE_STANDALONEPress enter to see a dump of your service definitions[global]workgroup = MYGROUPserver string = Samba Serverlog file = /var/log/samba/%m.logmax log size = 50dns proxy = Nocups options = raw[homes]comment = Home Directoriesread only = Nobrowseable = No[printers]comment = All Printerspath = /usr/spool/sambaprintable = Yesbrowseable = No4用root用户启动samba服务[jsl@localhost ~]$ su -Password:[root@localhost ~]# service smb startStarting SMB services: [ OK ] Starting NMB services: [ OK ] 5.查看samba服务相关进程[root@localhost ~]# pstree|grep mbd|-nmbd|-smbd---smbd[root@localhost ~]# netstat -lunt|egrep '137|138|139|445'tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:137 0.0.0.0:* udp 0 0 0.0.0.0:138 0.0.0.0:* [root@localhost ~]# chkconfig smb on(二)samba服务的用户管理1.root用户可以向samba服务添加用户lh[root@localhost bin]# smbpasswd -a jslNew SMB password:Retype new SMB password:Added user jsl.2.查看/etc/samba/已有的smb用户[root@localhost /]# cd /etc/samba[root@localhost samba]# cat smbpasswdlh:504:7E17613897BD6C8EAAD3B435B51404EE:7885C9292C22DF801E975766924A5BD4:[ U ]:LCT-51BD2CF4:3.用户名jsl登录IP地址为127.0.0.1上的smb服务器4.为jsl用户添加口令[root@localhost samba]# smbpasswd jslNew SMB password:Retype new SMB password:5.添加用户stu并设置口令[root@localhost samba]# useradd stu[root@localhost samba]# smbpasswd -a stuNew SMB password:Retype new SMB password:Added user stu.6.查看/etc/samba/smbpasswd文件,确认是否成功添加stu[root@localhost samba]# cat smbpasswdlh:504:7E17613897BD6C8EAAD3B435B51404EE:7885C9292C22DF801E975766924A5BD4:[ U ]:LCT-51BD2F6F:stu:505:7E17613897BD6C8EAAD3B435B51404EE:7885C9292C22DF801E975766924A5BD4:[ U ]:LCT-51BD2FB0:(三)为所有用户配置samba的只读共享服务1.备份/etc/samba/ smb.conf文件为[root@localhost bin]# cd /etc/samba[root@localhost samba]# lslmhosts secrets.tdb smb.conf smbpasswd smbusers[root@localhost samba]# cp smb.conf{,.org}cp: overwrite `'? y[root@localhost samba]# lslmhosts secrets.tdb smb.conf smbpasswd smbu2.创建/var/samba/resource目录和hello.txt文档[root@localhost ~]# mkdir -p /var/samba/resource[root@localhost ~]# cd /var/samba/resource[root@localhost resource]# echo "You are welcome">hello.txt[root@localhost resource]# lshello.txt[root@localhost resource]# cat hello.txtYou are welcome[root@localhost resource]# cd /etc/samba[root@localhost samba]# lslmhosts secrets.tdb smb.conf smbpasswd smbusers3.打开/etc/samba/ smb.conf文件,添加Resource节,重启并查看连接状态[root@localhost samba]# vi smb.conf[root@localhost samba]# service smb restartShutting down SMB services: [ OK ] Shutting down NMB services: [ OK ] Starting SMB services: [ OK ] Starting NMB services: [ OK ]4.以stu连接本机127.0.0.1上共享的resource共享的资源(1)使用smbclient命令查看并访问共享[root@localhost bin]# smbclient //127.0.0.1/Resource -U stuPassword:Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.23c-2]smb: \> lsNT_STA TUS_ACCESS_DENIED listing \*61880 blocks of size 65536. 27536 blocks available//使用quit命令退出连接smb: \> quit// 查看SELinux设置[root@localhost samba]# getenforceEnforcing[root@localhost samba]# setenforce 0重新连接[root@localhost samba]# smbclient //127.0.0.1/Resource -U stuPassword:Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.23c-2]查看smb: \> ls. D 0 Sat Jun 15 20:33:14 2013.. D 0 Sat Jun 15 20:32:31 2013hello.txt 16 Wed Jun 19 22:48:54 201361880 blocks of size 65536. 27536 blocks available//下载hello.txt到登录上samba服务前的目录smb: \> get hello.txtgetting file \hello.txt of size 16 as hello.txt (15.6 kb/s) (average 15.6 kb/s)smb: \> ls. D 0 Sat Jun 15 20:33:14 2013.. D 0 Sat Jun 15 20:32:31 2013hello.txt 16 Wed Jun 19 22:48:54 201361880 blocks of size 65536. 27536 blocks available创建目录1smb: \> mkdir 1NT_STA TUS_NETWORK_ACCESS_DENIED making remote directory \1(只有读权限,没有写权限)smb: \> q查看hello.txt的内容[root@localhost samba]# cat hello.txtYou are welcome手动共享samba共享[root@localhost resource]#mount.cifs //127.0.0.1/resource /tmp -o user=jslPassword:[root@localhost resource]# lshello.txt在挂载目录中查看hello.txt[root@localhost resource]#cat hello.txtyou are welcome!//将hello.txt 复制到/home/lh/目录中,并查看[root@localhost samba]# cp hello.txt /home/jsl[root@localhost samba]# cd /home/jsl[root@localhost jsl]# cat hello.txtYou are welcome(四)为指定的单个用户配置读写共享1.增加[jsldir][root@localhost samba]# mkdir jsl[root@localhost samba]# ls -ltotal 40drwxr-sr-x 2 root root 4096 Jun 20 03:00 jsldrwxr-xr-x 2 root root 4096 Jun 15 20:33 resource-rw-r--r-- 1 root root 159 Jun 20 03:00 smb.confdrwxrws--- 2 stu stu 4096 Jun 20 02:37 studrwxrwxr-x+ 4 root root 4096 Jun 20 02:12 stu1118//更改目录lh的所属用户和所属组,保证用户lh对其就有写权限[root@localhost samba]# chown jsl.jsl jsl[root@localhost samba]# ls -ltotal 40drwxr-sr-x 2 jsl jsl 4096 Jun 20 03:00 jsldrwxr-xr-x 2 root root 4096 Jun 15 20:33 resource-rw-r--r-- 1 root root 159 Jun 20 03:00 smb.confdrwxrws--- 2 stu stu 4096 Jun 20 02:37 studrwxrwxr-x+ 4 root root 4096 Jun 20 02:12 stu1118重启并访问//127.7.0.1/lh资源[root@infoschool resource]# service smb restart[root@localhost samba]# service smb restartShutting down SMB services: [ OK ] Shutting down NMB services: [ OK ] Starting SMB services: [ OK ] Starting NMB services: [ OK ] [root@localhost samba]# smbclient //127.0.0.1/jsldir -U lhPassword:Anonymous login successfulDomain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.23c-2](五)为指定的多个用户配置读写共享1.打开/etc/samba /smb.conf文件,添加[stu1118dir]节[root@localhost samba]# vi smb.conf//创建目录/var/samba/ stu1118[root@localhost samba]# mkdir stu1118[root@localhost samba]# lsresource stu1118//创建本地用户stu1105 和stu1106[root@localhost samba]# useradd stu1105[root@localhost samba]# useradd stu1106//将本地用户stu1105 和stu1106添加为samba服务用户[root@localhost samba]# smbpasswd -a stu1105New SMB password:Retype new SMB password:Added user stu1105.[root@localhost samba]# smbpasswd -a stu1106New SMB password:Retype new SMB password:Added user stu1106.//设置用户stu1105 和stu1106对stu1156目录中的文件和子目录具有读写执行权限[root@localhost samba]# setfacl -R -m d:u:stu1105:rwx /var/samba/stu1118[root@localhost samba]# setfacl -R -m d:u:stu1106:rwx /var/samba/stu1118[root@localhost samba]# setfacl -R -m u:stu1105:rwx /var/samba/stu1118[root@localhost samba]# setfacl -R -m u:stu1106:rwx /var/samba/stu1118//重启samba服务[root@localhost samba]# service smb restart//分别使用用户stu1105 和stu1106访问//127.0.0.1/stu1118dir资源,在该目录下创建目录11和目录22[root@localhost samba]# smbclient //127.0.0.1/stu1118dir -U stu1105Password:Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.23c-2]smb: \> ls. D 0 Thu Jun 20 02:05:16 2013.. D 0 Thu Jun 20 02:05:16 201361880 blocks of size 65536. 27536 blocks availablesmb: \> mkdir 11smb: \> ls. D 0 Thu Jun 20 02:11:19 2013.. D 0 Thu Jun 20 02:05:16 201311 D 0 Thu Jun 20 02:11:19 201361880 blocks of size 65536. 27536 blocks availablesmb: \> q[root@localhost samba]# smbclient //127.0.0.1/stu1118dir -U stu1106Password:Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.23c-2]smb: \> ls. D 0 Thu Jun 20 02:11:19 2013.. D 0 Thu Jun 20 02:05:16 201311 D 0 Thu Jun 20 02:11:19 201361880 blocks of size 65536. 27536 blocks availablesmb: \> mkdir 22smb: \> ls. D 0 Thu Jun 20 02:12:11 2013.. D 0 Thu Jun 20 02:05:16 201322 D 0 Thu Jun 20 02:12:11 201311 D 0 Thu Jun 20 02:11:19 201361880 blocks of size 65536. 27535 blocks availablesmb: \> q(六)为指定的组配置读写权限1.//打开/etc/samba /smb.conf文件,添加[studir][root@localhost samba]# vi smb.conf2.创建组stu,将用户stu1105,stu1106添加为stu成员[root@localhost resource]# groupadd stu[root@localhost samba]# usermod -G stu stu1105[root@localhost samba]# usermod -G stu stu11063.创建目录/var/samba/stu,修改所属组为stu,对stu组开放读写执行权限[root@infoschool resource]# mkdir -p /var/samba/stu[root@infoschool resource]# chown .stu /var/samba/stu[root@infoschool resource]# chmod 2770 /var/samba/stu4.重启samba[root@infoschool resource]# service smb restart5.分别使用stu1105,stu1106访问//127.0.0.1/studir资源,并创建1105目录,1106目录[root@localhost samba]# smbclient //127.0.0.1/studir -U stu1105Password:Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.23c-2]smb: \> ls. D 0 Fri Jun 21 06:58:30 2013 .. D 0 Fri Jun 21 05:19:07 201361880 blocks of size 65536. 27473 blocks availablesmb: \> mkdir 1105smb: \> ls. D 0 Sat Jun 22 00:30:49 2013 .. D 0 Fri Jun 21 05:19:07 2013 1105 D 0 Sat Jun 22 00:30:49 201361880 blocks of size 65536. 27473 blocks availablesmb: \> q[root@localhost samba]# smbclient //127.0.0.1/studir -U stu1106Password:Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.23c-2]smb: \> ls. D 0 Sat Jun 22 00:30:49 2013 .. D 0 Fri Jun 21 05:19:07 2013 1105 D 0 Sat Jun 22 00:30:49 201361880 blocks of size 65536. 27473 blocks availablesmb: \> mkdir 1106smb: \> ls. D 0 Sat Jun 22 00:31:16 2013 .. D 0 Fri Jun 21 05:19:07 2013 1106 D 0 Sat Jun 22 00:31:16 2013 1105 D 0 Sat Jun 22 00:30:49 201361880 blocks of size 65536. 27473 blocks available。
Samba服务器搭建与配置Samba服务简介Samba的起源:对于windows的⽹上邻居来讲,共享⽂件的⽅式⽤的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间⽤的是NFS协议。
但是Linux和Windows之间是不能共享的,所以澳⼤利亚国⽴⼤学的Andrew Tridgell,决定开发⼀款软件,这款软件就是为了实现不同的系统之间互相共享⽂件的,于是⼀款叫做SMB的软件横空出世了,但是这个名字不能被注册成商标,因为已经有SMB协议了,于是作者给名字上加了两个A,就成了我们即将使⽤的功能强的⽂件共享服务器: SAMBA。
什么是Samba:Samba是⼀个能让Linux系统应⽤Microsoft⽹络通讯协议的软件,⽽SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的⽹络通讯协议,后来Samba将SMB通信协议应⽤到了Linux系统上,就形成了现在的Samba软件。
后来微软⼜把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet ⽂件系统,并且加⼊了许多新的功能,这样⼀来,使得Samba具有了更强⼤的功能。
Samba的功能:Samba最⼤的功能就是可以⽤于Linux与windows系统直接的⽂件共享和打印共享,Samba既可以⽤于windows与Linux之间的⽂件共享,也可以⽤于Linux与Linux之间的资源共享,由于NFS(⽹络⽂件系统)可以很好的完成Linux与Linux之间的数据共享,因⽽ Samba较多的⽤在了Linux与windows之间的数据共享上⾯。
Samba的⼯作原理:SMB是基于客户机/服务器型的协议,因⽽⼀台Samba服务器既可以充当⽂件共享服务器,也可以充当⼀个Samba的客户端,例如,⼀台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源⽂件,同时,Samba服务器也可以访问⽹络中其它windows系统或者Linux系统共享出来的⽂件。
配置Samba 服务器默认的配置文件(/etc/samba/smb.conf)允许用户作为Samba 共享来查看他们的Red Hat Linux 主目录。
它还把为Red Hat Linux 配置的打印机作为Samba 共享打印机来共享。
换一句话说,你可以在你的Red Hat Linux 系统上连接打印机,然后从网络上的Windows 机器来打印。
1. 图形化配置要使用图形化界面来配置Samba,使用Samba 服务器配置工具。
要使用命令行来配置.Samba 服务器配置工具是用来管理Samba 共享、用户、以及基本服务器设置的图形化界面。
它修改/etc/samba/目录中的配置文件。
没有使用该程序进行的改变都会被保留。
要使用该程序,你必须在运行X 窗口系统,具备根特权,并且安装了redhat-config-samba RPM 软件包。
要从桌面启动Samba 服务器配置工具,点击面板上的「主菜单」=> 「系统设置」=> 「服务器设置」=> 「Samba 服务器」,或在shell 提示(如XTerm 或GNOME 终端)下键入redhat-config-samba命令。
1. Samba 服务器配置工具注记1.1. 配置服务器设置配置Samba 服务器的第一步是配置服务器的基本设置和几个安全选项。
启动了应用程序后,选择「首选项」=> 「服务器设置」。
「基本」活页标签如下图所示。
2. 配置基本服务器设置在「基本」标签上,指定计算机应在的工作组以及对计算机的简短描述。
它们与smb.conf中的workgroup和server string选项相对应。
3. 配置安全服务器设置「安全」标签包含以下选项:「验证模式」—它和security选项相对应。
选择以下验证模式中的一种。
o「域」— Samba 服务器依赖于Windows NT 主要或备份域控制器来校验用户。
服务器把用户名和口令传递给控制器,然后等待它们被返回。
配置samba服务器
用以下命令查看samba的安装情况。
[root@localhost linux-2.6.18_pro500]# rpm -qa |grep samba
samba-common-3.4.7-58.fc12.i686
samba-3.4.7-58.fc12.i686
samba-winbind-clients-3.4.2-47.fc12.i686
samba-client-3.4.7-58.fc12.i686
samba服务器安装完成后,几个重要的文件分布如下:
/etc/pam.d/samba:samba的PAM认证配置。
/etc/rc.d/init.d/smb:samba的启动脚本。
/etc/samba/smbusers:samba服务器用户与操作系统用户映射文件。
/usr/bin/mksmbpasswd.sh:创建samba用户的脚本。
/usr/bin/smbcontrol:控制samba服务器运行的工具。
/usr/bin/smbstatus:列出samba服务器的连接状态。
/usr/sbin/nmbd:samba服务器的nmbd进程的命令文件。
/usr/sbin/smbd:samba服务器的smbd进程的命令文件。
用以下命令启动samba服务器。
[root@localhost linux-2.6.18_pro500]# /etc/rc.d/init.d/smb start
启动SMB 服务:[确定]
[root@localhost linux-2.6.18_pro500]# /etc/rc.d/init.d/nmb start
启动NMB 服务:[确定]
[root@localhost linux-2.6.18_pro500]# ps -eaf |grep smbd
root 17528 1 0 20:51 ? 00:00:00 smbd -D
root 17530 17528 0 20:51 ? 00:00:00 smbd -D
root 17540 1925 0 20:51 pts/0 00:00:00 grep smbd
[root@localhost linux-2.6.18_pro500]# ps -eaf |grep nmbd
root 17537 1 0 20:51 ? 00:00:00 nmbd -D
root 17542 1925 0 20:52 pts/0 00:00:00 grep nmbd
默认时,samba服务器启动了两个smbd进程和一个bmbd进程,均以root用户的身份运行。
其中,smbd进程主要负责处理对文件和打印机的服务请求;而nmbd进程主要负责处理Netbios名称服务并提供网络浏览功能。
可以用一下命令查看以下这两个进程监听的网络端口。
[root@localhost linux-2.6.18_pro500]# netstat -anp|grep smbd
tcp 0 0 :::139 :::* LISTEN 17657/smbd tcp 0 0 :::445 :::* LISTEN 17657/smbd tcp 0 0 ::ffff:192.168.1.101:445 ::ffff:192.168.1.106:4429 ESTABLISHED 17693/smbd
unix 2 [ ] DGRAM 42228 17657/smbd
[root@localhost linux-2.6.18_pro500]# netstat -anp|grep nmbd
udp 0 0 192.168.1.101:137 0.0.0.0:* 17674/nmbd udp 0 0 0.0.0.0:137 0.0.0.0:* 17674/nmbd udp 0 0 192.168.1.101:138 0.0.0.0:* 17674/nmbd udp 0 0 0.0.0.0:138 0.0.0.0:* 17674/nmbd unix 2 [ ] DGRAM 42258 17674/nmbd
[root@localhost linux-2.6.18_pro500]#
以上过程完成后,可以在windows客户端测试一下samba服务器是否正常工作,具体方法是在ie浏览器的地址栏输入“\\192.168.1.101”。
其中,ip地址是服务器的ip地址。
正常情况下,将会出现如下图对话框。
注意:默认情况下,samba并不使用操作系统的账号进行认证,而是使用他自己创建的账号,具体创建方法如下。
使用图形界面配置samba服务器
[root@localhost linux-2.6.18_pro500]# rpm -qa|grep system-config-samba
[root@localhost linux-2.6.18_pro500]# yum install system-config-samba
->管理->samba
Windows下。