samba服务
linux使用samba程序集实现SMB协议(局域网上共享文件夹/打印机),主要功能如下:
提供windows风格的文件和打印机共享,winXX等操作系统可以利用Samba共享linux等操作系统上的资源,
从外观看起来和共享windows的资源没有区别。linux下的用户可以通过smbclient访问。
--------------------------------------安装samba---------------------------------------------------------------
首先检查是否已经安装好了samba
rpm -q samba
上图显示samba已经安装。假设没有安装并执行如下安装步骤:
放入linux第二张安装盘,挂载后并在Server下找到samba。
安装包名称:samba-3.0.23c-2.i386.rpm
使用如下命令安装:
rpm -ivh samba-3.0.23c-2.i386.rpm
--------------------------------------配置samba---------------------------------------------------------------
存放在/etc/samba/目录中的smb.conf是Samba的设置核心。
~~~~~~~~~~~~~~~~~~~~~需要注意下面的内容~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在进行配置工作之前,还需要查看/etc/services文件中以netbios-开头的记录是否都可以用。如果被删除或者记录前有“#”,也将使用户
无法访问linux服务器上的共享资源
同时还要设置防火墙,默认情况下linux的防火墙是不允许windows客户段访问samba的,因此要将相应服务开放,或关闭防火墙。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
主配置文件由两部分组成:
-
global settings
-
share definitions
行中以分号或井号开头的都是注释
创建samba用户
按照提示输入密码,
虽然出现错误但是不影响使用。
编辑配置文件/etc/samba/smb.conf
首先看global部分
-------------设置工作组
将workgroup的值设为主机的工作组名,我的是workgroup
----------------设置简要说明字符串
samba服务器的配置文件中使用server string来方便用户识别,实际上这就是个简要说明
----------------设置 可以访问的主机或网段
设置可访问samba服务的主机或网段,缺省是没有指定的,即所有用户均可访问。
语法:
hosts allow = 主机名,域名,网段 except 主机名,域名,网段
举例:
hosts allow = etune-pc,www.sohu.com,172.25.8. except 172.25.8.55 注意:网段后面别忘记“点”
----------------设置用户安全等级
语法:
security=user
说明:
share:访问samba资源不需要输入密码,没有安全保障
user:这是默认的安全等级,需要输入密码才可以访问资源。
server:密码的验证的工作需要在另一台samba服务器上进行,需要设置password server
domain:使用windows nt域控制器的安全防护
ads:需要指定口令服务器
---------------指定监听网卡
如果samba服务器有双网卡,则需要指定监听网卡
设置的方法有两种:
1、语法: interfaces=eth0
2、语法:interfaces=网卡ip
---------------启用wins服务(windows internet name service)
---------------启用smb用户与windows用户的映射
在smb.conf中增加一行:
--------------设置用户的个人主目录
在smb.conf中
comment:说明文字
browseable: 是否允许用户浏览所有人的主目录。默认是no,即不允许。
writable:是否允许写入个人主目录
--------------设置共享目录
例如:要为share组的用户设置/home/share目录
1、首先用groupadd share创建share组
2、然后用usermod -G share root ,将root加入share组
3、创建共享目录 mkdir /home/share
4、设定共享目录的属组 chown :share /home/share
5、设置属组的权限 chmod -c g+ wxr /home/share
---------------启动和停止samba服务
启动: /etc/rc.d/init.d/smb start
停止:/etc/rc.d/init.d/smb stop
重启:/etc/rc.d/init.d/smb restart
自动启动samba服务,执行ntsysv命令
-----------------------利用主机名访问linux共享资源
vi /etc/samba/lmhosts
注意第一行绝对不要修改,否则可能导致意外的错误。
-----------------------检查smbclient是否安装
假如没有安装则执行下面的命令:
rpm -ivh /mnt/server/ samba-client-3.0.23c-2.i386.rpm
smbclient -L ip或主机名
但是连接失败。是什么原因呢?
虚机ping vista 不通。
vista ping 虚机正常。
怀疑是防火墙的问题,关闭了vista的防火墙仍然ping不通
尝试修改虚机下的防火墙,
执行setup命令:
将linux火墙设为disable
-----------------------单位主机+172.25.13.117 samba------------------------------------------
pc主机需要做的就是共享一个目录,注意共享列表中列出了tools共享目录,同时也列出了c$
比如要访问单位主机172.25.8.55共享目录tools
取文件和上传文件与ftp的用法相同
使用ls列表,cd切换路径,mget 获取文件 , mput 上传文件 ,exit 退出smb
注意:获取的文件会保存在当前用户的主目录下,如root用户 存在/root下
<script type="text/javascript"></script>