博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Smb服务器搭建
阅读量:6539 次
发布时间:2019-06-24

本文共 4212 字,大约阅读时间需要 14 分钟。

CentOS 6.4安装和配置Samba服务

  1. 环境说明
    samba服务端系统:CentOS 6.4 x86_64
    samba服务端IP:10.1.1.1
    samba客户端系统:CentOS 6.4 x86_64
    samba客户端IP:10.1.1.1
  2. 安装samba服务端

    Step-1:为samba打开防火墙上的相应端口,运行以下命令:
    iptables -I INPUT -p tcp --dport 137 -j ACCEPT
    iptables -I INPUT -p udp --dport 137 -j ACCEPT
    iptables -I INPUT -p tcp --dport 138 -j ACCEPT
    iptables -I INPUT -p udp --dport 138 -j ACCEPT
    iptables -I INPUT -p tcp --dport 139 -j ACCEPT
    iptables -I INPUT -p udp --dport 139 -j ACCEPT
    iptables -I INPUT -p tcp --dport 445 -j ACCEPT
    iptables -I INPUT -p udp --dport 445 -j ACCEPT
    service iptables save
    service iptables restart
    Step-2:将SELinux配置为permissive模式,运行以下命令:
    setenforce 0 #零时生效,重启后失效
    vim /etc/selinux/config

    将上述文件中的                    SELINUX=enforcing                    替换为                    SELINUX=permissive或者SELINUX=disable

    Step-3:安装samba服务端,运行以下命令:

    yum install -y samba
    Step-4:配置smb.conf文件,运行以下命令:
    mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
    vi /etc/samba/smb.conf

    上述配置文件的内容如下所示:

    [global]

    ##samba服务器的工作组为WORKGROUP
    workgroup = WORKGROUP
    ##samba服务器的描述信息
    server string = Samba Server Version %v
    ##samba服务器的NetBIOS名称
    netbios name = CentOS.Server
    ##samba服务器的客户端访问日志
    log file = /var/log/samba/log.%m
    ##日志的最大尺寸为50 KB
    max log size = 50
    ##使用tdbsam存储用户信息
    passdb backend = tdbsam

    ##使用用户验证的方式确保安全性

    security = user

    ##映射匿名用户访问

    map to guest = bad user
    guest account = nobody

    [homes]

    ##共享目录说明
    comment = Home Directories
    ##有效用户,此目录在/home目录中
    valid users = %S
    ##在Windows的网络共享中看不到此目录
    browseable = No
    ##此目录可写
    writable = Yes

    [private]

    ##共享目录说明
    comment = Demo Directory

    ##共享目录路径

    path = /samba/private

    ##有效用户

    valid users = @user1

    ##在Windows的网络共享中能够看到此目录

    browseable = Yes

    ##此目录不能匿名公开访问

    public = No

    ##此目录可写

    writable = Yes

    [public]

    ##共享目录说明
    comment = Public Stuff

    #共享目录路径

    path = /samba/public
    ##在Windows的网络共享中能够看到此目录
    browseable = Yes

    ##此目录可以公开匿名访问

    public = Yes

    ##此目录可写

    writable = Yes
    Step-5:在系统中建立两个用户组和用户,分别是user1和user2,运行以下命令:
    groupadd user1
    useradd -g user1 user1
    passwd user1
    groupadd user2
    useradd -g user2 user2
    passwd user2

    注意:user1和user2的密码都为password。

    Step-6:在samba服务端建立两个用户,运行以下命令:
    smbpasswd -a user1
    smbpasswd -a user2

    注意:user1和user2的samba访问密码都为password。

    Step-7:建立相应的目录,并且设置访问权限,运行以下命令:
    mkdir -p /samba/public
    mkdir -p /samba/private
    chmod -R 777 /samba
    Step-8:配置和启动samba服务,运行以下命令:
    chkconfig smb on
    chkconfig nmb on
    service smb start
    service nmb start
    通过上述8个步骤的配置,在客户端便能访问共享目录了。user1和user2都能够访问public目录,具有读写权限;只有user1能够访问private目录,具有读写权限;user1和user2的个人目录不可见,只能通过url进行访问,各自都具有读写权限。

  3. 安装samba客户端

    Step-1:安装samba客户端,运行以下命令:
    yum install -y samba-client
    Step-2:连接服务端上的共享目录,运行以下命令:
    ##连接公开目录
    smbclient //10.1.1.1/public -U user1

    ##连接个人目录        smbclient //10.1.1.1/user1 -U user1        若登录成功,Shell命令就会变为这样的提示符:        smb: \>        Step-3:使用完之后,断开连接,在samba命令行中运行以下命令:        quit        通过上述3个步骤,samba客户端便能够使用samba共享了。
  4. 手动挂载samba共享目录
    Step-1:挂载user1的个人目录至samba客户端的/samba目录下,运行以下命令:
    mkdir -p /samba
    mount -t cifs //192.168.4.211/user1 /samba -o user=user1,password=password,workgroup=WORKGROUP
    Step-2:个人目录用完之后,卸载挂载,运行以下命令:
    umount /samba
  5. 开机自动挂载samba共享目录

    向fstab文件中添加共享目录的挂载条目,即可实现开机自动挂载,但是随后与samba服务端的连接将始终处于活动状态。运行以下命令:
    mkdir /samba
    vi /etc/fstab

    在上述文件末尾加入共享目录的挂载条目,如下所示:        //10.1.1.1/user1 /samba cifs defaults,username=user1,password=password 0 0        其中,第5个字段设置为0表示共享目录的文件系统不需要使用dump命令进行转储,第6个字段设置为0表示共享目录的文件系统不需要使用fsck命令进行检查。        除此之外,还可以使用自动挂载器(autofs)实现按需自动挂载网络共享目录。当共享不再使用,并处于不活动状态一定时间之后,自动挂载器会对共享解除挂载。
  6. 按需自动挂载samba共享目录
    Step-1:修改不活动状态的超时时间,运行以下命令:
    vi /etc/sysconfig/autofs

