Samba服务器配置

关闭防火墙跟SELinux

setenforce 0

sed -i "/SELINUX=/c SELINUX=disable" 
> /etc/sysconfig/selinux

systemctl stop firewalld.service
systemctl disable firewalld.service

 

安装samba

yum -y install samba

 samba-client跟samba-common默认包含在samba包里,cifs-utils可以不用安装

 

创建共享目录

mkdir /common
chmod 777 /common
echo "hello the samba" > /common/smb.txt

 

修改配置文件

配置文件路径为/etc/samba/smb.conf

配置文件中默认共享用户家目录跟配置文件目录(共享名为database)以及打印机共享,不需要请删除

在最后添加

[common]                     #共享名称
    comment = Common share   #注释
    path = /common       #共享路径
    browseable = yes      #所有人可见
    guest ok =no        #拒绝匿名访问,仅当全局设置security=share时有效
    writable = yes       #支持写入数据

关于配置文件其他参数:点此传送

 

创建访问账号

samba共享账户名为服务器中的用户名,密码为samba独立的密码

默认密码文件存放于/var/lib/samba/private目录

useradd -s /sbin/nologin smbuser
smbpasswd -a smbuser
123456  #输入密码
123456  #再次输入密码

smbpasswd命令用法

-a 添加账户并设置密码
-x 删除SMB账户
-d 禁用SMB账户
-c 启用SMB账户

 

启动服务

systemctl start smb
systemctl enable smb

 

访问Samba共享

windows客户端访问

samba 功能 samba-common_samba 功能

 输入账号密码之后可以看到共享了3个文件夹

分别是共享目录common

database对应/etc/samba目录

smbuser家目录

samba 功能 samba-common_客户端_02

 

Linux客户端访问

安装samba-client

yum -y install samba-client

 

查看服务器共享信息

仅查看是不需要密码的,在输入密码行直接回车即可

[root@client1 ~]# smbclient -L //10.154.0.110
Enter SAMBA\root's password: 
Anonymous login successful

    Sharename       Type      Comment
    ---------       ----      -------
    print$          Disk      Printer Drivers
    database        Disk      Do not arbitrarily modify the database file
    common          Disk      Common share
    IPC$            IPC       IPC Service (Samba 4.10.4)
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful

    Server               Comment
    ---------            -------
    SAMBA                Samba 4.10.4

    Workgroup            Master
    ---------            -------
    SAMBA                SAMBA

 

使用smbclient登录

这种方式很少使用,一般使用挂载

smbclient -U smbuser //10.154.0.110/common

 

挂载共享文件夹

注意挂载方式跟nfs有区别,再者这里书中命令有点小错误。

mkdir /com

mount -t cifs //10.154.0.110/common /com \
-o username=smbuser,password=123456

echo "//10.154.0.110/common /con  \
cifs defaults,username=smbuser,password=123456 0 0" >>/etc/fstab

 

图形化访问samba共享

nautilus-connect-server

 

解决win10连接samba共享密码有误

运行输入secpol.msc

选择如下,默认是没有定义

samba 功能 samba-common_服务器_03

改为

samba 功能 samba-common_配置文件_04

 找到如下

samba 功能 samba-common_samba 功能_05

默认为

samba 功能 samba-common_samba 功能_06

 改为

samba 功能 samba-common_配置文件_07

 修改安全类的设置最好保存一份原配置文件,或者截图,方便还原。

 

扩展

Samba可实现Linux与Windows之前的文件共享跟打印服务。

使用协议为SMB/CIFS

 

所需软件

Samba-client(客户端软件包)和Samba-common(Samba公共文件软件包)和cifs-utils(因特网文件系统工具)

由smbd跟nmbd守护进程组成

smbd服务为客户端提供文件共享与打印机服务,默认监听TCP 139跟445端口

nmbd服务提供NetBIOS名称服务,以满足CIFS协议的共享访问环境,默认使用UDP137端口

 

配置文件其他常用选项

[global]  #全局生效配置,如果跟其他共享配置冲突,则按共享配置来
 
workgroup = MYGROUP #定义工作组

hosts allow = 127. 192.168.12. EXCEPT 192.168.13.13  #允许主机访问格式还可为192.168.12.0/255.255.255.0

hosts deny =    #禁止主机访问

security = user 
#可定义为user、share、server、domain,user代表通过用户名密码访问,账号需要为服务器本机系统账户;share表示匿名访问;server验证身份访问,账户信息保存在另一台SMB服务器上;domain基于验证访问,账户信息保存在活动目录中

passdb backend = tdbsam
#账号密码存储方式,smbpasswd明文存放;tdbsam基于TDB密文存放;ldapsam基于LDAP存储账户资料

deadtime = 10 #10分钟无操作则关闭会话,可提高服务器性能

display charset = UTF8  #使用字符集为UTF8

max connections = 0  #最大连接数,0为不限制,超过连接数,服务器将拒绝连接

guest account = nobody #设置匿名账号为nobody

load printers = yes #是否共享打印机

cups options = raw #打印属性

#关于打印机共享百度

[common]
create mask = 0750  #客户端创建文件权限,默认为0744
directory mask = 0775 #客户端创建目录权限,默认为0755
browseable = yes #共享目录是否对所有人可见
writable = no
write list = tom #设置tom可写
admin users = tom #设置共享管理员,拥有完全权限
invalid users = root bin #禁止root与bin访问common共享

 

今天的学习是为了以后的工作更加的轻松!