您的位置:首页 > 运维架构 > Linux

LINUX-SAMBA服务配置

2015-01-13 10:53 337 查看
SAMBA服务的配置。SAMBA简介NFS只能实现在linux和unix系统之间实现文件共享,而CIFS(公共因特网文件系统)只能实现windows系统之间的文件共享。那么linux或unix系统怎么和windows系统之间共享文件呢?这就要用到SAMBA服务器了,SAMBA服务器能真正实现在不同主机、不同系统之间的文件共享。 Samba核心有两守护进程:smbd:监听139端口,实现主机之间的文件和打印机的共享。nmbd:监听137,138端口,实现主机之间可以利用NetBios名互相访问。SAMBA安装配置IP地址:[root@rhel3 ~]# ifconfig eth0 192.168.100.30 netmask 255.255.255.0安装软件:[root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-common-3.0.33-3.7.el5.i386.rpm提供samba的配置文件和语法检验工具,服务器和客户端都要安装。[root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-client-3.0.33-3.7.el5.i386.rpm客户端软件。[root@rhel3 ~]# rpm -ivh /misc/cd/Server/perl-Convert-ASN1-0.20-1.1.noarch.rpm //在安装samba服务器软件时要先安装此软件。[root@rhel3 ~]# rpm -ivh /misc/cd/Server/perl-Convert-ASN1-0.20-1.1.noarch.rpm //安装samba前要装上这个软件。[root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-3.0.33-3.7.el5.i386.rpm服务器端软件。[root@rhel3 ~]# rpm -ivh /misc/cd/Server/xinetd-2.3.14-10.el5.i386.rpm安装下面的网页配置软件时要先把xinetd软件先装上。[root@rhel3 ~]# rpm -ivh /misc/cd/Server/samba-swat-3.0.33-3.7.el5.i386.rpmsamba的WEB配置。这个最后安装。 SAMBA服务配置文件详解。[global] # ----------------------- Network Related Options ------------------------- workgroup = MYGROUP设置工作组名称。 server string = Samba Server Version %v设置服务器描述。; netbios name = MYSERVER设置NetBios名称。; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24后面可以跟接口或IP地址,如果服务器不想用默认的IP地址时或想用多个IP地址时设置 此项。; hosts allow = 127. 192.168.12. 192.168.13.设置允许访问主机的IP地址。默认注释,表示允许所有主机访问。# --------------------------- Logging Options -----------------------------; log file = /var/log/samba/%m.log设置日志文件的存放位置,服务器会每个用户保存一个日志文件,%m表示使用用户访问的NetBios名来命令日志文件。; max log size = 50指定日志文件的大小,单位(KB)# ----------------------- Standalone Server Options ------------------------ security = share设置Samba共享安全级别:share: 共享级别,服务器不对客户机进行身份验证。user: 用户级别,服务器对客户机进行身份验证。server: 服务器级别,Samba服务器必须通过另一台服务器对客户机进行身份验证。如果设置为此值,需另加一行:password Server = IP才行。domain: 域级别,Samba服务器要通过windows server的域控制器对客户机进行身份验证,同样,如果设置为此值,需另加一行:password Server = IP才行。 passdb backend = tdbsam指定Samba服务器对用户帐户和密码的管理方式。一般默认即可。# ----------------------- Browser Control Options ----------------------------; local master = no如果不想Samba服务器成为局域网内的主浏览服务器,此项选择no.; os level = 33设置刻服务器在局域网内访问的优先级。; preferred master = yes使Samba启动时选择一个本地浏览器,并给它获得选择较高的机会。#----------------------------- Name Resolution ------------------------------- ; wins support = yes是否支持WINS服务器,Samba可以成为WINS服务器,也可以成为WINS客户端,但不能两者兼得。; wins server = w.x.y.zWINS服务器地址。; wins proxy = yes表示一个非WINS用户通知Samba响应名称解析,本身不为客户端提供查询。; dns proxy = yes同上。# --------------------------- Printing Options ----------------------------- load printers = yes设置是否允许打印机共享,并加裁打印机。 cups options = raw指定打印机使用的方式。; printcap name = /etc/printcap设置打印机配置文件的位置。; printcap name = lpstat; printing = cups设置打印系统类型,一般默认。只有在打印系统不是标准系统时才指定。 #============================ Share Definitions ================ [homes] comment = Home Directories描述信息。 browseable = no设置其他用户是否可以浏览此共享文件。 writable = yes设置此用户是否可写。 valid users = %S 设置可访问的用户和组。多个用户用逗号分开,指定组时要在组名前加@。 invalid users = 用户名/组名设置不能访问的用户和组,用法同上。 Samba定义的变量: %S 当前服务器名。%P 当前服务器的根目录。%u 当前服务器的用户名。%g 当前用户所在的主工作组。%U 当前对话的用户名。%G 当前对话的用户我主工作组。%H 当前服务器用户的home目录。%v Samba服务器的版本号。%h 运行Samba服务器的主机名。%m 客户机的NetBios名。%L 服务器的NetBios名。%M 客户机的主机名。%N NIS服务器名。%p NIS服务器的Home目录。%R 所采用的服务器等级。%d 当前服务进程的ID。%a 客户机和结构。%I 客户机的IP。%T 当前日期和时间。SAMBA基于共享的简单配置。编辑配置文件:[root@rhel3 ~]# vi /etc/samba/smb.conf# ----------------------- Standalone Server Options ------------------------ security = share //不需要用户名和密码的共享模式。 passdb backend = tdbsam 下面是共享目录和权限的设置:(在最后添加) [share] comment = linux share path = /rhel3 public = yes writable = yes printable = no write list = +staff如果共享目录是复制例子的,别忘了把前面的;去掉哦!如果还不能访问那就是防火墙在捣乱了。 [root@rhel3 ~]# mkdir /rhel3[root@rhel3 ~]# touch /rhel3/linux.txt[root@rhel3 ~]# vi /rhel3/linux.txtThis is linux server!查看一下文件夹的权限:[root@rhel3 ~]# ll /drwxr-xr-x 2 root root 4096 Jun 8 21:56 rhel3因为在共享时设置的是可写的,而在这里除了root用户其他人是没有权限写入,所有还是不能写入,修改一下:[root@rhel3 ~]# chmod 777 /rhel3[root@rhel3 ~]# ll /drwxrwxrwx 2 root root 4096 Jun 8 21:56 rhel3权限已经修改完成。[root@rhel3 ~]# service smb restart现在来测试一下:windows系统在运行里输入:


