首页 > 系统相关 >在Linux中,如何使用NFS和Samba共享文件和目录?

在Linux中,如何使用NFS和Samba共享文件和目录?

时间:2024-04-15 09:58:04浏览次数:21  
标签:Samba sudo nfs NFS Linux shared 共享

在Linux中,NFS(Network File System)和Samba是两种常用的文件共享协议,分别用于在Unix-like系统之间以及跨Linux和Windows系统共享文件和目录。下面分别详细介绍如何使用它们:

1. 使用NFS共享文件和目录
  1. 安装NFS服务
    对于基于Debian/Ubuntu的系统:

    sudo apt-get update
    sudo apt-get install nfs-kernel-server
    

    对于基于RHEL/CentOS的系统:

    sudo yum install nfs-utils
    
  2. 配置NFS共享
    编辑 /etc/exports 文件,添加要共享的目录及其相关选项。例如,将/home/shared目录共享给IP地址为192.168.1.0/24子网内的所有主机,只读访问:

    /home/shared 192.168.1.0/24(ro,sync,no_subtree_check)
    

    各项选项含义:

    • ro:只读访问
    • sync:同步写入磁盘,保证数据完整性
    • no_subtree_check:禁用子目录的检查,提高性能
  3. 应用配置更改并启动服务

    sudo exportfs -a # 更新NFS共享列表
    sudo systemctl start nfs-kernel-server # 启动服务
    sudo systemctl enable nfs-kernel-server # 设置开机启动
    
    # 对于RHEL/CentOS 7之前的版本,使用:
    sudo service nfs restart
    sudo service rpcbind start # 如果尚未启动rpcbind(portmapper)
    
  4. 客户端挂载NFS共享
    在客户端上,可以使用以下命令挂载NFS共享:

    sudo mkdir /mnt/nfs_shared
    sudo mount -t nfs server_ip:/home/shared /mnt/nfs_shared
    
