我正在运行 Linux Mint。我设置了一个名为“thomas”的管理员帐户。
我正在尝试编辑一些文件,但它只允许我以只读方式打开它们。我猜想是权限问题。因此,我试图给自己正确的权限。
我将我的用户添加到了该组sudo
(它已经在该组中admin
)。在 sudoers 中,这些组拥有所有权限。但是,这不起作用,因此我专门为我的用户名添加了一个条目,以赋予它所有权限。同样,这也没有用。
因此,目前我可以以 root 身份登录或sudo
在每个命令前面放置以使其正常工作,但这并不理想,并且当我在 GUI 中打开文档以在 Gedit 中进行编辑时也无济于事。
有人可以解释为什么我的权限更改不起作用吗?
答案1
这是我基于 Red Hat 的桌面知识:
在终端中执行su
然后visudo
向下滚动并查找:
root ALL=(ALL) ALL
按下i进入插入模式。复制/粘贴上面的行并将 root 替换为您的用户名,其余部分保持不变。
答案2
您的意思是没有 就无法编辑文件吗/home/thomas
?在这种情况下,分别使用和sudo
更改文件的所有权/权限。chown
chmod
编辑文件系统其他位置的文件通常需要管理权限。
答案3
尝试备份您的/etc/sudoers
文件(su -c 'mv /etc/sudoers /etc/sudoers.bkup'
)然后卸载并重新安装 sudo(su -c 'apt-get remove sudo && apt-get install sudo'
)
当 su -c 要求输入密码时,它要求输入 root 密码。
虽然我不建议这样做,但如果您将 uid 更改为thomas
0,则可能是可行的。这应该是可能的sudo vim /etc/passwd
(使用您使用的任何文件编辑器)。
答案4
修复用户 thomas 的权限:(按照 Thor 的建议)
find /home/thomas -type f -exec sudo chown thomas:thomas {} \;
find /home/thomas -type d -exec sudo chown thomas:thomas {} \;
find /home/thomas -type f -exec sudo chmod 640 {} \;
find /home/thomas -type d -exec sudo chmod 750 {} \;
重要的:
如果不执行 sudo,则不位于的文件/home/thomas
将无权编辑。
这是正常的!这对于维护系统的安全运行至关重要。