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
 
原文地址:https://www.cnblogs.com/timssd/p/4287528.html