允许非root用户对nfs共享拥有rw权限



我有两台linux机器在运行。一个是jenkins服务器,另一个是lamp服务器(从交钥匙linux下载)。我需要允许jenkins服务器上的jenkins用户使用NFS对lamp服务器上的共享进行读/写权限。在jenkins服务器上使用root用户可以很好地工作,但当运行jenkins时,当试图将文件复制或删除到lamp服务器时,我总是会收到拒绝权限的错误。我尝试过很多事情,但都失败了。我需要如何配置NFS以允许jenkins服务器上的jenkins用户读取/写入/删除lamp服务器上的NFS共享?

以下是我当前的配置信息:

Jenkins: 192.168.100.143
Lamp:    192.168.100.145

Lamp - /etc/exports
/var/www   192.168.100.143(rw,anonuid=33,anongid=33)

Lamp - /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh

root@lamp /var/www# ls -la
total 32
drwxr-xr-x  6 www-data www-data 4096 Oct  4 06:12 .
drwxr-xr-x 13 root     root     4096 Oct 15  2013 ..
drwxr-xr-x  2 www-data www-data 4096 Oct 15  2013 cgi-bin
drwxr-xr-x  2 www-data www-data 4096 Oct 15  2013 css
drwxr-xr-x  2 www-data www-data 4096 Oct 15  2013 images
-rwxr-xr-x  1 www-data www-data 2709 Oct 15  2013 index.php
drwxr-xr-x  2 www-data www-data 4096 Oct 15  2013 js
-rwxr-xr-x  1 www-data www-data   20 Oct 15  2013 phpinfo.php

Jenkins - mount command:
mount -t nfs4 -o rw 192.168.100.145:/var/www /mnt/nfs/lamp

Jenkins - using root:
root@jenkins nfs/lamp# ls -la
total 32
drwxr-xr-x 6 www-data www-data 4096 Oct  4 01:12 .
drwxr-xr-x 3 root     root     4096 Oct  4 01:17 ..
drwxr-xr-x 2 www-data www-data 4096 Oct 15  2013 cgi-bin
drwxr-xr-x 2 www-data www-data 4096 Oct 15  2013 css
drwxr-xr-x 2 www-data www-data 4096 Oct 15  2013 images
-rwxr-xr-x 1 www-data www-data 2709 Oct 15  2013 index.php
drwxr-xr-x 2 www-data www-data 4096 Oct 15  2013 js
-rwxr-xr-x 1 www-data www-data   20 Oct 15  2013 phpinfo.php

root@jenkins IDWEB-package/workspace# ls -la
total 6600
drwxr-xr-x 4 jenkins nogroup    4096 Oct  4 01:20 .
drwxr-xr-x 4 jenkins nogroup    4096 Oct  4 00:34 ..
drwxr-xr-x 6 jenkins nogroup    4096 Oct  4 00:34 .svn
-rw-r--r-- 1 jenkins nogroup    2262 Oct  4 00:34 build-package.xml
-rw-r--r-- 1 jenkins nogroup 6735944 Oct  4 00:34 idweb-package-43.zip
drwxr-xr-x 6 jenkins nogroup    4096 Oct  4 00:37 src
root@jenkins IDWEB-package/workspace# cp idweb-package-43.zip /mnt/nfs/lamp
root@jenkins IDWEB-package/workspace# sudo -u jenkins cp idweb-package-43.zip /mnt/nfs/lamp/idweb-package-43-2.zip
cp: cannot create regular file `/mnt/nfs/lamp/idweb-package-43-2.zip': Permission denied

我认为,这是因为安装的文件夹由Jenkins Server上的www数据所有。所以用户jenkins@Jenkins不能在那里写字。您应该添加jenkins@Jenkins到Jenkins Server上的www数据组,或者更改Lamp上文件夹的组以扩展它以供其他用户使用。

相关内容

最新更新