将上述文件中的

TIMEOUT=300
替换为
TIMEOUT=600
也就是将不活动状态的超时时间由5分钟修改为10分钟。
Step-2:建立共享目录挂载点的父目录,运行以下命令:
mkdir -p /samba Step-3:配置共享目录挂载点的父目录,运行以下命令:
vi /etc/auto.master

在上述文件的最后新增一行,如下所示:

/samba /etc/auto.samba

其中,/samba是挂载点的父目录,这个目录在系统中始终可见,并由autofs服务监控,以确定是否“需要”挂载/创建子目录挂载点。/etc/auto.samba为单个配置文件,包含由autofs服务在此父目录下管理的子目录挂载点的列表。 Step-4:配置共享目录挂载点目录,运行以下命令:

vi /etc/auto.samba
上述文件的内容如下所示:
user1 -fstype=cifs,username=user1,password=password ://10.1.1.1/user1

其中,user1为子目录挂载点,此目录通常不可见,只有当autofs服务创建此目录和挂载共享之后对其进行直接命名/访问时,它才会变为可见。 Step-5:重新启动autofs服务,运行以下命令:

service autofs restart Step-6:访问网络共享目录,运行以下命令:
cd /samba/user1

运行上述命令之后,autofs将自动创建挂载点目录,并且挂载共享目录。 Step-7:卸载网络共享目录,详情如下所示:

在/samba/user1之下的所有文件和目录停止使用且超时期满之后(10分钟),autofs将卸载共享目录。

转载于:https://blog.51cto.com/12114462/2119582

你可能感兴趣的文章
如何把word中的图片怎么导出来呢?
查看>>
CMD指令大全
查看>>
十五天精通WCF——第二天 告别烦恼的config配置
查看>>
Qt多线程学习:创建多线程
查看>>
设计模式学习---UML常见关系的实现
查看>>
图解openssl实现私有CA
查看>>
BZOJ2213 : [Poi2011]Difference
查看>>
c++ Constructor FAQ 继续
查看>>
事务之六:spring 嵌套事务
查看>>
C#:路径
查看>>
iOS图片加载速度极限优化—FastImageCache解析
查看>>
PHP中的一些新特性
查看>>
I.MX6 Android mmm convenient to use
查看>>
[CareerCup] 13.9 Aligned Malloc and Free Function 写一对申请和释放内存函数
查看>>
55、Android网络图片 加载缓存处理库的使用
查看>>
svn文件提交时强制写注释
查看>>
【转载】千万级规模高性能、高并发的网络架构经验分享
查看>>
OC基础--OC中的类方法和对象方法
查看>>
ubuntu samba服务器多用户配置【转】
查看>>
母线的种类与作用是什么(转)
查看>>