有没有一种创建虚拟用户(例如,没有Solaris用户的用户)的方法,以便我可以设置ZFS samba共享的权限并使用这些凭据连接到它?
最佳答案
我什么都不知道
文件和目录需要以某种方式存储,以识别谁是谁拥有它们,或者哪些用户需要访问权限。对于在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的源代码关于share - 与Solaris 11和ZFS共享的“Virtual users”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40570386/