zoukankan      html  css  js  c++  java
  • CentOS6.5/7安装配置Samba

    CentOS6.5安装配置Samba
    
        本文的场景是虚拟机运行CentOS6.5,本机是Win7,现欲把CentOS上的一个文件夹共享出来,Win的机器可以读写。
    
        Samba与window连接需要使用NetBIOS协议,请确认你的Win7系统已经安装了NetBIOS协议。
    
        组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
    
        配置这些东西你需要先拥有root权限。
    
        首先关闭防火墙:service iptables stop,当初我就因为忽略这个花了一定的时间。
    
        另外关闭SELINUX的强制模式:setenforce 0,这个也不可忽略,如果setenforce 1,就好多共享都不成功了。
    临时设置系统参数
    setenforce 1 设置SELinux 成为enforcing模式
    setenforce 0 设置SELinux 成为permissive模式
    命令查看出selinux的状态: sestatus -v 永久关闭:/etc/sysconfig/selinux,把里边的一行改为SELINUX=disabled
    centos7
    永久关闭SELinux: #vim  /etc/selinux/comfig  SELINUX=enforcing  //将enforcing修改为disabled即可

    安装Samba: yum install samba samba
    -client samba-swat 安装过程这里就不贴图了。 查看安装情况: rmp -qa|grep samba Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。 下面我们来配置Samba服务,有一些注意事项我会强调,请大家注意: 先定位到/etc/samba目录下,把smb.conf备份一下:cp smb.conf smb.conf.bak 现在我要把/share目录共享给我的win7机器,打开samba配置文件, vi /etc/samba/smb.conf 用shift+g定位到最后一行,可以看到: # A publicly accessible directory, but read only, except for people in
    # the "staff" group
    ;        [public]
    ;        comment = Public Stuff
    ;        path = /home/op
    ;        public = yes
    ;        writable = yes
    ;        printable = no
    ;        write list = +staff
    修改如下: # A publicly accessible directory, but read only, except for people in
    # the "staff" group
            [public]
            comment = Public Stuff
            path = /home/op
            available=yes
            browseable=yes
            public = yes
            writable = yes
            printable = no
            write list = +staff
            valid users = op
    好了,保存退出:wq
    !。 创建/share目录mkdir /share,并且设置chmod 777 /share——注:这样做有点危险,大家先达到共享这一步的效果,以后慢慢学习安全性的考虑。 好了,重启samba服务吧! 本来应该是service smb restart和service nmb restart,但是我曾经试过用这样的方式不行,而使用/etc/init.d/smb restart和/etc/init.d/nmb restart就可以。以防万一,使用后者的方法。 在win7的机器运行//192.168.0.100就能看到samba共享的public文件夹(也就是对应的/share文件夹)——可读可写哦。 如果出现没有权限的问题,请再次确认以下几个重点: 1.使用Samba服务器需要防火墙开放以下端口
    vi /etc/sysconfig/iptables   #配置防火墙端口
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
    iptables -A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
    iptables -A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
    /etc/rc.d/init.d/iptables restart     #重启防火墙,使规则生效
    打开防火墙配置文件可查看当前防火墙情况:vi  /etc/sysconfig/iptables
    iptables-save
    sudo service iptables save
    iptables-save, service iptables save作用一样,只不过iptables-save需要手动指定路径及文件名,而service iptables save的文件为/etc/sysconfig/iptables
    注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前
    如不成功可直接关闭防火墙: service iptables stop.
    centos7关闭防火墙: systemctl stop firewalld.service
    2.设置SELinux的宽松模式:setenforce 0
    vi /etc/selinux/config
    #SELINUX=enforcing     #注释掉
    #SELINUXTYPE=targeted  #注释掉
    SELINUX=disabled  #增加
    :wq  保存,关闭。
    shutdown -r now重启系统。
    3.设置你需要共享的文件夹的属性为755,否则读不了,chmod 755 /home/op
       4.重启smb和nmb服务: systemctl restart smb.service,systemctl restart nmb.service 5.chkconfig smb/nmb on  #设置 Samba开机自动启动 6.smbpasswd设置用户密码:smbpasswd -a op
      提示“远程网络密码不正确”,
    smbpasswd op修改掉samba用户密码。

    上面几个问题都曾经影响我的配置,请大家注意一下。

    CentOS7使用firewalld打开关闭防火墙与端口

    1、firewalld的基本使用
    启动: systemctl start firewalld
    查看状态: systemctl status firewalld 
    停止: systemctl disable firewalld
    禁用: systemctl stop firewalld
     
    2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

    启动一个服务:systemctl start firewalld.service
    关闭一个服务:systemctl stop firewalld.service
    重启一个服务:systemctl restart firewalld.service
    显示一个服务的状态:systemctl status firewalld.service
    在开机时启用一个服务:systemctl enable firewalld.service
    在开机时禁用一个服务:systemctl disable firewalld.service
    查看服务是否开机启动:systemctl is-enabled firewalld.service
    查看已启动的服务列表:systemctl list-unit-files|grep enabled
    查看启动失败的服务列表:systemctl --failed

    3.配置firewalld-cmd

    查看版本: firewall-cmd --version
    查看帮助: firewall-cmd --help
    显示状态: firewall-cmd --state
    查看所有打开的端口: firewall-cmd --zone=public --list-ports
    更新防火墙规则: firewall-cmd --reload
    查看区域信息:  firewall-cmd --get-active-zones
    查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
    拒绝所有包:firewall-cmd --panic-on
    取消拒绝状态: firewall-cmd --panic-off
    查看是否拒绝: firewall-cmd --query-panic
     
    那怎么开启一个端口呢
    添加
    firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
    重新载入
    firewall-cmd --reload
    查看
    firewall-cmd --zone= public --query-port=80/tcp
    删除
    firewall-cmd --zone= public --remove-port=80/tcp --permanent
     
  • 相关阅读:
    IE7下元素的 'paddingtop' 遇到 'clear' 特性在某些情况下复制到 'paddingbottom'
    Foundation HTML5 Canvas中的2处错误
    近期学习技术安排
    2011年工作总结和展望(上篇)
    详解ObjectiveC消息传递机制
    ObjectiveC 2.0的运行时编程消息转发
    c# Pdf 转换图片
    c语言指针用法难点
    C# web实现word 转Html、office转Html、pdf转图片 在线预览文件
    ObjectiveC中什么是类
  • 原文地址:https://www.cnblogs.com/timssd/p/4287528.html
Copyright © 2011-2022 走看看