CentOS6.5安装配置Samba

    本文的场景是虚拟机运行CentOS6.,本机是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 ,这个也不可忽略,如果setenforce ,就好多共享都不成功了。
临时设置系统参数
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 /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文件夹)——可读可写哦。 如果出现没有权限的问题,请再次确认以下几个重点: .使用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
.设置SELinux的宽松模式:setenforce
vi /etc/selinux/config
#SELINUX=enforcing     #注释掉
#SELINUXTYPE=targeted  #注释掉
SELINUX=disabled  #增加
:wq  保存,关闭。
shutdown -r now重启系统。
.设置你需要共享的文件夹的属性为755,否则读不了,chmod /home/op
   .重启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
 

最新文章

  1. (原创)JAVA多线程三锁
  2. [.NET] CErrStack 方便地管理错误或异常
  3. solr+mongo-connector+mongdb+tomcat集成
  4. Mac 系统下的环境变量
  5. linux开机自动连接无线网络
  6. Mongoose简单的连表查询
  7. css小常识
  8. ACM 田忌赛马
  9. JavaScript内的类型转换
  10. OC基础(9)
  11. 关于MessageBox的用法
  12. 终于懂了:FWinControls子控件的显示是由Windows来管理,而不是由Delphi来管理(显示透明会导致计算无效区域的方式有所不同——透明的话应减少剪裁区域,所以要进行仔细计算)
  13. Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0,"解决办法
  14. leetcode刷题笔记342 4的幂
  15. 笔记本装双系统!win10+Linux!所有的坑自己一个个爬过来,纪念一下。
  16. U盘制作系统盘的方法:
  17. JQuery禁止/恢复按钮readonly和disabled小结
  18. git 入门教程之个性化 git
  19. Git坑换行符自动转换 [转载]
  20. Innodb ,MyISAM

热门文章

  1. uboot常用命令
  2. Thinkphp3.2 Redis缓存session
  3. 17: VUE数据绑定 与 Object.defineProperty
  4. 通过编写串口助手工具学习MFC过程——(二)通过“打开串口”按钮了解基本操作
  5. media查询(来源于bootstrap)
  6. jquery TAB切换小插件
  7. 计算机系统结构总结_Branch prediction
  8. IBM公司面试题
  9. JavaScript生成简单数字验证码
  10. CPU指令重排序与MESI缓存一致性