CentOS上搭建Samba服务器简单介绍

大家都知道Windows操作系统上可以设置共享目录,可以让局域网的其他用户通过网上邻居访问这个共享目录,那在Linux上怎么设置共享目录呢?

Samba是在Linux系统上实现SMB协议的一个服务软件,SMB可以实现在局域网上共享文件和打印机,SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。客户机通过该SMB协议可以访问服务器上的共享文件系统、打印机及其他资源

下面介绍在CentOS上搭建共享文件服务Samba

一、首先yum方式安装samba服务

[root@YuanFan-CentOS ~]# yum install samba samba-client

[root@Storage ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

[root@Storage ~]# cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf

cat命令读入主配置文件,再在grep命令后面添加-v参数(反向选择),分别去掉所有以井号(#)和分号(;)开头的注释信息行,对于剩余的空白行可以使用^$参数来表示并进行反选过滤,最后把过滤后的可用参数信息通过重定向符覆盖写入到原始文件名称中。执行过滤后剩下的Samba服务程序的参数并不复杂,为了更方便查阅参数的功能

三、下面先创建不需要密码的访问共享目录

1、先创建共享目录的真实目录

[root@Storage ~]# mkdir /datadisk

[root@Storage ~]# chmod 777 /datadisk/

2、下面开始vi编辑smb.conf文件

[root@Storage ~]# vi /etc/samba/smb.conf

[global]

workgroup =WORKGROUP工作组的名称为WORKGROUP

server string = Samba Server Version %v

log file = /var/log/samba/log.%m

max log size = 500

security =share#share:分享的数据不需要密码

passdb backend = tdbsam

cups options = raw

[data_share]

path = /datadisk/

read only = No

writable = yes

guest ok = yes

guest only = yes

create mode = 0777

directory mode = 0777

security = share, user, domain:三选一,这三个设定值分别代表

share:分享的数据不需要密码,大家均可使用 (没有安全性);

user :使用 Samba服务器本身的密码数据库,密码数据库与底下的 passdb backend 有关;

domain:使用外部服务器的密码

3、接下来设备samba的两个服务smb和nmb服务开机启动,并手动启动这两个服务

[root@Storage ~]# chkconfig smb on

[root@Storage ~]# chkconfig nmb on

[root@Storage ~]# service smb start

Starting SMB services: [ OK ]

[root@Storage ~]# service nmb start

Starting NMB services: [ OK ]

[root@Storage ~]#

需要注意的两个地方:

1)如果CentOS服务器有开启SELINUX的话,建议关闭掉

vi /etc/selinux/config

将SELINUX=enforcing 改成SELINUX=disabled,然后reboot重启生效

重启后用getenforce命令确认SELINUX状态为Disabled

2)防火墙配置,若有开启防火墙,需要加入一下规则

[root@Storage ~]# iptables -I INPUT 5 -p tcp -m state --state NEW -m multiport --dports 139,445 -j ACCEPT

[root@Storage ~]# iptables -I INPUT 5 -p udp -m state --state NEW -m udp --dport 137 -j ACCEPT

4、Windows主机网上邻居或资源管理器访问\\192.168.31.111验证

验证可以正常访问共享目录,读写权限都OK

四、下面介绍需要密码访问共享目录的部署方式

1、创建用户组及目录

[root@Storage ~]# groupadd security#创建一个security用户组

[root@Storage ~]# mkdir /datadisk_security/#创建data_security目录

[root@Storage ~]# chgrp security /datadisk_security/

[root@Storage ~]# chmod 770 /datadisk_security/

2、接下来添加系统用户secadmin(测试账号) 用户组权限改为security用户组

[root@Storage ~]# useradd secadmin

[root@Storage ~]# usermod -G security secadmin

[root@Storage ~]#

3、secadmin系统账号测试加入到smb用户里,并设置smb密码

[root@Storage ~]# smbpasswd -a secadmin

New SMB password:

Retype new SMB password:

Added user secadmin.

[root@Storage ~]#

4、编辑smb.conf

[root@Storage ~]# vi /etc/samba/smb.conf

[global]

workgroup = WORKGROUP

server string = Samba Server Version %v

log file = /var/log/samba/log.%m

max log size = 500

security =user

passdb backend = tdbsam

cups options = raw

[data_security]

path = /datadisk_security/

read only = No

writable = yes

create mode = 0770

directory mode = 0770

guest ok = no

valid user = @security

5、手动重启smb和nmb服务

6、Windows主机网上邻居或资源管理器访问\\192.168.31.111验证

提示输入账号密码

验证OK,可以正常访问

五、另外Linux上挂载Linux Samba共享目录的命令如下

mount -t cifs //192.168.31.111/data_security /mnt/cifs -o username=secadmin,password=admin123

Samba共享服务的简单部署就介绍到这里

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180804G1DP4D00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券