我必须使用 sudo 来编辑每个文件 - 没有权限执行任何操作

我必须使用 sudo 来编辑每个文件 - 没有权限执行任何操作

我需要执行每个命令并sudo继续执行它,如果不运行 gedit,我就无法编辑任何文本文件sudo gedit,即使是我自己创建的文件。

我只想能够在 Atom 中打开项目文件夹并保存文件,但我似乎无法做到这一点。

ls -al在主目录中运行会导致:

drwxr-xr-x 25 {me}        {me} 4096 nov 13 23:56 .
drwxr-xr-x  3 root        root        4096 okt 31 18:14 ..
-rw-rw-r--  1         700 {me}  840 nov  1 01:42 .alsaequal.bin
drwxrwxr-x  7         700 {me} 4096 nov 13 23:57 .atom
-rw-------  1         700 {me} 7422 nov 13 23:48 .bash_history
-rw-r--r--  1         700 {me}  220 okt 31 18:14 .bash_logout
-rw-r--r--  1         700 {me} 3771 okt 31 18:14 .bashrc
drwx------ 21         700 {me} 4096 nov  9 18:02 .cache
drwx------  3         700 {me} 4096 okt 31 21:02 .compiz
drwx------ 23         700 {me} 4096 nov 13 23:56 .config
drwx------  3         700 root        4096 nov  1 00:26 .dbus
drwxr-xr-x  6         700 {me} 4096 nov  9 23:38 Desktop
-rw-r--r--  1         700 {me}   25 nov  5 17:03 .dmrc
-rw-rw-r--  1         700 {me}   54 nov  5 14:15 Dockerfile
drwxr-xr-x  2         700 {me} 4096 okt 31 19:36 Documents
drwxr-xr-x  3         700 {me} 4096 nov 10 20:28 Downloads
-rw-r--r--  1         700 {me} 8980 okt 31 18:14 examples.desktop
drwx------  2         700 {me} 4096 nov 13 21:30 .gconf
rw-r------  1         700 {me}    0 nov 13 23:57 .gksu.lock
drwx------  3         700 {me} 4096 nov  5 17:01 .gnome
drwx------  3         700 {me} 4096 nov 13 22:28 .gnupg
-rw-------  1         700 {me} 9576 nov 13 22:28 .ICEauthority
drwx------  5         700 {me} 4096 nov  8 16:31 .local
drwx------  4         700 {me} 4096 okt 31 18:37 .mozilla
drwxr-xr-x  2         700 {me} 4096 okt 31 19:36 Music
drwxrwxr-x  2         700 {me} 4096 nov  5 23:26 .nano
drwx------  3         700 {me} 4096 nov  1 01:26 .nv
-rw-rw-r--  1         700 {me}  642 nov  6 00:01 .nvidia-settings-rc
drwxr-xr-x  2         700 {me} 4096 okt 31 19:36 Pictures
drwx------  3         700 {me} 4096 nov  5 17:01 .pki
-rw-r--r--  1         700 {me}  655 okt 31 18:14 .profile
drwxr-xr-x  2         700 {me} 4096 okt 31 19:36 Public
drwxrwxr-x  3         700 {me} 4096 nov  5 14:13 qemu-static-    conf
drwx------  2         700 {me} 4096 nov  5 16:27 .ssh
-rw-r--r--  1         700 {me}    0 okt 31 20:48     .sudo_as_admin_successful
drwxr-xr-x  2         700 {me} 4096 okt 31 19:36 Templates
drwxr-xr-x  2         700 {me} 4096 okt 31 19:36 Videos
-rw-------  1         700 {me}   57 nov 13 22:28 .Xauthority
-rw-------  1         700 {me}   82 nov 13 22:28 .xsession-errors
-rw-------  1         700 {me}   82 nov 10 21:09 .xsession-errors.old

答案1

显然你运行了类似这样的命令(这是一个危险的命令 -不执行

chown -R 700 *

使可能不存在的用户成为700您主目录中所有内容的所有者。您可能尝试使用以下命令将八进制权限 700 应用于您的主目录(这是另一个危险的命令 -不执行

chmod -R 700 *

这也是一个非常糟糕的主意。除非你确定自己知道自己在做什么,否则不要更改权限。并小心标志-R

-R我认为您使用带有 的标志的原因chown是隐藏文件受到了影响。但是,您可能使用了dotglob而没有使用-R。如果您最初没有使用-R,请不要使用它来恢复更改。

您的主目录中的某些文件可能不属于您,但很可能应该属于您。我建议您使用chown您的主目录。

如果您没有使用-R(递归)标志,则运行以下命令仅更改顶层文件的所有权:

shopt -s dotglob            # to work on hidden files
sudo chown $USER $HOME/*
shopt -u dotglob

如果您使用该-R标志更改主目录的所有权,请使用以下命令:

sudo chown -R $USER $HOME

顺便说一下,正如迈克尔·贝的评论,不要使用 启动 Gedit 等图形应用程序sudo <application>,因为这可能会导致 root 成为本地配置文件的所有者。使用 的sudo标志-H可避免这种情况,例如sudo -H gedit

相关内容