centos 搭建samba文件共享服务

  • Post author:
  • Post category:其他

1、Samba 简介
Samba(SMB是其缩写) 是一个网络服务器,它是Linux作为本地服务器最重要的一个服务,用于Linux和Windows共享文件之用;
Samba可以用于Windows和Linux之间的共享文件,也一样用于 Linux和Linux之间的共享文件;
不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;
大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;

[public} # 自定义共享名
comment = Home Directories # 描述符,是给系统管理员看的
path = /tmp # 共享的路径
public = yes # 是否公开,也就是是否能在网上邻居看到该共享
browseable = yes # 共享的目录是否让所有人可见
writable = yes # 是否可写
guest ok = no # 是否拒绝匿名访问,仅当安全级别为 share 时才生效
workgroup = WORKGROUP # 工作组,要设置成跟 Windows 的工作组一致
server string = Samba Server Version %v # 其他 Linux 主机查看共享时的提示符
netbios name = MYSERVER # 用于在 Windows 网上邻居上显示的主机名
hosts allow = 127. 192.168.12. 192.168.13. EXCEPT 192.168.13.13 # 指定允许访问 samba 服务器的主机
security = share # 定义安全级别
log file = /var/log/samba/log.%m # 定义日志文件,每个访问的主机会产生独立的日志文件,%m 是客户端主机名
max log size = 50 # 定义单个日志的最大容量(KB)
passdb backend = tdbsam # Samba 用户的存储方式,smbpasswd 表示明文存储,tdbsam 表示密文存储
deadtime = 10 # 客户端在10分钟内没有打开任何 Samba 资源,服务器将自动关闭会话,在大量的并发访问环境中,这样的设置可以提高服务器性能
display charset = UTF8 # 设置显示的字符集
max connections = 0 # 设置最大连接数,0表示无限制,如果超过最大连接数则拒绝连接
guest account = nobody # 设置匿名账户为nobody
load printers = yes # 是否在启动 Samba 时就共享打印机
cups options = raw # 设置打印机使用的方式
valid users = user1 user2 user3 # 指定哪些用户可以访问,如果不指定则所有用户都可访问
invalid users = user1 user2 # 指定哪些用户不可以访问
create mask = 0775 # 客户端上传文件的默认权限
directory mask = 0775 # 客户端创建目录的默认权限
write list = user1 user2 user3 # 设置可对文件进行写操作的用户
admin users = user1 # 设置共享目录的管理员,具有完全权限

  1. 安装软件包
    安装samba相关软件包
    yum install samba samba-client
    安装cifs驱动组件
    yum install cifs-utils

  2. 配置SAMBA共享
    SAMBA除了自己的用户权限控制外还要依赖系统本地的用户权限控制,所有要想谁能访问首先要做好本地的权限控制。
    [root@foundation ~]# mkdir /home/public -p
    [root@foundation /]# chown -R 2775 /home/public

4.配置selinux

在这里插入图片描述

[global]
        workgroup = WORKGROUP
        security = user
        server string = Samba Server Version %v
        passdb backend = tdbsam
        map to guest = Bad User
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[home]
        comment = Home Directories   //注释
        path = /samba      //共享目录
        browseable = yes             //共享的目录是否让所有人可见          
        writeable = yes             //是否可写

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = root
        create mask = 0664
        directory mask = 0775
~                                                                                                                                                                                                                                                  
~                                      
  1. 准备SAMBA用户

[root@foundation ~]# useradd -s /sbin/nologin mei
[root@foundation ~]# useradd -G mei -s /sbin/nologin tom
[root@foundation ~]# useradd -s /sbin/nologin danny
设不设置密码都无所谓

将用户添加进SAMBA自己的数据库
[root@foundation ~]# smbpasswd -a mei
New SMB password:
Retype new SMB password:
Added user mei.
[root@foundation ~]# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.
[root@foundation ~]# smbpasswd -a danny
New SMB password:
Retype new SMB password:
Added user danny.
[root@foundation ~]#

复制代码

挂载到linux上

 mount -t cifs -o username=tzp,password=12345678 //13.20.xxx.xxx/public /mnt/samba

查看挂载情况

df -h
在这里插入图片描述

如果要删除数据,重新来过的话,请输入以下命令
在Windows的命令行中输入:

net use * /delete /y


版权声明:本文为weixin_45092850原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。