Linux下挂载硬盘并只允许特定用户访问
最近课题组新买了几个硬盘,目前想把他们挂载到 /mnt
下,然后在每个硬盘下创建个人文件夹只允许特定的用户自己访问。流程如下:
1. 挂载硬盘
使用 blkid
查看设备的 UUID 和 LABEL:
sudo blkid
找到并记住要挂载的硬盘的UUID或者LABEL,下一步有用。
然后通过修改/etc/fstab
文件(永久)来挂载硬盘,以确保系统重启后挂载仍然有效。
- 首先备份
/etc/fstab
文件:
sudo cp /etc/fstab /etc/fstab.bak
- 编辑
/etc/fstab
:
sudo nano /etc/fstab
- 添加以下内容(假设UUID是以下形式且硬盘的文件系统是
ext4
):
UUID=xxxxxxxx /mnt/disk1 ext4 defaults 0 2
UUID=yyyyyyyy /mnt/disk2 ext4 defaults 0 2
UUID=zzzzzzzz /mnt/disk3 ext4 defaults 0 2
UUID=aaaaaaaa /mnt/disk4 ext4 defaults 0 2
UUID=bbbbbbbb /mnt/disk5 ext4 defaults 0 2
或者使用LABEL,例如:
LABEL=disk1 /mnt/disk1 ext4 defaults 0 2
保存并退出/etc/fstab
,运行以下命令测试配置是否正确:
sudo mount -a
如果没有错误消息,说明配置正确。
2.设置文件夹的用户和组权限
假设disk1
的挂载点是/mnt/disk1
。我们在其中创建一个路径mnt/disk1/fold_hefin
,且我们想让用户hefin
只对这个文件夹有权限而对disk1
下其他文件夹没有权限。
具体操作:
- 设置
fold_hefin
的所属用户和组:
sudo chown hefin:hefin /mnt/disk1/fold_hefin
- 设置
fold_hefin
的访问权限(只允许拥有者访问):
sudo chmod 700 /mnt/disk1/fold_hefin
700
表示:拥有者可以读写执行,其他人无权访问。
- 确保hefin对其他文件夹没有访问权限:
sudo chmod -R o-rwx /mnt/disk1/*
- 这将移除所有其他用户对 /mnt/disk 下其他文件夹的权限。
- 确保用户hefin对
/mnt/disk
文件夹本身是有读取和进入的权限的:
sudo setfacl -m u:hefin:rx /mnt/disk1