我在nfsv4上面遇到configurationsamba服务器的问题。 我有两台Ubuntu 12.04服务器。 第一台服务器充当NFSv4存储,用于VDI和用户共享。 文件系统是ext4。 在这一点上,似乎都可以。 第二台服务器作为samba服务器,并从第一台共享一些文件夹。 任何事情都可以,但我使用共享文件夹的POSIX权限,但现在我想使用ACL。 在server1上,我启用了acl,在第二个上我安装了nfs4-acl-tools nfs4_(get | set)facl正常工作,我可以使用该工具pipe理server2上的访问。 ACL从shell工作正常。 但! 在Windows PC下访问受保护的文件夹是不可能的。 (在Linux PC上,我可以根据需要访问文件夹)。 从Windows客户端获得权限也不起作用。 有我的桑巴configuration: [general] … # Store DOS attributes in extended attributes (no mapping) map hidden = no map system = no map archive = no map readonly = no store dos attributes = yes # need for […]
我试图从服务器挂载一个单一的NFS文件夹说“/共享/文件夹”多个客户端多达32个客户端,客户端试图访问该文件夹和创build文件。 我面临的问题是,当我执行写入命令,我看到只有一个客户端能够访问该文件夹其余客户端被阻止,无法继续写入。 那么,无论我上面试图做的是正确的? 我们可以在多个客户端上写入/读取来自同一文件夹的文件吗? 如果是的话,我怎么能做到平行?
当我使用sync选项进行挂载时: sudo mount -o vers=4,soft,sync,sec=none -t nfs 192.168.1.198:/js.js /mnt/self 同步选项似乎没有得到应用: $ cat /proc/mounts | grep nfs 192.168.1.198:/js.js /mnt/self nfs4 rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=null,clientaddr=192.168.1.198,local_lock=none,addr=192.168.1.198 0 0 但是,如果我使用noac选项,这意味着sync : sudo mount -o vers=4,soft,noac,sec=none -t nfs 192.168.1.198:/js.js /mnt/self 那么我确实看到它被应用: $ cat /proc/mounts | grep nfs 192.168.1.198:/js.js /mnt/self nfs4 rw,sync,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,acregmin=0,acregmax=0,acdirmin=0,acdirmax=0,soft,noac,proto=tcp,port=0,timeo=600,retrans=2,sec=null,clientaddr=192.168.1.198,local_lock=none,addr=192.168.1.198 0 0 另外,如果我装入服务器的根目录而不是一个子目录: sudo mount -o vers=4,sync,sec=none -t nfs 192.168.1.198:/ /mnt/self 那么我也看到正在应用的同步选项: […]
我正在尝试在两台服务器上设置NFS来共享文件。 相关文件的所有者在NFS服务器和每个NFS客户端上具有相同的UID和GID。 NFS服务器在Ubuntu 14.04上运行,客户端都是12.04。 NFS共享位于ZFS池中。 我正在使用NFSv4和/ etc / export /mnt/share client1(rw,sync,no_root_squash,no_subtree_check,nohide) /mnt/share client2(rw,sync,no_root_squash,no_subtree_check,nohide) 当从本地文件运行rsync到networking共享时,出现以下错误: sudo rsync -av /home/ubuntu/data/ /nfs_test/data/ sending incremental file list rsync: chgrp "/nfs_test/data/file" failed: Invalid argument (22) 其中一些文件将成功完成,而其他文件将有相同的chgrop错误。 这是每个文件的统计。 在服务器上: root@nfs_server:~# stat /mnt/share/data/file File: '/mnt/share/data/file' Size: 9095168 Blocks: 17919 IO Block: 131072 regular file Device: 1ch/28d Inode: 1827 Links: 1 Access: (0700/-rwx——) […]
我想设置一个Kerberized NFSv4服务器,这样客户端不需要一个keytab来挂载一个卷(但是这样用户就像往常一样根据他们的Kerberos票据获得他们的权限)。 可能吗? 更确切地说:我的理解是,在Kerberized NFsv4的“常规”设置中,我们有三种校长。 一个用于服务器,名为nfs/[email protected] 。 每个客户端一个,名为host/[email protected] 。 每个用户名为[email protected] 。 使用客户端票据,可以挂载卷,但是无法访问任何文件,因为权限是在用户级别进行控制的。 一旦用户获得了用户票据,他们实际上可以访问这些文件,受到授予该主体的特权的支配。 它是否正确? 我想删除客户票据,基本上说,每台电脑都可以挂载音量(但当然还要有一个有效的用户票据才能访问文件)。 这可能吗? 我想这样做,因为在我的环境中有很多客户,他们经常变化。 我不想关心给所有人一个校长和一个keytab,而且必须跟踪事情。 作为一个中间人(在我的情况下只能部分满足),可以接受的是,客户仍然需要一张票,但是有一个通配符主体可以分发给所有的客户。 像host/*@EXAMPLE.COM 。 这可能吗? (据我所知,一般来说,Kerberized服务通过反向DNS查询查询客户主体与其FQDN名称相匹配;但在我的情况下,我的客户甚至可能没有反向DNSlogging)。
是否可以设置NFSv4 + Kerberos来执行基于用户的身份validation? 据我所知,你需要在Kerberos服务器上为客户端机器创build一个主体(即它仍然是基于主机的),这需要pipe理员访问KDC。 在我的情况下,我有一个工作的Kerberos环境,我只能获得用户的票据,并且没有pipe理员权限。 所以这个问题非常多 – 我能不能让NFSv4使用Kerberos身份validation? 我的NFSv4服务器和客户端运行CentOS 5,我不知道Kerberos端是什么。 我的问题可能不清楚,我还是个新手。
我使用Kerberos身份validation设置了NFSv4服务器,并且运行良好。 但是,一些用户长时间保持login状态,以致于他们在几天后不得不更新他们的门票。 如果在票证过期的时候访问一个NFS共享,例如通过守护进程访问,即使在票证被更新之后,它也变得不可访问。 共享在df -PTh被标记(deleted) 。 一般来说,它需要umount /nfs/share;mount /nfs/share来重新获得它。 在大多数情况下, -o remount失败。 虽然一般的行为是有道理的,谁能告诉我到底发生了什么,例如我不知道(deleted)状态究竟意味着什么? 而为了实际的目的:有什么办法可以避免这个份额一开始就(deleted) ? 毕竟这只是一个坏的用户 – 没有理由阻止所有其他人。 客户端是3.2.63内核上的Debian Wheezy nfs-common 1:1.2.6-4。 服务器是内核为3.2.40(DSM 4.3)的Synology NAS。 谢谢你的帮助。
我目前正在参与获取NFSv4和Kerberos。 我们决定咬紧牙关,尝试过渡。 我们的环境是: Windows AD 在Linux上针对所述AD进行LDAPauthentication。 RHEL5 / 6和一个很小的例外列表。 (我们的一些用户迫切需要Slackware,Debian,Centos)。 提供CIFS / NFS的NetApp文件pipe理器。 然而,我们遇到了一些棘手的问题 – 那就是根服务主体,以及如何启用NFS共享,以便那些需要root访问权限的人可以拥有它。 之所以这么说是非常令人厌烦的,是因为在RHEL 5上挂载NFS时, nfs服务主体似乎被硬编码到挂载过程中。 所以我们仍然在努力处理这个问题,因为你可能被idmapping过程绊住了。 毕竟,如果您将nfs设置为UID零,那么…当您ls您将看到nfs拥有的大量文件, nfs不是root 。 如果你没有设置一个nfs用户,那么你可能会看到许多nobody拥有的文件,尽pipe你仍然可以把它们改变。 RHEL6不那么痛苦,但是使用UID / GIDconfiguration机器帐户仍然感觉有点笨拙。 (而且你还有类似的问题 所以我想知道别人在现实世界中做了什么? 你如何处理NFS坐骑的特权委派?
我们拥有一个拥有约100 CentOS(免费重新分配RHEL)5.7和6.5 x86_64服务器的内部“计算场”。 (我们正在将所有的5.7盒升级到6.5)。所有这些机器对两台CentOS 6.5服务器执行两次NFSv4挂载(sec = krb5p)。 一个NFS服务器用于用户主目录,另一个包含用于用户进程的各种数据。 随机地,其中一台客户端机器将进入一个坏的状态,因此任何对NFSv4挂载的访问都会挂起(例如“ls”)。 这意味着没有人(root除外)可以login,并且所有需要访问共享的用户进程都卡住了。 换句话说,到目前为止,这是非确定性的,不能被复制。 我在客户端和服务器上都启用了非常详细的NFS日志logging,但是从来没有得到任何错误。 但是,当这个状态被触发时,我确实在客户端机器上遇到这些内核跟踪错误: Mar 25 00:49:48 servername kernel: INFO: task ProcessName:8230 blocked for more than 120 seconds. Mar 25 00:49:48 servername kernel: Not tainted 2.6.32-431.el6.x86_64 #1 Mar 25 00:49:48 servername kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Mar 25 00:49:48 servername kernel: ProcessName D […]
我想使用NFS共享进行备份。 我已经在客户端上创build了一个特定的uid / gid组合,用于将文件写入NFS共享。 到现在为止还挺好。 但是,我需要sudo来读取所有用户的主目录在本地框进行备份。 但是当我这样做时,uid / gid被设置为0,我不能再访问NFS共享。 如何避免访问服务器或更改本地文件的权限?