Samba

Posted 亦涵爱吃肉吖c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Samba相关的知识,希望对你有一定的参考价值。

#环境:Vmware,Centos7.6
1.安装Samba

yum install -y samba

2.确定人员和目录,流程逐一配置
部门 -->人员-->读写
测试 test01 test02
运维 test03 (123456)
公共-->(公共镜像 公共软件 公共公司文件 公司规制度)
特殊
个人申请一个 自己单独读
3.查看和修改Samba的配置文件

vi /etc/samba/smb.conf

里面的东西全删,生产环境以下写好的可以直接套用,粘贴好退出保存下

[global]
       workgroup = WORKGROUP
       server string = Samba Server %v
       netbios name = office
       security = user
       map to guest = bad user
       dns proxy = no
       server string = 文件共享服务器

[测试]
        comment = 测试
        path = /data/samba/测试
        valid users = test01,test02
        read only = No
        security = share
        directory mode =  0777
        force directory mode = 0777
[运维]
        comment = 运维
        path = /data/samba/运维
        valid users = test03
        read only = No
        security = share
        directory mode =  0777
        force directory mode = 0777
[公共]
        comment = 公共
        path = /data/samba/公共
        valid users = test01,test02,test03 
        read only = No
        security = share
        create mode = 0777
        force  create  mode = 0777 
        directory mode =  0777
        force directory mode = 0777
注解:
    [global]这段是全局配置,是必段写的。其中有如下的几行;

        workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
        netbios name 就是在Windows中显示出来的计算机名;
        server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
        security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

    [linuxsir] 这个在Windows中显示出来是共享的目录;
        path = 可以设置要共享的目录放在哪里;
        writeable 是否可写,这里我设置为可写;
        browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no

        guest ok 匿名用户以guest身份是登录;

4.新增用户和配置密码,我在前面配置文件里已经配置好了用户,所以在这新增和配置好的用户一致,test01,test01,test03

useradd test01
useradd test02
useradd test03

配置密码,这里我设置了123456

[root@k8s_node01 ~]# smbpasswd -a  test01
New SMB password:
Retype new SMB password:
Added user test01.
[root@k8s_node01 ~]# smbpasswd -a  test02
New SMB password:
Retype new SMB password:
Added user test02.
[root@k8s_node01 ~]# smbpasswd -a  test03
New SMB password:
Retype new SMB password:
Added user test03.

5.配置文件和用户密码都配置好了,还没有设置共享目录,那就新建一个,但是我们要和前面的smb.conf配置文件路径一致

[root@k8s_node01 ~]# mkdir  -p  /data/samba/测试
[root@k8s_node01 ~]# mkdir  -p  /data/samba/公共
[root@k8s_node01 ~]# mkdir  -p  /data/samba/运维

创建好后,进去看看是否创建成功,ll列一下

cd /data/samba
ll
drwxr-xr-x 2 root root 6 Sep  4 05:59 公共
drwxr-xr-x 2 root root 6 Sep  4 05:59 测试
drwxr-xr-x 2 root root 6 Sep  4 05:59 运维

6.公共文档,所有人都可以看,可以读写,接下来分配权限

这是所有人可读可写,也可以按组分配权限,(前提是建立有组,查看组cat /etc/group)
chmod -R 777 /data/samba/测试
chmod -R 777 /data/samba/运维
chmod -R 777 /data/samba/公共
按成员分配或者按组分配test01可修改
chown test01:root /data/samba/公共
或
chown test02:test02 /data/samba/运维
chmod和chown解释
[chmod](https://www.runoob.com/linux/linux-comm-chmod.html)
[chown](https://www.runoob.com/linux/linux-comm-chown.html)

7.最后启动服务,并设置开机启动、关闭、重启

#启动smb服务
[root@localhost ~]# systemctl start smb
#设置smb开机启动 
[root@localhost ~]# systemctl enable smb
#关闭smb服务  
[root@localhost ~]# systemctl stop smb
#重启smb服务
[root@localhost ~]# systemctl restart smb

这里可能会出现问题点,排查防火墙和seliux是否开启,我们要把这两个关闭

[root@localhost samba]# systemctl stop firewalld
[root@localhost samba]# systemctl stop selinux
Failed to stop selinux.service: Unit selinux.service not loaded.
[root@localhost samba]# setenforce 0

8.在Windows上测试,因为我这配置的Samba服务器静态ip是192.168.3.200,所以WIn+R键输入\\192.168.3.200
然后进入文件夹就需要我们输入网络凭据,前面我们新建的账号是:test01密码123456
最后搞定

以上是关于Samba的主要内容,如果未能解决你的问题,请参考以下文章

CVE-2017-7494复现 Samba远程代码执行

虚拟机装linux使用samba共享,本地看代码会卡。

Android - 在代码中挂载 Samba 共享

CentOS 7下安装samba

Samba CVE-2017-7494验证实验

如何使用 C# 从 Ubuntu/Samba 读取共享文件?