请问如何挂载第二块硬盘并且普通用户可以读写?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
dypang
帖子: 18
注册时间: 2007-08-12 12:14

请问如何挂载第二块硬盘并且普通用户可以读写?

#1

帖子 dypang » 2015-09-18 21:30

有两块硬盘,其中 sdb 只有一个分区 sdb1,想把它挂载在根目录下,比如/hd2,就跟/home 一样。这个/hd2当然只能用 root 用户建立,但是希望可以跟 /home 一样在里面建立一般用户的文件夹,请问该怎么办?

不想把 /hd2 的权限改成 777...
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 请问如何挂载第二块硬盘并且普通用户可以读写?

#2

帖子 vickycq » 2015-09-18 22:18

挂载时加上 -o uid=<uid> 如何?

代码: 全选

mount -o uid=1000 /dev/sdb1 /hd2
而 /hd2 的权限可以为 drwxr-xr-x root:root
参数也可写进fstab。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
dypang
帖子: 18
注册时间: 2007-08-12 12:14

Re: 请问如何挂载第二块硬盘并且普通用户可以读写?

#3

帖子 dypang » 2015-09-18 22:34

vickycq 写了:挂载时加上 -o uid=<uid> 如何?

代码: 全选

mount -o uid=1000 /dev/sdb1 /hd2
而 /hd2 的权限可以为 drwxr-xr-x root:root
参数也可写进fstab。
好像不行,我这里给出这样的结果:
$ sudo mount -o uid=1000 /dev/sdb1 /hd2
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error

In some cases useful info is found in syslog - try
dmesg | tail or so.
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 请问如何挂载第二块硬盘并且普通用户可以读写?

#4

帖子 vickycq » 2015-09-18 22:54

dypang 写了: 好像不行,我这里给出这样的结果:
$ sudo mount -o uid=1000 /dev/sdb1 /hd2
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
抱歉,忘了此选项不适用于 ext2/3/4 了。我都是挂载 ntfs 分区这样搞。

对于 ext2/3/4 等 *nix 文件系统,文件权限仅取决于文件的元数据,与挂载参数无关。
这种情况,可用 bindfs:

代码: 全选

mkdir /home/user/hd1
mount /dev/sdb1 /home/user/hd1
bindfs -u $(id -u) -g $(id -g) /hd1 /home/user/hd1
试试。

参考:
http://unix.stackexchange.com/questions ... privledges
http://superuser.com/questions/196653/h ... 684#196684
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
dypang
帖子: 18
注册时间: 2007-08-12 12:14

Re: 请问如何挂载第二块硬盘并且普通用户可以读写?

#5

帖子 dypang » 2015-09-19 20:56

多谢!

不过应该是
1:建立 /hd2 文件夹
2:mount /dev/sdb1 /hd2
3:bindfs -u $(id -u) -g $(id -g) /hd1 /home/user/hd1
vickycq 写了:
dypang 写了: 好像不行,我这里给出这样的结果:
$ sudo mount -o uid=1000 /dev/sdb1 /hd2
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
抱歉,忘了此选项不适用于 ext2/3/4 了。我都是挂载 ntfs 分区这样搞。

对于 ext2/3/4 等 *nix 文件系统,文件权限仅取决于文件的元数据,与挂载参数无关。
这种情况,可用 bindfs:

代码: 全选

mkdir /home/user/hd1
mount /dev/sdb1 /home/user/hd1
bindfs -u $(id -u) -g $(id -g) /hd1 /home/user/hd1
试试。

参考:
http://unix.stackexchange.com/questions ... privledges
http://superuser.com/questions/196653/h ... 684#196684
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 请问如何挂载第二块硬盘并且普通用户可以读写?

#6

帖子 vickycq » 2015-09-20 0:12

dypang 写了:多谢!
不过应该是
1:建立 /hd2 文件夹
2:mount /dev/sdb1 /hd2
3:bindfs -u $(id -u) -g $(id -g) /hd1 /home/user/hd1
抱歉,我写错了。 :em06
另外第3条的hd1改成hd2 :-)
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
回复