mount远程目录并让本地非root用户可读可写

远程与本地是两台linux机器,要实现如题效果,传统的nfs的mount方式虽然简单方便却不行

nfs的方式:

sudo mount -t nfs  -o rw 192.168.0.xx:/path  /mnt/test

在本地你会发现/mnt/test下的文件用户为nobody,普通用户可以读,但是非root用户写不了(不用sudo不用su),

有的人想通过改/etc/fstab 或者远程主机的/etc/exports来实现,

我告诉你趁早放弃,nfs没有这个功能,它无法指定uid gid 用户名,密码。


cifs可以解决这个问题,通俗点讲就是samba的方式

远程主机安装samba服务

部分/etc/samba/smb.conf 内容

[testuser]
    path = /home/testuser/share
    read only = no
;    browseable = yes
    valid users = testuser

共享目录/home/testuser/share,有效用户为testuser


本地操作如下

安装 cifs-utils       sudo apt-get install  cifs-utils 神马的

命令id得到本地用户localuser的id,gid    

比如得到uid=1000(localuser) gid=1000(localuser)  

修改/etc/fstab

//192.168.0.xx/testuser/  /mnt/test/   cifs    rw,noauto,defaults,username=testuser,password=testuserpassword,uid=1000,gid=1000    0       0

然后sudo mount /mnt/test就会挂载,此时localuser翻身做主人了,注意为了安全fstab中可以不写password=testuserpassword这段,然后在mount时手动输入密码,如果要开机自动挂载,可以把noauto改成auto,或者在启动脚本中mount

作者:帅得不敢出门 程序群31843264

### 配置NFS实现WordPress的远程入和本地读取 为了在多台Web服务器之间共享WordPress上传的数据,可以通过配置NFS(Network File System)实现远程入和本地读取。这种方案能够确保用户上传的文件在所有Web服务器之间保持一致,从而避免负载均衡环境下因请求分发到不同服务器而导致的文件缺失问题。 #### 1. **配置NFS服务器** 首先,在专用的存储服务器上安装配置NFS服务,用于提供共享目录。 - 安装NFS相关软件包: ```bash yum -y install nfs-utils rpcbind ``` - 创建用于共享的目录设置权限: ```bash mkdir -p /data/wordpress chmod -R 777 /data/wordpress ``` - 编辑 `/etc/exports` 文件,添加以下内容以允许客户端访问共享目录: ``` /data/wordpress *(rw,sync,no_root_squash) ``` - 启动启用NFS服务: ```bash systemctl start rpcbind systemctl start nfs systemctl enable rpcbind systemctl enable nfs ``` #### 2. **配置NFS客户端(Web服务器)** 接下来,在每台Web服务器上挂载NFS共享目录,以便可以远程入和本地读取数据。 - 安装NFS客户端工具: ```bash yum -y install nfs-utils ``` - 创建本地挂载点,挂载NFS共享目录: ```bash mkdir -p /code/wordpress/wp-content/uploads mount <nfs-server-ip>:/data/wordpress /code/wordpress/wp-content/uploads ``` - 验证挂载是否成功: ```bash df -h | grep wordpress ``` - 为保证重启后自动挂载,需编辑 `/etc/fstab` 文件,添加如下条目: ``` <nfs-server-ip>:/data/wordpress /code/wordpress/wp-content/uploads nfs defaults 0 0 ``` #### 3. **调整WordPress配置** 确保WordPress将上传的文件保存到NFS共享目录中。 - 登录WordPress管理后台,进入**设置 > 媒体**,确认媒体文件的默认存储路径指向 `/wp-content/uploads`。 - 如果需要进一步控制上传路径,可以在 `wp-config.php` 文件中添加以下定义[^4]: ```php define('UPLOADS', '/code/wordpress/wp-content/uploads'); ``` #### 4. **验证远程入和本地读取功能** 最后,通过上传测试文件验证NFS是否正常工作。 - 在Web01上上传一张图片,检查 `/code/wordpress/wp-content/uploads` 目录下是否存在该文件。 - 切换到Web02,确认能否访问相同的文件内容。 - 使用浏览器访问网站,查看上传的图片是否显示正常。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅得不敢出门

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值