我正在尝试从 Raspberry Pi 上的命令行手动安装 USB 硬盘。我按照通常的步骤操作:在 /media 中创建一个目录,安装驱动器,...但是我无法以普通用户身份访问该驱动器,并且由于 root 帐户已被禁用...
pi@raspi:/media/pi $ ls -hal
total 113K
drwxr-x---+ 5 root root 4.0K Oct 1 22:57 .
drwxr-xr-x 4 root root 4.0K Oct 1 21:41 ..
drwxr-xr-x 6 pi pi 32K Jan 1 1970 342F-8BF2
drwxr-xr-x 5 root root 1.0K Sep 1 11:29 SETTINGS
drwx------ 1 root root 72K Sep 24 23:18 toshiba
342F-8BF2
是启动桌面环境时自动安装的U盘,同时toshiba
是我创建的mkdir
硬盘安装目录。
桌面如何以用户身份创建一个目录,pi
该目录具有允许我访问/修改笔式驱动器但我不能的所有权限?
编辑:
为了安装 HD,我使用以下命令
sudo mount /dev/sdb1 /media/pi/toshiba
/media/pi
这些是目录的权限
pi@raspi:/media $ ls -hal
total 16K
drwxr-xr-x 4 root root 4.0K Oct 1 21:41 .
drwxr-xr-x 22 root root 4.0K Jun 27 03:09 ..
drwxr-x---+ 2 root root 4.0K Sep 22 00:32 peter
drwxr-x---+ 5 root root 4.0K Oct 1 22:57 pi
答案1
您手动安装的磁盘上的文件系统类型是什么?
没有真正支持 Unix 风格文件所有权的文件系统通常需要挂载选项来确定谁可以访问它们。如果您未指定任何选项,则默认情况下仅允许 root 访问。
使用该id
命令识别您的用户帐户的 UID 和 GID 号。我相信pi
RasPi 上的用户通常是 UID 1000、GID 1000,所以这可能适合你:
sudo mount -o uid=1000,gid=1000 /dev/sdb1 /media/pi/toshiba
桌面很可能会使用udisks2
或类似的 D-Bus 服务来实际处理安装;查看man udisksctl
如何从命令行使用相同的服务。如果适用,它将自动应用一些安装选项来为您分配权限。
如果磁盘/分区有一个可以持久存储 Unix 风格文件所有权和权限的文件系统,那么您可以使用chown
和chmod
命令作为一次性操作来设置文件系统根目录的权限:
<mount the filesystem>
sudo chown pi:pi /media/pi/toshiba
请注意,在卸载文件系统时更改 /media/pi/toshiba 目录的权限不会影响 /dev/sdb1 上文件系统根目录的权限。它们是两个独立的实体,尽管在安装文件系统时一个实体覆盖了另一个实体。
答案2
root 并未被禁用,只是能够登录就像 root 一样。正如您所发现的,在不指定用户的情况下执行 sudo 将以 root 身份运行该命令。处理权限问题的一种方法是“sudo chmod o+rx /media/pi”(如果您希望能够写入该卷,请将 o+rx 替换为 o+rwx)这不是安全的做事情的方法,但这是最快的,如果您是系统的唯一用户,那就没问题了。