CentOS 6.5下Samba服务器的安装与配置
|
Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。 Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。 组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。 1、安装samba服务 # yum install samba samba-client samba-swat 2、查看安装情况 # rpm -qa | grep samba 3、安装包说明 samba-common-3.5.10-125.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程 序testparm Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令,/etc/samba/smb.conf是samba的核心配置文件/etc/init.d/smb是samba的启动/关闭文件 4、启动Samba服务器 可以通过/etc/init.d/smb start/stop/restart来启动、关闭、重启Samba服务 /etc/init.d/nmb start/stop/restart 5、查看samba的服务启动情况 # service smb status 6、设置开机自启动 # chkconfig --levels 35 smb on //在3、5级别上自动运行samba服务 案例一、公司现有一个工作组workgroup,需要添加samba服务器作为文件服务器,并发布共享目录/share,共享名为public,此共享目录允许所有员工访问。 注释:(个人觉得/etc/samba/smb.conf里看着太过于繁琐 所以直接用rm -rf /etc/samba/smb.conf 删除掉smb.conf 然后手动创建自己需要的配置文件) 1、 # vi /etc/samba/smb.conf
# golbal settings workgroup = WORKGROUP //定义工作组 server string = zhengmin Samba Server Version %v //定义samba服务器的简要说明 netbios name = zhengmin samba //定义windows中显示出来的计算机名 # logging options log file = /var/log/samba/log.%m //定义samba用户的日志文件 %m代表客户端主机名 # standalone server options security = share //共享级别 定义不需要用户名和密码就可以访问 # share definitions [public] //对共享目录的设置 comment = public stuff //对共享目录的说明 path = /share //用来指定共享的目录 public = yes //所有人可以查看 2、 建立共享目录 上面设置了共享目录为/share,下面就需要建立/share目录 由于要设置匿名用户可以下载或上传共享文件,所以要给/share目录授权为nobody权限。 # chown -R nobody:nobody /share/ 重启samba服务 # service smb restart # service nmb restart 检测smb.conf是否正确 # testparm 最后搭建完成
smbclient //192.168.1.90/public
直接在浏览器地址栏输入//192.168.1.90/public (注释 : 如果在客户机访问samba服务器是报错Error NT_STATUS_HOST_UNREACHABLE 说明是samba服务器的防火墙开着在需要关闭) (注释: 如果报错NT_STATUS_ACCESS_DENIED listing * )说明是被SELinux阻挡了 解决方法:关闭SELinux,先使用getenforce查看状态,如果是Enforcing,就使用setenforce 0关闭。 以上还是临时关闭了selinux机制,不需要重启 但是每次开机它还是会再启动 永久性关闭selinux需要修改其配置文件 # vi /etc/selinux/config 将SELINUX=enforcing 改为SELINUX=disabled 重启生效 案例二、公司现有多个部门,因工作需要,将TS部的资料存放在samba服务器的/ts 目录中集中管理,以便TS人员浏览,并且该目录只允许TS部员工访问。 1、添加TS部组合用户 # groupadd ts # useradd -g ts sandy # useradd -g ts zhengmin //创建用户并加到ts组 # passwd sandy //为sandy创建密码 2、在根目录下创建ts目录 # cd / # mkdir ts # cd ts # touch newyork.city // 创建ts目录并在目录下创建文件newyork.city 3、将两个账户添加到samba账户中 # smbpasswd -a sandy # smbpasswd -a zhengmin 4、修改配置文件/etc/samba/smb.conf # golbal settings workgroup = WORKGROUP server string = zhengmin Samba Server Version %v netbios name = zhengmin samba # logging options log file = /var/log/samba/log.%m # standalone server options security = user //用户级别,由提供服务的samba服务器负责检查账户和密码 # share definitions [homes] //设置用户宿主目录 comment = Home Directories browseable = no writable = yes [public] comment = public stuff path = /share public = yes [ts] //ts目录,只运行ts组成员访问 comment = TS path = /ts valid users = @ts 5、重新加载配置 # service smb reload 6、访问测试
直接在浏览器地址栏输入//192.168.1.90/ts //访问ts共享目录 //192.168.1.90/sandy //访问sandy用户可以访问的所有共享 在Linux下访问Samba服务器的共享文件 1、查看Samba服务器的共享资料 # smbclient L //Samba服务器的ip地址 -U Samba用户名 # smbclient -L //192.168.1.90/public -u sandy //需要用户名和密码是的查看方式 # smbclient -L //192.168.1.90/public //不需要密码查看 -L是list的意思 linux登陆samba服务器 # smbclient //192.168.1.90/public -U sandy 在客户机挂载共享文件 # cd /mnt # mkdir samba # mount -t cifs -o username=sandy,password=1234567 //192.168.1.90/public /mnt/samba # df -h //查看挂载是否成功 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
