Suse 相当于 Solaris 的 ls -V

Suse 相当于 Solaris 的 ls -V

在Solaris 中使用NFS 会导致(某种程度上)创建ACL。

我所说的“有点”是指一个特殊的命令将揭示 acl 的存在

Solaris # mkdir T2
Solaris # getfacl T2

# file: T2
# owner: root
# group: root
user::rwx
group::r-x              #effective:r-x
mask:rwx
other:r-x
Solaris # ls -V
total 3
drwxr-xr-x+  2 root     root           2 Mar  8 08:35 T2
           group:foobar:rwxp-DaARWcCos:fd-----:allow
            group:admin:rwxp-DaARWcCos:fd-----:allow
                 owner@:rwxp-DaARWcCos:-------:allow
                 group@:r-x---a-R-c--s:-------:allow
              everyone@:r-x---a-R-c--s:-------:allow

正如你所看到的,getfacl什么也不透露,但ls -V显示扩展的权利。

我已经检查过作为成员foobar允许我创建目录和文件。

  • 在Solaris 上具有扩展权限/ACL(例如 ls -l 中的 + )
  • 在 SUSE (11.4) 上没有扩展权限/ACL

当前目录基于 zfs nfs 导出的文件系统。

现在的问题是:

  • 那些 ACL 设置在哪里?
  • suse环境下如何设置?

答案1

按照man lsSolaris

-V

与 -l 相同,只是在 -l 输出之后显示紧凑的 ACL 信息。

-V 选项仅适用于支持 NFSv4 ACL 的文件系统,例如 Solaris ZFS 文件系统。

这导致我们nfsv4 acl在苏斯。

列出访问权限是通过nfs4-getfacl(根据在线文档)或nfs4_getfacl(从 nfs4-acl-tools 包安装的实际文件)完成的。

从 man nfs4_getacl 中摘录

   The output format for an NFSv4 file ACL, e.g., is:

          A::OWNER@:rwatTnNcCy
          A::[email protected]:rxtncy
          A::[email protected]:rwadtTnNcCy
          A:g:GROUP@:rtncy
          D:g:GROUP@:waxTC
          A::EVERYONE@:rtncy
          D::EVERYONE@:waxTC

这与 Solaris 版本不同。

目前尚不清楚Solaris nfs4 acl是否可以转换为suse nfs4 acl。

答案2

以下是在带有 ZFS 的 Solaris、带有 NFSv4 的 Linux 和带有 NFSv3 的 Linux 上的显示方式:

Solaris 11.3 ZFS 文件系统:

bash-[509]$ ls -Vd /ssd/TIVO
drwxrwxr-x+ 12 tim      users         15 Feb 23 17:34 /ssd/TIVO/
               user:tim:rwxpdDaARWcCos:fd-----:allow
                 owner@:rwxp-DaARWcCos:-------:allow
                 group@:rwxp-DaARWc--s:-------:allow
              everyone@:r-x---a-R-c--s:-------:allow

具有 Solaris 11.3 ZFS/NFS 文件系统的 NFS v4 挂载的 Linux 客户端:

bash:~$ lsb_release -d
Description:    Ubuntu 16.04 LTS

bash:~$ mount | grep TIVO
tank:/ssd/TIVO on /ssd/TIVO type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.100,local_lock=none,addr=192.168.2.1)

bash:~$ nfs4_getfacl /ssd/TIVO
A:fd:tim@tank:rwaDdxtTnNcCoy
A::OWNER@:rwaDxtTnNcCoy
A:g:GROUP@:rwaDxtTnNcy
A::EVERYONE@:rxtncy

带有 Solaris 11.3 ZFS/NFS 文件系统的 NFS v3 挂载的 Linux 客户端:

bash:/ssd# lsb_release -d
Description:    Ubuntu 16.04.2 LTS

bash:/ssd# mount | grep TIVO
tank:/ssd/TIVO on /ssd/TIVO type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.2.1,mountvers=3,mountport=59133,mountproto=tcp,local_lock=none,addr=192.168.2.1)

bash:/ssd# getfacl /ssd/TIVO
getfacl: Removing leading '/' from absolute path names
# file: ssd/TIVO
# owner: tim
# group: users
user::rwx
group::rwx
other::r-x

相关内容