允许nfs共享上的非root用户rw权限

时间:2014-10-04 06:23:47

标签: linux nfs

我有两台Linux机器正在运行。一个是jenkins服务器,另一个是灯服务器(从交钥匙linux下载)。我需要允许jenkins服务器上的jenkins用户使用NFS对灯服务器上的共享进行读/写权限。使用jenkins服务器上的root用户可以正常工作,但是当通过jenkins运行时,我总是在尝试将文件复制或删除到灯服务器时获得权限被拒绝错误。我尝试了很多东西,但仍然失败了。如何配置NFS以允许jenkins服务器上的jenkins用户读/写/删除灯服务器上的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

1 个答案:

答案 0 :(得分:2)

我认为,这是因为挂载的文件夹归Jenkins Server上的www-data所有。因此用户jenkins @ Jenkins无法在那里写。您应该将jenkins @ Jenkins添加到Jenkins服务器上的www-data组,或者更改Lamp上的文件夹组,以便为​​其他用户扩展它。