samba 文件共享

samba 文件共享

在说 samba 之前,先放一条 cmd 命令在上面,相信会用得到

打开cmd窗口执行命令
断开所有连接
C:\Users>net use * /del /y

注意:
1. linux 中的用户与 samba 中的用户并没有什么关系,但 samba 中的用户必须是 linux 系统中已有的用户
2. windows 在连接 samba 时,同时只能连接一台 samba 服务器中的一条线路,但可以同时连接多台 samba 服务器,这个并不是 samba 的问题,而是 windows 本身的因素造成的
前情提要:
由于本部门为了保证自身数据不被泄露,决定不使用云平台的程序,要部署一台备份共享服务器,实现数据安全及数据共享
部门分为两块:运维和测试(测试隶属于运维管辖)
要求:
1.运维及测试成员只能对自己的目录有读写权限,最终权在老大
2.建立一个集体共享目录,所有人都有此目录的权限
3.限制 ip ,避免账号密码的泄露

环境:CentOS Linux release 7.5.1804 (Core)
一:安装 server 端

# yum search samba  #查找smb文件共享服务所需软件
# yum install samba-client.x86_64 samba-common.x86_64 samba.x86_64 -y   (samba-swat.x86_64 可配置网页版)
# systemctl start smb       #启动 smb
# systemctl enable smb      #开机自启
# systemctl stop firewalld      #关闭防火墙
# systemctl disable firewalld   #防火墙开机禁启
# netstat -antlupe | grep smb   #查看端口

不关闭防火墙时:

iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT
iptables-save
service iptables  restart

二:创建每个部门的用户组

# groupadd ceshi
# groupadd yunwei

三:先创建系统用户,并加入自己的用户组

# useradd -g ceshi -s /sbin/nologin cs
# useradd -g ceshi -s /sbin/nologin cs2
# useradd -g yunwei -s /sbin/nologin yw
# useradd -g yunwei -s /sbin/nologin yw2
# useradd -g yunwei -s /sbin/nologin admin

四:添加用户:

# id ysg                #查看是否有 ysg 系统用户。
# smbpasswd -a ysg      #添加 ysg 系统用户到 smb 服务用户
# pdbedit -L            #查看 smb 服务允许用户
# pdbedit -x ysg        #删除 ysg 用户

系统中没有 ysg 用户时:

# id ysg                #无 ysg 用户
id: ysg: no such user
# smbpasswd -a ysg  
New SMB password:
Retype new SMB password:
Failed to add entry for user ysg.   #添加不成功
# useradd ysg           #创建westos用户
# smbpasswd -a ysg 
New SMB password:
Retype new SMB password:
Added user ysg.         #此时添加成功

六:创建目录

# mkdir -p /etc/samba/ ceshi yunwei
# mkdir -p /etc/samba/ ceshi ceshi
# mkdir -p /etc/samba/ ceshi share

七:更改配置文件,实现权限的分配,限制 ip 登录白名单

# hosts allow = the hosts allowed to connect. This option can also be used on a
# per-share basis.
#
# hosts deny = the hosts not allowed to connect. This option can also be used on
# a per-share basis.

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
        hosts allow = 192.168.80.110 192.168.80.111

#[homes]
#       comment = Home Directories
#       valid users = %S, %D%w%S
#       browseable = No
#       read only = No
#       inherit acls = Yes

[共享目录]
        comment = this is share
        path = /etc/samba/share
        writable = yes
        admin users = @yunwei,@ceshi
        valid users = @yunwei,@ceshi
        create mask = 777
        directory mask = 777
[运维]
        comment = this is yunwei
        path = /etc/samba/yunwei
        writable = yes
        admin users = admin,@yunwei
        valid users = admin,@yunwei
        create mask = 664
        directory mask = 775
[测试]
        comment = this is ceshi
        path = /etc/samba/ceshi
        writable = yes
        admin users = admin,@ceshi
        valid users = admin,@ceshi
        create mask = 664
        directory mask = 775

实现上面的 下面就不必配置了
配置 selinux:

# getsebool  -a | grep smb
    smbd_anon_write --> off
# getsebool  -a | grep samba
    samba_create_home_dirs --> off
    samba_domain_controller --> off
    samba_enable_home_dirs --> off
    samba_export_all_ro --> off
    samba_export_all_rw --> off
    samba_portmapper --> off
    samba_run_unconfined --> off
    samba_share_fusefs --> off
    samba_share_nfs --> off
    sanlock_use_samba --> off
    use_samba_home_dirs --> off
    virt_sandbox_use_samba --> off
    virt_use_samba --> off
# setsebool -P samba_enable_home_dirs on
# setsebool -Psamba_export_all_rw on
上一篇:Grep的过滤使用


下一篇:运维少年系列 - python and cisco(2)