我有一台旧笔记本电脑。当它收到投诉时,我卸下了它的硬盘并开始将其用作外部硬盘。它为 Windows C 驱动器分区分配了 80 GB 的内存。但现在我不再需要那个分区了。但问题是我无法访问该驱动器以将文件粘贴到其中。如何使用终端获得对该驱动器的读写权限?
我有一台旧笔记本电脑。当它收到投诉时,我卸下了它的硬盘并开始将其用作外部硬盘。它为 Windows C 驱动器分区分配了 80 GB 的内存。但现在我不再需要那个分区了。但问题是我无法访问该驱动器以将文件粘贴到其中。如何使用终端获得对该驱动器的读写权限?
如果你想获得一个驱动器的所有权,你可以使用 chown 命令:
这赋予了用户对驱动器的所有权,而不允许未经授权的用户获得许可,
-R
并使该命令具有递归性,因此所有权也适用于驱动器上所有现有的单个文件,而不仅仅是驱动器本身。您也可以使用
-R
递归chmod
。1. 适用于外部驱动器上的文件的正确技术,但适用于刚刚从外部驱动器复制到计算机上的文件的正确技术
这有效:递归(
-R
)将username
(冒号之前的部分:
)和groupname
(冒号之后的部分)更改:
为您的用户名:但是,这样做的问题是,它使得外部磁盘难以在多个用户名和/或多台计算机上共享,因为每个系统上需要访问这些文件的每个人都必须拥有相同的
username
,或者必须是一样groupname
。只有当是同一个人时,拥有相同的用户名才有效,所以这并不总是有意义。如果始终是同一个人使用该驱动器,则拥有相同的组名是可以的,并且他们都将自己添加到同一组:但是,如果组名在一个系统上不存在,并且只是显示为数字,例如,当您使用( )
5000
查看它时,您将无法轻松地将自己添加到同一组,因为会产生此错误:ll
ls -alF
usermod -a -G 5000
2.有时更适合外部驱动器上的文件
因此,这导致我们找到这个解决方案:只需将这些文件的完全权限授予所有人:
但是,这也将所有文件标记为可执行文件,这实际上没有意义。您不想随意将每个文件标记为可执行文件,因为这会带来安全风险,而且每次双击文本文件打开和编辑它时,它都会询问您是否愿意,这也很烦人运行/执行它。
3. 对于外部驱动器上的文件,更好的#1(或者最好,如果你确实需要每个人的写权限)
因此,这引出了我的建议:给予所有人完全权限(
-a
, 或 'a'll),但只设置可执行位(即:使用+X
, NOT+x
)如果它是一个目录,或者已经为一个或多个设置“用户”、“组”或“其他”,像这样:man chmod
说大写X
与小写x
选项:4. 更好的#2(或者最好,如果你不需要每个人的写权限,即:如果读取就足够了)外部驱动器上的文件
但是,更好的是,如果你能摆脱它:如果你真的不需要保证每个人的写权限,只要确保你至少对驱动器上的每个人都有读权限,就像这样:
-R a+rwX
然后,仅在将文件从外部驱动器复制到本地计算机后应用权限:参考:
chmod
找到一堆我的个人chmod
示例] eRCaGuy_dotfiles/git & Linux cmds、帮助、提示和技巧 - Gabriel.txt有关的
驱动器将位于
/media/username
文件夹中。使用 cd 命令转到该目录。然后在终端777 为所有用户分配读、写和执行权限。