2. 使用Samba共享文件和目录
  1. 安装Samba服务
    对于基于Debian/Ubuntu的系统:

    sudo apt-get update
    sudo apt-get install samba samba-common-bin
    
   
   对于基于RHEL/CentOS的系统:
   ```bash
   sudo yum install samba
  1. 配置Samba

    • 配置用户数据库(如果还没有配置的话,可以使用samba-tool user add <username>添加用户)。
    • 编辑Samba主配置文件 /etc/samba/smb.conf,添加或修改共享部分。例如:
    [shared]
    comment = Shared Folder for everyone
    path = /home/shared
    browseable = yes
    read only = no
    guest ok = no
    create mask = 0775
    directory mask = 0775
    valid users = @users # 允许某个用户组访问,或者指定用户名代替
    
  2. 更新Samba配置并重启服务

    sudo smbcontrol all reload-config # 更新配置(在较新版本的Samba中)
    sudo systemctl restart smbd nmbd # 或者 service smbd restart && service nmbd restart
    
  3. 客户端挂载Samba共享
    在Windows客户端上,可以直接在文件资源管理器中输入 \\server_ip\shared 访问共享文件夹。在Linux客户端上,可以通过 cifs-utils 包提供的 mount 命令挂载:

    sudo apt-get install cifs-utils # 安装cifs工具(如果尚未安装)
    sudo mkdir /mnt/samba_shared
    sudo mount -t cifs //server_ip/shared /mnt/samba_shared -o username=<username>,password=<password>
    

    或者在 /etc/fstab 中添加持久挂载条目。

综上所述,在实际操作中,务必根据您的具体需求和安全性要求调整上述配置,包括但不限于权限控制、用户验证机制和加密选项等。此外,记得确保防火墙规则允许相应端口的通信。对于Samba,默认使用TCP 139和445端口。对于NFS,常用端口有UDP 111(rpcbind)、TCP/UDP 2049(nfs)。

标签:Samba,sudo,nfs,NFS,Linux,shared,共享
From: https://www.cnblogs.com/huangjiabobk/p/18135199

相关文章

  • 在Linux中,如何管理和优化文件系统的性能?
    在Linux中,管理和优化文件系统的性能是确保系统高效运行的关键。以下是一些提高文件系统性能的方法:1.选择合适的文件系统类型不同的文件系统类型具有不同的性能特点。例如,ext4提供了良好的性能和稳定性,而XFS则在处理大文件和大量数据时表现更优。根据你的应用需求选择合适的文件......
  • 在Linux中,如何使用fstab文件配置自动挂载?
    在Linux系统中,/etc/fstab是一个非常重要的系统配置文件,用于定义文件系统及其挂载点,以及它们如何在系统启动时自动挂载。当你想要确保某些磁盘分区或者存储设备在系统启动后自动加载并可用时,你需要编辑这个文件。以下是通过/etc/fstab配置自动挂载的详细步骤:1.确认设备和挂载......
  • 在Linux中,如何进行文件系统的迁移和升级?
    在Linux中,文件系统的迁移和升级是涉及数据完整性和系统稳定性的重要操作。以下是进行文件系统迁移和升级的一般步骤:1.文件系统迁移文件系统迁移通常涉及将数据从一个文件系统迁移到另一个文件系统,例如从ext3迁移到ext4,或者从一个分区迁移到另一个分区。备份数据:在进行任何......
  • 修复或重新安装debian12linux的/boot分区,efi引导
    一.使用live系统二.挂载块设备三.chroot到/mnt,用arch-chroot比较方便四.开始重新安装/boot下的文件有config-6.1.0-18-amd64grub System.map-6.1.0-18-amd64efi initrd.img-6.1.0-18-amd64vmlinuz-6.1.0-18-amd64注意我的是amd架构,换成你的架构1.efi......
  • ubuntu Linux kernel升级导致英伟达显卡驱动失效
    Linuxkernel升级导致英伟达显卡驱动失效报错nvidia-smiNVIDIA-SMIhasfailedbecauseitcouldnotcommunicatewiththeNVIDIAdriver.MakesurethatthelatestNVIDIAdriverisinstalledandrunning.#或者nvidia-smiNvidiaNVMLDriver/libraryversionmisma......
  • Linux-用户管理-查看用户命令id-/etc/passwd-/etc/shadow-系统中用户的约定和规范
    1.Linux下的用户有什么作用1)系统上的每一个进程(运行的程序)都需要特定的用户运行2)每一个文件都有特定的用户拥有,所以访问一个文件或目录受到用户的限制3)进程能够以何种方式访问某一个文件或目录,与进程所关联的用户有关  2.用户相关查看命令命令:id#语法id[option......
  • 【Linux系统编程】libevent库实现简易tcp服务器
    libevent库实现简易tcp服务器流程分析创建socket,设置端口复用,绑定四元组,开始监听。初始化event_base结构体。编写监听事件的回调函数和客户端读事件的回调函数。初始化tcp监听事件,并加入event_base中。开始event事件处理循环。释放所有事件占用资源。释放event_base占用......
  • Linux-vim文本编辑器-三种模式-vim里的替换
    1.vi和vim命令是linux中强大的文本编辑器,由于Linux系统一切皆文件,而配置一个服务就是在修改其配置文件的参数。vim编辑器是运维工程师必须掌握的一个工具,没有它很多工作都无法完成。vim其实是vi的升级版 2.vim三种工作模式Vim编辑器中设置了三种模式:命令模......
  • Linux文件属性及类型-替换(tr)
    1.##tr只能按照字符一一对应取替换,如果出现相同的字符,那么后面的赋值会将前面的赋值覆盖tr'被替换的内容''替换内容'<文件名可以替换但是文件真正的内容没变[root@localhost~]#tr'tyq''zyx'<1.txtzyxzym[root@localhost~]#cat1.txttyqtym如果不是一一对应就......
  • Linux内核协议栈skb成员
    struct__sk_buff{ __u32len; __u32pkt_type; __u32mark; __u32queue_mapping; __u32protocol; __u32vlan_present; __u32vlan_tci; __u32vlan_proto; __u32priority; __u32ingress_ifindex; __u32ifindex; __u32tc_index; __u32cb[5]; __u32has......