普通用户如何拥有挂载的CIFS文件系统的读写权限

当挂载CIFS文件系统(如samba)时,挂载目录的owner为root用户(只能以root用户mount)。作为普通用户,只具有读的权限。为了让普通用户具有对挂载文件夹的读写权限,需要挂载的时候指定挂载文件夹的owner和group。这样,被指定的用户就具有对共享文件夹的读写权限。

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntu

注意,options参数以逗号分割,没有空格。

在Linux内核中,文件系统的实现是通过文件系统抽象层(VFS)来实现的。 VFS是Linux内核中的一个子系统,它提供了一个统一的接口,使得不同的文件系统可以以一种统一的方式与内核进行交互。VFS定义了一组通用的文件系统操作,如打开文件、读写数据、查找目录等,并通过函数指针将这些操作与具体的文件系统实现进行绑定。 具体的文件系统实现可以是像ext4、NTFS这样的本地文件系统,也可以是像NFS、CIFS这样的网络文件系统。每个文件系统都需要实现VFS定义的接口,并注册到VFS中。当应用程序发起文件系统调用时,内核会根据文件描述符中的文件系统类型,调用相应文件系统的对应函数来处理请求。 文件系统实现中的关键概念包括: 1. 超级块(Superblock):每个文件系统挂载时都会有一个超级块,它包含了文件系统的元数据信息,如块大小、inode表位置等。 2. inode(索引节点):每个文件或目录在文件系统中都有一个对应的inode,它包含了文件的元数据信息,如权限、大小、时间戳等。 3. 目录项(Directory Entry):目录项是文件名和对应inode号的映射关系,用于查找文件或目录。 4. 文件缓存(Page Cache):内核会将文件系统中的数据缓存在内存中,以提高读写性能。 文件系统的实现还涉及到磁盘I/O、缓存管理、权限控制等方面的内容,这些都是通过VFS接口和底层驱动程序来实现的。 总结起来,Linux内核中的文件系统是通过VFS抽象层来实现的,它提供了一个统一的接口,使得不同的文件系统可以以一种统一的方式与内核进行交互。具体的文件系统实现需要实现VFS定义的接口,并注册到VFS中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值