我有两台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
答案 0 :(得分:2)
我认为,这是因为挂载的文件夹归Jenkins Server上的www-data所有。因此用户jenkins @ Jenkins无法在那里写。您应该将jenkins @ Jenkins添加到Jenkins服务器上的www-data组,或者更改Lamp上的文件夹组,以便为其他用户扩展它。