Centos配置samba

samba(windows和linux系统之间共享文件 )

功能:windows和linux系统之间共享文件 CIFS协议

环境:
server 192.168.100.11 desk1.uplooking.com
client 192.168.100.12 desk2.uplooking.com

端口:udp/137 udp/138 名称解析 tcp/139 通信会话 tcp/445 cifs

服务器

一、查看软件包是否安装

rpm -qa | grep samba

samba-common-4.4.4-9.el7.noarch 通用组件包 
samba-common-tools-4.4.4-9.el7.x86_64 工具包
samba-4.4.4-9.el7.x86_64 主程序包
samba-client-4.4.4-9.el7.x86_64 客户端软件包 linux

yum install samba -y //安装软件

二、服务器端的配置文件

rpm -ql samba-common

/etc/samba/smb.conf //主配置文件
/etc/samba/smb.conf.example

vim /etc/samba/smb.conf

---------------------------------------参考↓---------------------------------------------

[global] //全局设置
workgroup = SAMBA //定义工作组
security = user //安全验证的设置
user :需要提供用户名和密码才能访问共享,验证使用的是本地服务器
share:匿名用户,不需要提供用户名和密码直接就能访问共享 //7已废弃

passdb backend = tdbsam //用户和密码存放的格式 /var/lib/samba/private/

printing = cups //打印相关选项
printcap name = cups
load printers = yes 
cups options = raw 

[homes] //定义一个
comment = Home Directories //注释,对共享的描述
valid users = %S, %D%w%S //只允许某个用户访问
browseable = No //不登陆就不可以查看共享目录
read only = No //可写
inherit acls = Yes //继承acl权限

权限控制
read only = Yes

write list = 用户名 @组名 可写列表

read only = No 
read list = 用户名 @组名 只读列表 

访问控制
限制ip
hosts allow = 192.168.1. //只允许网段192.168.1.访问
hosts deny = 192.168.2. //拒绝网段192.168.2.访问

限制用户
valid users = 用户 @组名 //只允许哪些用户访问 
invalid users = 用户 @组名 //拒绝哪些用户访问 

共享一个/share目录,共享名叫sharetest,匿名用户可写可浏览
服务器配置:

mkdir /share

chmod 777 /share

vim /etc/samba/smb.conf
[global]
        workgroup = SAMBA
        security = user
        map to guest = bad user
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
//阿里云		smb ports = 1315 1314 #很重要,貌似阿里云屏蔽了samba默认的端口
[sharetest]    //共享名
        comment = share test 123   //描述信息
        path = /share    //共享文件的路径
        browseable = Yes    //可浏览
        guest ok = Yes     //允许guest用户访问
        read only = No     //可写
        
        

testparm                  //测试配置语法

systemctl restart smb

systemctl restart nmb

三、Samba网络配置

阿里云上配置,最重要的是要记得配置相应的端口开启,不然外网是访问不了的

  • 一方法是关闭防火墙
    systemctl stop firewalld.service
    setenforce 0

  • 二方法是添加规则(推荐)
    firewall-cmd --permanent --zone=public --add-service=samba
    firewall-cmd --reload

    -A INPUT -m state –state NEW -m tcp -p tcp –dport 139 -j ACCEPT
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 445 -j ACCEPT
    -A INPUT -m state –state NEW -m udp -p udp –dport 137 -j ACCEPT
    -A INPUT -m state –state NEW -m udp -p udp –dport 138 -j ACCEPT 
    -A INPUT -p tcp –dport 22 -j ACCEPT
    -A INPUT -p tcp –dport 21 -j ACCEPT
    -A INPUT -p tcp –dport 80 -j ACCEPT
    -A INPUT -p tcp –dport 443 -j ACCEPT
    -A INPUT -p icmp –icmp-type 8 -j ACCEPT
    -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
    -P OUTPUT ACCEPT
    
  • 端口转发
    由于我使用的阿里云,阿里云的445端口被屏蔽了,即使你在阿里云端开放了该端口也无效果,所以需要开放其他端口,并在Windows端进行端口转发。

//Windows
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=你的服务器地址 connectport=你的端口例如1314

netsh interface portproxy show all  #命令查看端口转发是否成功。

netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=445 #删除所有已经有的转发
  • 关闭SELINUX
    setenforce 0

四、添加用户登录(samba用户)

pdbedit -a username(这里要是你本机以有的用户如:root)

[root@iZuf6dnzy9ygt2sur8q2iuZ /]# pdbedit -a root
new password:
retype new password:
Unix username:        root
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-6561631652-1627451568-1611045335-1000
Primary Group SID:    S-1-5-21-6561631652-1627451568-1611045335-513
Full Name:            root
Home Directory:       \\aaaaaaaaa\root

之后会让你输入新建用户的密码

pdbedit -L   显示已存在的用户

添加samba用户提示 Failed to add entry for user.

这是因为没有加相应的系统账号,只需增加相应的系统账号就可以了

(samba用户名=系统账号)

测试本地挂载

mount -t cifs -o username=username,password=123456,port=1314 //ip/sharetest /挂载目录

windows客户端:

在地址栏输入:\服务器的ip地址
以后想直接访问共享--->在共享文件夹上右键-->映射为网络驱动器-->选择驱动器R:-->\服务器的ip地址\共享名-->完成

例: \ip\sharetest

测试:把windows的文件拷贝到共享目录 如可以拷贝表示成功

1.共享一个/smbtest目录,共享名叫test,samba服务器提供三个smb用户,分别是smb1~smb3,smb1和smb2用户可写,smba3只能读和浏览,并且只允许192.168.100.11访问

posted @ 2021-10-13 10:43  qtyanan  阅读(973)  评论(0编辑  收藏  举报