linux系统:[root@rhel2 ~]# mount //192.168.100.30/share /mnt //mount 后面跟主机名或IP地址,后面是共享名。最后跟挂载点。Password: //这里不需要输入密码。[root@rhel2 ~]# ls /mntliunx.txt 使用smbclient:[root@rhel2 ~]# smbclient //192.168.100.30/share //smbclient后面跟共享主机名或IP地址再加上共享名。Password:Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]Server not using user level security and no password supplied.从这里也可以看到服务器是没有使用身份验证的。smb: \> help? altname archive blocksize cancel case_sensitive cd chmod chown close del dir du exit get getfacl hardlink help history lcd link lock lowercase ls mask md mget mkdir more mput newer open posix posix_open posix_mkdir posix_rmdir posix_unlink print prompt put pwd q queue quit rd recurse reget rename reput rm rmdir showacls setmode stat symlink tar tarmode translate unlock volume vuid wdel logon listconnect showconnect ! 这里显示的是一些客户端使用的命令。如:smb: \> dir . D 0 Wed Jun 9 14:42:23 2010 .. D 0 Wed Jun 9 14:41:23 2010 liunx.txt 22 Wed Jun 9 14:42:23 2010 61880 blocks of size 65536. 25838 blocks available 因为有写的权限,所以写个文件试试:smb: \> mkdir rhel2smb: \> dir . D 0 Wed Jun 9 15:43:18 2010 .. D 0 Wed Jun 9 14:41:23 2010 liunx.txt 22 Wed Jun 9 14:42:23 2010 rhel2 D 0 Wed Jun 9 15:43:18 2010 61880 blocks of size 65536. 25838 blocks available 没问题,可以写入。下载文件:smb: \> get liunx.txt /share.txt //get后面第一个参数是远程服务器的文件名,第二个参数是保存到本地的文件名。getting file \liunx.txt of size 22 as /share.txt (0.2 kb/s) (average 0.2 kb/s)smb: \> q //退出[root@rhel2 ~]# ls /bin dev lib misc opt sbin srv usrboot etc lost+found mnt proc selinux sys varchenbin home media net root share.txt tmp [root@rhel2 ~]# cat /share.txtThis is linux server!没问题,关于每个命令的使用这里就不一一演示,详细说明可以使用帮助。命令如下:[root@rhel2 ~]# man smbclient SAMBA基于用户的简单配置。接着上面的做:修改配置文件:# ----------------------- Standalone Server Options ------------------------ security = user共享目录也就不改了。因为是基于用户的共享,所以这里需要建立用户。 [root@rhel3 ~]# useradd samba //首先要建立本地用户。[root@rhel3 ~]# passwd samba //为本地用户创建密码。(如果只是添加Samba用户,这步可以省略。)Changing password for user samba.New UNIX password:BAD PASSWORD: it is too shortRetype new UNIX password:passwd: all authentication tokens updated successfully.[root@rhel3 ~]# smbpasswd -a samba //创建Samba用户。创建的用户必须也存在于本地用户数据库中。New SMB password:Retype new SMB password:Added user samba. [root@rhel3 ~]# service smb restart 可以测试一下samba的配置文件。如下:

测试:在windows系统下:因为连接过了,现在连接的话系统不提示输入用户名和密码了,清除一下:在命令提示符下操作:D:\Users\chenbin>net use //查看远程连接。会记录新的网络连接。 状态 本地 远程 网络 -------------------------------------------------------------------------------OK \\192.168.100.30\IPC$ Microsoft Windows NetworkOK \\RHEL3\IPC$ Microsoft Windows Network命令成功完成。 D:\Users\chenbin>net use \\192.168.100.30\IPC$ /delete\\192.168.100.30\IPC$ 已经删除。D:\Users\chenbin>net use \\RHEL3\IPC$ /delete\\RHEL3\IPC$ 已经删除。再连接:

打开后如下图:

出现输入用户名和密码对话框,输入后确定。

出现了共享文件夹。samba目录是一个用户目录,后面再说明。关于权限问题这里这不测试了。在windows下为了方便,可以使用网络映射,在本地映射一个网络磁盘,这样只要访问这个磁盘就可以访问共享文件了,也省去了每次输入地址,用户名和密码。如下:

接下来选择一个共享目录:

完成后,在资源管理器里会多出一个Z盘,双击这个磁盘就能访问共享文件了,很方便,如果不想用了,只要在这个磁盘上右击-属性-断开。 接下来在linux系统下测试:列出共享目录:

连接:

关于用法就不演示了。本文出自 “放飞梦想” 博客,请务必保留此出处/article/4227553.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: