• 通过Samba服务实现Linux文件共享到Windows


    1.用yum命令安装Samba服务
    # yum install samba

    2.配置访问共享资源的用户(如root,该账户一定要本来就在当前系统就存在的,我们用的root这肯定存在了)
    # pdbedit -a -u root (会提示我们输入密码和确认密码,注意此处的输入密码是输入该账户在Samba服务数据库中的密码,这和root账户的系统密码是不一样的概念,我是设置的一样的)

    3.创建共享目录同时赋予访问共享资源用户对该文件的权限。

    # mkdir /home/database --创建目录
    # chown -Rf root:root /home/database --赋权限
    # semanage fcontext -a -t samba_share_t /home/database --修改 database 目录的 SELinux 安全上下文
    # restorecon -Rv /home/database --恢复SELinux文件属性,使上面修改操作立刻生效

    4.设置 SELinux 服务与策略,使其允许通过 Samba 服务程序访问普通用户家目录。(由于我们使用的是root用户,所以就算我们执行了这一步操作也无权限访问root目录)
    # getsebool -a | grep samba --查看Samba 服务程序相关的 SELinux 域策略
    # setsebool -P samba_enable_home_dirs on --允许通过 Samba 服务程序访问普通用户家目录

    5.修改Samba 服务程序的主配置文件,我们只需要改[global]这一个参数,和新建一个[database]参数就行,其他不用动,刘遄老师说可以删掉[homes]和[printers]参数,这里我是没有删。
    # vim /etc/samba/smb.conf
    [global]
    workgroup = MYGROUP
    server string = Samba Server Version %v
    log file = /var/log/samba/log.%m
    max log size = 50
    security = user
    passdb backend = tdbsam
    load printers = yes
    cups options = raw
    [database]
    comment = Do not arbitrarily modify the database file
    path = /home/database
    public = no
    writable = yes

    6.重启 smb 服务(Samba 服务程序在 Linux 系统中的名字为 smb)并清空 iptables 防火墙
    # systemctl restart smb --重启smb服务
    # systemctl enable smb --使smb服务自动启动
    # iptables -F --清空iptables防火墙
    # service iptables save --对iptables服务进行保存(注1)

    linux上的共享配置工作就已经完成,接下来就是去Windows上访问试试了,打开运行窗口输入\ip,再输入我们配置的共享用户:root再输入密码就可以访问共享文件夹了。


    注1:如果输入# service iptables save之后提示"The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl."
    解决办法:

    1.先执行如下命令:

    systemctl stop firewalld

    systemctl mask firewalld

    2.安装iptables services

    yum install iptables-services

    3.设置开机启动

    systemctl enable iptables

    4.重启iptables service

    systemctl restart iptables

    5.执行保存配置命令

    service iptables save

    在linux上查看linux共享出来的文件夹方法:

    1.在客户端(也就是你要读取共享文件的电脑)安装文件共享服务软件包(cifs-utils)
    # yum install cifs-utils

    2.创建认证文件,将用户名、密码、共享域写入进去,你也可以设置权限将该文件只可以root可以读写
    # vim auth.smb --创建文件,写入信息
    username=root
    password=password
    domain=MYGROUP
    # chmod 600 auth.smb --只有root有权限读写

    3.在 Linux 客户端上创建一个用于挂载 Samba 服务共享资源的目录,并把挂载信息写入到/etc/fstab 文件中,以确保共享挂载信息在服务器重启后依然生效:
    # mkdir /database --创建共享目录
    # vim /etc/fstab --修改记录挂载信息的文档
    #
    # /etc/fstab
    # Created by anaconda on Wed May 4 19:26:23 2017
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/rhel-root / xfs defaults 1 1
    UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults 1 2
    /dev/mapper /rhel-swap swap swap defaults 0 0
    /dev/cdrom /media/cdrom iso9660 defaults 0 0
    //192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
    # mount -a  --挂载cdrom

    4.验证挂载是否成功。
    # cd /database
    # ls --查看文件并修改保存

  • 相关阅读:
    网络基础
    socket编程初识
    socket之黏包
    socketserver和socket的补充(验证客户端合法性)
    操作系统介绍
    进程初识和multiprocessing模块之Process
    进程Process之join、daemon(守护)、terminate(关闭)
    进程间通信(队列、管道)、消费者模型和进程池(apply,apply_async,map)
    数字证书私钥sign及验证
    JAVA获取密钥公钥的keytool的使用
  • 原文地址:https://www.cnblogs.com/kjjmj/p/10178945.html
Copyright © 2020-2023  润新知