centos

centos文件共享怎样实现

小樊
45
2025-09-20 02:14:00
栏目: 智能运维

一、使用Samba实现CentOS文件共享(适用于Windows/Linux跨平台共享)
Samba是CentOS上最常用的文件共享服务,支持与Windows、Linux、macOS等系统无缝通信,以下是详细配置步骤:

1. 安装Samba及相关组件

通过YUM/DNF包管理器安装Samba主程序、客户端工具及通用配置文件:

sudo yum install samba samba-client samba-common -y  # CentOS 7
sudo dnf install samba samba-client samba-common -y  # CentOS 8/Stream

安装完成后,Samba服务不会自动启动,需后续手动开启。

2. 创建共享目录并设置基础权限

选择需要共享的目录(如/srv/samba/my_share),创建目录并赋予初始权限(生产环境建议细化权限,避免过度开放):

sudo mkdir -p /srv/samba/my_share
sudo chmod -R 777 /srv/samba/my_share  # 临时开放所有权限(测试用)

注意chmod 777仅为测试方便,正式环境中应根据用户需求设置最小权限(如770)。

3. 配置Samba共享参数

编辑Samba主配置文件/etc/samba/smb.conf(建议先备份):

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf

在文件末尾添加共享定义(以my_share为例):

[my_share]
    comment = My Personal Shared Folder  # 共享描述
    path = /srv/samba/my_share           # 共享目录路径
    browseable = yes                     # 是否允许浏览
    writable = yes                       # 是否可写
    valid users = user1 user2 @mygroup   # 允许访问的用户/组(需提前创建)
    create mode = 0664                   # 新建文件权限
    directory mode = 0775                # 新建目录权限

关键参数说明

4. 创建Samba专用用户并设置密码

Samba用户需为系统用户,且需通过smbpasswd命令添加Samba密码:

sudo useradd user1  # 创建系统用户(若不存在)
sudo smbpasswd -a user1  # 添加Samba用户并设置密码

输入密码后,该用户即可通过Samba访问共享。

5. 启动Samba服务并设置开机自启

启动Samba核心服务(smb)及NetBIOS服务(nmb,可选,用于Windows网络发现):

sudo systemctl start smb
sudo systemctl enable smb  # 开机自启
sudo systemctl start nmb   # 可选
sudo systemctl enable nmb  # 可选

通过systemctl status smb命令检查服务状态,确保无报错。

6. 配置防火墙放行Samba流量

若系统启用了firewalld防火墙,需添加Samba服务规则:

sudo firewall-cmd --permanent --add-service=samba  # 永久放行
sudo firewall-cmd --reload                         # 重新加载规则

若使用iptables,需手动添加端口137-139(UDP/TCP)和445(TCP)规则。

7. 测试Samba共享访问

8. 常见问题排查

二、使用NFS实现CentOS文件共享(适用于Linux/Unix系统间共享)
NFS(Network File System)是Linux/Unix系统间的原生共享协议,传输效率高,但不支持Windows系统(需安装NFS客户端)。

1. 安装NFS服务及客户端

在服务端安装nfs-utils(含NFS服务)和rpcbind(RPC端口映射工具):

sudo yum install nfs-utils rpcbind -y  # CentOS 7
sudo dnf install nfs-utils rpcbind -y  # CentOS 8/Stream

安装完成后,启动rpcbind(NFS依赖)和服务端服务:

sudo systemctl start rpcbind
sudo systemctl enable rpcbind
sudo systemctl start nfs-server
sudo systemctl enable nfs-server

2. 创建共享目录并设置权限

选择共享目录(如/mnt/nfs_share),创建目录并设置权限:

sudo mkdir -p /mnt/nfs_share
sudo chmod -R 777 /mnt/nfs_share  # 临时开放权限(测试用)

注意:生产环境中建议将共享目录所有者设置为特定用户(如chown -R nfsuser:nfsuser /mnt/nfs_share)。

3. 配置NFS共享规则

编辑/etc/exports文件(定义共享目录及访问权限):

sudo nano /etc/exports

添加以下内容(以/mnt/nfs_share为例,允许192.168.1.0/24网段访问):

/mnt/nfs_share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)

参数说明

4. 启用NFS共享

导出共享目录,使配置生效:

sudo exportfs -ra

通过showmount -e localhost命令查看已共享的目录,确认配置正确。

5. 配置防火墙放行NFS流量

NFS需要开放多个端口(1112049等),可通过firewalld添加服务规则:

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload

6. 客户端挂载NFS共享

在客户端安装nfs-utils

sudo yum install nfs-utils -y  # CentOS 7
sudo dnf install nfs-utils -y  # CentOS 8/Stream

创建挂载点(如/mnt/nfs_client),并挂载共享目录:

sudo mkdir -p /mnt/nfs_client
sudo mount 192.168.1.100:/mnt/nfs_share /mnt/nfs_client  # 替换为服务端IP

可选:将挂载信息添加到/etc/fstab文件,实现开机自动挂载:

192.168.1.100:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0

安全提示

0
看了该问题的人还看了