前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >samba文件共享服务器安装

samba文件共享服务器安装

作者头像
全栈程序员站长
发布2022-08-30 19:57:52
2.5K0
发布2022-08-30 19:57:52
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

一、安装samba服务以及samba客户端

代码语言:javascript
复制
yum list samba
代码语言:javascript
复制
yum install samba samba-client

安装好samba软件包以后,在系统中会添加名为smb和nmb的标准系统服务,管理员可以通过service(centos6)或systemctl(centos7)工具来控制Samba服务的启动与终止。

其中smbd程序负责监听TCP协议的139端口(SMB协议)、445端口(CIFS协议),而nmbd服务程序负责监听UDP协议的137、138端口(NetBIOS协议)。

代码语言:javascript
复制
netstat -anput | grep mbd
代码语言:javascript
复制
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
代码语言:javascript
复制
vim /etc/samba/smb.conf

使用如下配置:

代码语言:javascript
复制
# 全局设置:这部分配置项的内容对整个samba服务器都有效。

[global]

        workgroup = SAMBA

                # share:允许任何匿名用户访问

                # user:默认、每一个用户访问时都需要提供账号密码

                # domain/server:第三方集中认证

        security = user

        passdb backend = tdbsam

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

        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

#打印机共享设置:若需要共享打印机设备,可以在这部分进行配置。

#[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 = @printadmin root

        force group = @printadmin

        create mask = 0664

        directory mask = 0775



[wxzy_app]

        # 共享描述

        comment = app share

        # 设置共享文件夹的路径

        path = /home/app_smb

        # 允许该指定共享目录可浏览

        browseable = yes

        # 设置是否允许匿名访问

        public = no

        # 允许访问共享目录的用户

        valid users = @smb

        # 读写控制共享目录的用户组

        write list = app_admin

        # 默认创建文件权限 rw_rw___

        force create mode = 0660

        # 默认创建目录权限 rwxrwxr__

        force directory mode= 2770

        # 设置强制设定新建文件所属用户

        force user = app

        # 设置强制设定新建文件所属用户组

        force group = smb

        # 该指定共享资源可使用

        available = yes

        unix charset = UTF-8

        dos charset = cp936

[wxzy_app_admin]

        # 共享描述

        comment = app share admin

                path = /samba/app_admin

                browseable = yes

                read only = no

                force create mode = 0660

                force directory mode = 2770

                valid users = app_admin

二、创建samba用户和用户组

添加共享用户组:

代码语言:javascript
复制
groupadd -r smb

useradd -s /sbin/nologin -G smb app_smb

useradd -M -d /samba/app -s /sbin/nologin -G smb app

useradd -M -d /samba/app_admin -s sbin/nologin -G smb app_admin

-M 不创建用户的home目录

-d 手动设置用户目录

-s /usr/sbin/nologin – 禁止用户shell登录

-G admin将用户加入到app_admin用户组.

代码语言:javascript
复制
smbpasswd -a app

                New SMB password:hengtian@201612

smbpasswd -a app_admin

                New SMB password:admin

smbpasswd -e app

smbpasswd -e app_admin

三、创建samba共享目录以及文件夹权限设置

添加共享路径:

代码语言:javascript
复制
cd /

mkdir samba

cd samba

mkdir app

mkdir app_admin

chown -R app:smb app

chown -R app_admin:smb app_admin

chmod 770 /samba/app

chmod 770 /samba/app_admin

重启

代码语言:javascript
复制
sambda:systemctl restart smb

四、使用samba进行文件共享

方式1:文件夹挂载

1、安装cifs-utils软件包以支持samba的挂载(否则即使挂载没有报错也无法正常使用)

代码语言:javascript
复制
yum install cifs-utils

2、创建挂载点

代码语言:javascript
复制
mkdir /mnt/smbmount

3、进行条目挂载或把挂载条目写入/etc/fstab以使开机自动挂载

代码语言:javascript
复制
mount -t cifs -o username=app_admin //172.16.137.236/wxzy_app_admin /mnt/smbmount

-o username –访问共享文件夹时候的用户

//172.16.137.236/wxzy_app_admin – 共享文件夹的共享地址

/mnt/smbmount –本地挂载映射路径

如果需要开机自动挂载

代码语言:javascript
复制
Vim /etc/fstab

在最后一行添加

代码语言:javascript
复制
//172.16.137.236/wxzy_app_admin  /mnt/smbmount cifs default,username=app_admin,password=123 0 0

如果需要针对多用户挂载参考:https://blog.csdn.net/kangvcar/article/details/76093904?depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3&utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3

方式2:使用samba-client

代码语言:javascript
复制
smbclient //172.16.137.236/wxzy_app -U app

五、关于samba的权限控制

samba的权限由两方面构成:一是目录本身的权限,二是samba的配置权限。最终权限定义是两者的最小交集。

在smb.conf中通过一下几个配置项配置sambe的权限

代码语言:javascript
复制
       # 允许该指定共享目录可浏览

        browseable = yes

        # 设置是否允许匿名访问

        public = no

        # 允许访问共享目录的用户

        valid users = @smb

        # 读写控制共享目录的用户组

        write list = app_admin

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144796.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装samba服务以及samba客户端
  • 二、创建samba用户和用户组
  • 三、创建samba共享目录以及文件夹权限设置
  • 四、使用samba进行文件共享
    • 方式1:文件夹挂载
      • 1、安装cifs-utils软件包以支持samba的挂载(否则即使挂载没有报错也无法正常使用)
      • 2、创建挂载点
      • 3、进行条目挂载或把挂载条目写入/etc/fstab以使开机自动挂载
    • 方式2:使用samba-client
    • 五、关于samba的权限控制
    相关产品与服务
    访问管理
    访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档