Solaris 11和ZFS共享的“虚拟用户”

时间:2016-11-13 03:52:25

标签: share solaris nfs smb zfs

是否有办法创建虚拟用户(例如,没有Solaris用户的用户),因此我可以在ZFS samba共享上设置权限并使用这些凭据连接到该用户?

1 个答案:

答案 0 :(得分:1)

我不知道任何方式。

文件和目录需要以某种方式存储,以识别用户是谁拥有它们,或者哪些用户需要访问它们的权限。对于在Solaris服务器上运行的ZFS文件系统,由uid直接或间接执行,这意味着必须存在用户帐户才能将其映射到SAMBA凭证等任何内容。

请注意,entire Solaris VFS structure依赖于具有uid

的每个元素
typedef struct vattr {
    uint_t      va_mask;    /* bit-mask of attributes */
    vtype_t     va_type;    /* vnode type (for create) */
    mode_t      va_mode;    /* file access mode */
    uid_t       va_uid;     /* owner user id */
    gid_t       va_gid;     /* owner group id */
    dev_t       va_fsid;    /* file system id (dev for now) */
    u_longlong_t    va_nodeid;  /* node id */
    nlink_t     va_nlink;   /* number of references to file */
    u_offset_t  va_size;    /* file size in bytes */
    timestruc_t va_atime;   /* time of last access */
    timestruc_t va_mtime;   /* time of last modification */
    timestruc_t va_ctime;   /* time of last status change */
    dev_t       va_rdev;    /* device the file represents */
    uint_t      va_blksize; /* fundamental block size */
    u_longlong_t    va_nblocks; /* # of blocks allocated */
    uint_t      va_seq;     /* sequence number */
} vattr_t;

使用ACL不会消除对uid的需求,因为最终ZFS ACL会降低到实体的数字ID。请参阅http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/fs/zfs/sys/zfs_acl.h#48

上的源代码