怎样在Linux系统搭建Samba共享服务器
Linux系统默认已经安装了Samba,但是没有安装Samba服务:
1,先查看安装情况:rpm -qa|grep samba
根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包。
我的安装情况是:
使用命令:mount /dev/cdrom1 /mnt/cdrom1
通过mount把cdrom1挂载到系统临时目录/mnt/cdrom1,在Packets包下面使用命令:rpm -ivh
sambarpm包安装。
切换到放置rpm文件的目录
[root@smb_server root]# rpm
-ivh samba-common-369-151el6x86_64
这是Samba 必备的程序,必须安装
[root@smb_server root]# rpm
-ivh samba-369-151el6x86_64
安装Samba 服务器程序,可以使我Windows 主机访问Samba 服务器共享的资源。
如果需要使Linux 主机访问Windows 主机上的共享资源,则还应该安装Samba 客户端程序。
[root@smb_server root]# rpm
-ivh samba-client-369-151el6x86_64
2,安装samba的rpm包完成后
samba-common-369-151el6x86_64
//主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-369-151el6x86_64
//客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-369-151el6x86_64
//基于https协议的samba服务器web配置界面
samba-369-151el6x86_64
你使用的是什么发行版?是centos么?如果是的话就跟随以下我的方法来设置吧。
samba这款软件应用确实非常广泛,同时也为linux和windows之间文件传输提供了一个非常轻松的方式,同时它的安装方法也是非常简单的,我的方法适用于centos68及其以前的系统。
1首先,看看系统里面有没有装samba,这是最关键的一步,不然接下来可能会出问题。默认情况下,centos系统在默认安装中应该已经安装了Samba服务包的一部分 。
rpm -qa | grep samba //默认情况下可以查询到两个已经存在的包:samba-client-3033-37el5
samba-common-3033-37el5
2上网找找samba主rpm包。
不过我这里先前就已经找过一个包,在服务器上执行wget下载就好了。
[root@chunming-pc`]# wget ftp://195220108108/linux/fedora-secondary/releases/23/Everything/s390/os/Packages/s/samba-430-01rc4fc23s390rpm然后下载完成之后使用以下命令安装即可(例如我这里下载的是samba-430-01rc4fc23s390rpm)
[root@chunming-pc`]# rpm -ivh samba-430-01rc4fc23s390rpm然后安装完成之后就是需要修改配置文件了。
找到/etc/samba/smbconf,打开它,然后把这段写入smbconf中
[global]workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share
[linuxsir]
path = /opt/linuxsir
writeable = yes
browseable = yes
guest ok = yes
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[linuxsir] 这个在Windows中显示出来是共享的目录;
那么path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,在工作组下能看到共享文件夹。如果不想显示出来,那就设置为 browseable=no,guest ok 匿名用户以guest身份是登录;
之后就是需要建立相应目录并授权:
[root@chunming-pc ~]# mkdir -p /opt/linuxsir创建之后,会发现所属用户和组是root,只需要chown 将对应的目录所属改成samba这个软件的用户就可以了。
然后到现在配置就完成了,把服务起来iptables开放端口就可以给外网访问了。
在Linux平台,以二进制程序包和源代码两种方式安装samba服务器,并整理相关配置文件,并给出基本应用操作。步骤:1机器上已经存在的samba服务,版本为3021b,这是通过使用rpm命令得到的。如下:# rpm –qa | grep sambaSamba-client-3021b-2Samba-common-3021b-22将上面的samba-client-3021b-2卸载。使用命令:rpm –e samba-client-3021b-2。3用rpm –e samba-common-3021b-2来卸载common,因为依赖关系,不成功。4下载二进制程序包:samba-common-3023c-4i386rpm,samba-client-3023c-4i386rpm,samba-doc-3023c-4i386rpm,samba -3023c-4i386rpm。5安装这些程序包。分别使用命令:rpm –Uvh samba-common-3023c-4i386rpmrpm –ivh samba-client-3023c-4i386rpmrpm –ivh samba-3023c-4i386rpmrpm –ivh samba-doc-3023c-4i386rpm使用选项Uvh来安装common是因为原来的common没有被卸载,因此应进行升级安装(U)。6安装完毕后,可以使用rpm –qa samba来确认。会输出samba-3024c-4。7下面开始对samba服务进行配置。8首先,修改/etc/samba/lmhosts文件。加入一行,为本机上的Windows系统IP地址和主机名。这样才可以通过Windows来访问Unix的samba服务。9创建目录/export/sambadir作为共享目录。命令:mkdir –p /export/sambadirchmod 777 /export/sambadir10修改/etc/samba/smbconf文件。这是samba的配置文件。Security = userLog file = /var/log/samba/log%mPath = /export/sambadir11使用testparam来测试修改结果。12加入一个用户,并修改其密码。13使用chkconfig命令来设置在启动级别5中启动samba。命令如下:Chkconfig –list | grep smbChkconfig –level 5 smb onChkconfig –list | grep smb14重新启动网络服务:/etc/rcd/initd/cups stop/etc/rcd/initd/smb restart15然后就可以在Windows系统中通过12步中设定的用户名和密码来访问Linux。16使用源代码的安装方式:下载samba-3023ctargz源代码包,解压。Cd samba-3023c/source/autogensh/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-libsmbclientMakeMake install17其余步骤与7之后相同。这是我实验时写的,平台是redhat 9
1、点击桌面左下角的文件资源管理器图标。
2、将准的测试地址粘贴到快速浏览的位置。如下面图中所示:
3、然后回车,如果是第一次访问,就会弹出要求输入账号密码的界面。输入服务器管理员分配的账号密码,点击确定。
4、然后就能看到对应的共享目录信息了。如下面图中所示
在Linux系统中访问Samba服务器中的共享目录需要使用smbclient命令,当然首先得在对应Linux系统主机中安装Samba服务的客户端软件--smbclient。
使用smbclient -L命令(有关smbclient命令的详细选项可通过smbclient -help命令查看)可以查看指定Samba服务器上的所有共享目录。如要浏览本示例中Sambaserver上的共享目录,可以在终端提示符下输入以下命令:
smbclient -L Sambaserver
在出现提示输入密码时,直接按Enter键(因为此处是匿名访问),结果会显示指定Samba服务器上当前全部的共享目录,
使用共享目录的命令格式为:smbclient //IP地址或主机名/共享目录名 -U用户名。
因为此处是匿名访问,所以无须加上"-U"选项来指定访问的用户名。如在此要匿名访问Sambaserver上的doc目录,则可以在终端提示符下输入以下命令:
smbclient //Sambaserver/doc
在出现输入密码的password提示符时,直接按Enter键,即进入到远程使用服务器上指定资源的提示符smb:\>,与FTP客户端相似,这时可以使用如cd、cat、get等命令对共享目录和文件进行操作了。注意,这个命令不仅可以访问Samba服务器上的共享资源,还可以访问网络中Windows主机上的共享资源。
在Linux系统中访问Samba服务器中的共享目录需要使用smbclient命令,当然首先得在对应Linux系统主机中安装Samba服务的客户端软件--smbclient。
使用smbclient -L命令(有关smbclient命令的详细选项可通过smbclient -help命令查看)可以查看指定Samba服务器上的所有共享目录。如要浏览本示例中Sambaserver上的共享目录,可以在终端提示符下输入以下命令:
smbclient -L Sambaserver
在出现提示输入密码时,直接按Enter键(因为此处是匿名访问),结果会显示指定Samba服务器上当前全部的共享目录,
使用共享目录的命令格式为:smbclient //IP地址或主机名/共享目录名 -U用户名。
因为此处是匿名访问,所以无须加上"-U"选项来指定访问的用户名。如在此要匿名访问Sambaserver上的doc目录,则可以在终端提示符下输入以下命令:
smbclient //Sambaserver/doc
在出现输入密码的password提示符时,直接按Enter键,即进入到远程使用服务器上指定资源的提示符smb:\>,与FTP客户端相似,这时可以使用如cd、cat、get等命令对共享目录和文件进行操作了。注意,这个命令不仅可以访问Samba服务器上的共享资源,还可以访问网络中Windows主机上的共享资源。
0条评论