自从更改了我的 uid 后,我不再有权限查看自动安装在 /media/USERNAME 上的 USB 硬盘/棒。
鹦鹉螺发出信息
无法打开 DRIVENAME 的文件夹
没有注册处理此文件的应用程序
如果我以 root 身份登录终端,我可以看到驱动器安装在正确的位置并可以访问文件。
有人知道我需要做什么才能让我的非 root 用户使用已安装的驱动器吗?
与系统上的其他用户一样,一切都按预期运行。
答案1
我通过卸载我插入的所有 USB 磁盘并删除 /media/username 目录解决了这个问题。
然后,当我再次插入 USB 时,目录会重新创建,一切正常。
答案2
在继续阅读之前,你可能需要参考一下文章,它解释了更改 UID 的过程,并提醒您注意如何为您的用户分配新的 UID正确的方式。
“请注意,只要您输入上述两个命令,位于用户主目录中的所有文件的文件 UID 都会自动更改。但是,用户主目录之外的文件需要手动更改。”
话虽如此。对于目录之外的任何文件,您的 UID 都不会自动更改/home/USER
。
为了重新获得对安装在用户/media/USER
目录中的驱动器的访问权限,我再次建议您按照上述文章操作,以确保您正确更改了“/home/USER”内外所有文件的 UID,因此自然应该插入您的驱动器。
以下是上述文章中提供的代码:
要为名为 foo 的用户分配新的 UID,请输入:
# usermod -u NEWUIDHERE foo
要为名为 foo 的组分配新的 GID,请输入:
# groupmod -g NEWGIDHERE foo
要手动分别更改具有旧 GID 和 UID 的文件:(在您的主目录之外)
# find / -group NEWUIDHERE -exec chgrp -h foo {} \;
# find / -user NEWGIDHERE -exec chown -h foo {} \;
“-exec 命令对每个文件执行 chgrp 或 chmod 命令。传递给 chgrp/chmod 命令的 -h 选项会影响每个符号链接,而不是任何引用的文件。使用以下命令进行验证”
# ls -l /home/foo/
# id -u foo
# id -g foo
# grep foo /etc/passwd
# grep foo /etc/group
感谢 Vivek Gite 提供的这篇精彩文章!希望这对您有所帮助。