Linux-samba搭建

来源:互联网 发布:整人专家软件 编辑:程序博客网 时间:2024/06/06 03:55

1、前言

一般,我们项目中用到的linux服务器系统基本都是RedHat和CentOS;安装微软的系统基本都是用的Windows Server 2008 R2,下面介绍linux服务器中如何安装samba服务器、windows挂载samba服务器的具体步骤、linux挂载samba服务器的具体步骤。

2、安装samba服务器

  • 已默认安装samba
    默认情况下linux操作系统安装好了以后,默认是会有自带安装好的samba服务器,我们只需要对samba的核心文件进行配置即可,编辑/etc/samba/smb.conf文件即可;
  • 未默认安装samba
    如果linux系统中不自带samba服务,此时我们可以通过yum或者rpm包这2种安装模式进行安装samba服务器:
yum -y install samba*  #通过yum安装安装完毕以后检查安装包:   rpm -qa |grep samba 可以看到有6个安装包:   samba-client-3.6.23-12.el6.x86_64   samba4-libs-4.0.0-58.el6.rc4.x86_64   samba-winbind-3.6.23-12.el6.x86_64   samba-winbind-clients-3.6.23-12.el6.x86_64   samba-common-3.6.23-12.el6.x86_64   samba-3.6.23-12.el6.x86_64

通过rpm安装的步骤:先下载rpm安装包,然后用rpm –ivh samba.rpm这种格式来进行安装,安装完毕以后可以通过如下命令检查是否已经安装上samba服务:

rpm –qa|grep samba
  • 编辑samba的配置文件
vi /etc/samba/smb.conf   配置例子:#====Global Settings ===[global]                  #全局设置workgroup = MYGROUP       #定义组,可以自定义命名 server string = Samba Server Version %vsecurity = share          #安全级别。user: 必须提供账号密码才能使用share: 任何人都可以共享文件domain:把用户的账号密码通过第三方来认证passdb backend = tdbsam smbpasswd ldapsam#以哪种方式存放密码   load prienters = yes    #是否启用打印机   cups options   = raw    #定义打印机的执行方式#=== Share Definitions === [zjs]                     #共享目录标识comment  = zjs file share  #说明path =/home /share     #samba服务器共享出来的目录browsable =yes       #browseable用来指定该共享是否可以浏览。writable = yes       #writable用来指定该共享路径是否可写。guest ok = yes       #意义同“public = yes”create mask = 0777   #创建文件的权限sync always = yes    valid user = cstc    #如果全局security = user可以放开访问的smb用户
  • 新建samba用户密码
useradd -s /sbin/nologin cstc   #新建cstc用户,不可登陆系统,免登陆可不设置smbpasswd –a cstc               #设置cstc用户的密码chmod –R  777  /home/share      #设置共享文件权限,否则其他机器写入有问题
  • 开启、关闭、重启samba服务
开启: service smb start关闭:service smb stop重启:service smb restartchkconfig --level 35 smb on   #开机启动# testparm    --测试配置是否正确
  • 关闭iptables和selinux
1、关闭selinux:getenforce      #查看selinux的状态。setenforce 0     #临时关闭selinux #vi /etc/sysconfig/selinux 修改SELINUX值为:SELINUX=disabled,重启生效。 #永久关闭2、关闭防火墙:#service   iptables status     #查看状态#service iptables stop      #关闭防火墙#chkconfig   iptables off      #开机不启动
  • linux 下挂载:
mount -t cifs -o username=muzi,rw,passwd=123456 // 10.253.10.180 /nxjy  /home/nxcj/files
  • Windows服务器映射samba服务器的共享目录

    • 服务中tcp/ip netbios服务启用
    • 网卡中协议的tcp/ip 下的netbios
      浏览器或者资源管理器中输入举例:
      这里写图片描述
      此时已经能访问到samba服务器共享的/share目录
      这里写图片描述
      映射samba服务器的/share到windows的/z:
      鼠标右击“share”这个共享目录,选择”映射网络驱动器“出现如下内容
      这里写图片描述
      默认的驱动器第一个即为”Z:”盘符,点击完成,此时磁盘映射已经做好,此时打开windows资源管理器,已经可以看到”Z:”
      这里写图片描述
  • Linux挂载到samba服务器共享的目录
    命令如下:
    在要挂载linux服务器本地新建一个目录/test,然后samba服务器共享的/share挂载到本地的/test目录

mkdir /test挂载命令:mount.cifs -o username=xxxx,rw,passwd=123456  //192.168.xx.21/xxxx  /home/xxxx/share

注://192.168.xx.21/xxxx的xxxx不是目录,而是配置文件中的识别符。输入的用户密码是前面已经创建好的smb用户密码,也可用系统账户密码。
此时查看挂载状态:
这里写图片描述
此时本地linux已经成功挂载到samba服务器的/share

注:有时我们需要查看服务器上都注册了哪些用户,这时我们就可以用下面的命令来查看了。

pdbedit -L

注:要想每次启动客户端机器的时候自动挂载,按以下步骤操作:

方法一、vim /etc/rc.local添加一行Mount –t cifs -o username=xxxx,rw,passwd=123456  //192.168.xx.21/xxxx /home/xxxx/share方法二、vim /etc/fstab下加入://192.168.xx.21/xxxx  /home/xxxx/share   cifs  defaults,username=xxxx,passwd=123456,rw   0 0
  • 常见问题
    Win端挂载清除用户连接缓存,在cmd执行:net use * /delete
    注意:执行命令前的前提是关闭所有的资源管理器窗口。
    1、客户端一定要使用规定的账号挂载,否则会出现如下报错:
mount error(13): Permission deniedRefer to the mount.cifs(8) manual page (e.g. man mount.cifs)

2、umount: /home/nxcj/files: device is busy.说明还有程序霸占着进程,只要执行以下命令查询并杀掉这个进程即可

fuser -m -k  /home/nxcj/files       #查询fuser -m -v -i –k  /home/nxcj/files #查询并直接杀死进程,同时会询问y/n

3、以下错误主要看命令是不是格式是正确的,主要就是要加用户名及密码,同时还要注意就是ip+标识符是否正确。

Retrying with upper case share namemount error(6): No such device or addressRefer to the mount.cifs(8) manual page (e.g. man mount.cifs)

4、不管是服务器端还是linux的客户端,都最好执行下这个命令,避免缺少cifs协议的包造成的损失。

yum install cifs* -yyum install cifs-utils
0 0
原创粉丝点击