无法确定主文件和文件夹的权限

无法确定主文件和文件夹的权限

我试图用以下命令为 activemq 创建默认配置文件

sudo ./activemq setup [ /etc/default/activemq | /home/leo/.activemqrc ]`

然后收到此消息:

INFO: It's recommend to limit access to '/etc/default/activemq' to the priviledged user
INFO: (recommended: chown 'root':nogroup '/etc/default/activemq'; chmod 600 '/etc/default/activemq')

/etc/default/activemq然后我改变了两者的所有者和/home/leo/.activemqrc权限

chown root:nogroup ~/activemqrc; chmod 600 ~/.activemqrc


更改 ~/.activemqrc 的权限无疑是一个大错误。我查看了 Home 上每个文件和文件夹的权限,上面写着:

The permissions of "Everything" could not be determined

我无法再访问家中的目录和文件。


回答如下尽管所有者是我,但 ~ 的权限被拒绝我运行了以下命令:

find ~ -type d -exec chmod 750 \;

并得到以下输出:

find: pred.c:1932: launch: Assertion `starting_desc >= 0' failed.

有什么方法可以恢复我的默认配置吗?

编辑

然后我尝试了这个:

sudo chown root:root ~/

没有输出然后

sudo chmod -R  777 ~/

这基本上解决了我的问题,但是对于两个返回的文件

chmod: cannot access `/home/leo/.gvfs': Permission denied
chmod: cannot access `/home/leo/.config/google-chrome/.com.google.Chrome.Z07tM9': No    such file or directory.

那只是个坏主意。

答案1

您第一次尝试修复它只是缺失了'{}'但随后事情变得更糟......

几乎没有任何理由要求任何文件具有权限,并且在使用时777几乎也没有一个很好的标志用例,因为我们需要目录是可执行的才能进入或声明它们,但我们很少希望所有文件都是可执行的。-Rchmod

首先,chown你的主目录。以你自己的身份登录,运行

sudo chown -R $USER: ~

如果你只是运行了类似

chmod 600 ~

然后将其还原:

chmod 755 ~

但是,如果你做了一些非常不明智的事情,比如(不执行) chmod -R 777 ~, 那么修复权限将会更加棘手。

find对此非常有用。您家中的目录权限会有所不同,可能是、或700775为了谨慎起见,我会这样做:755750

find ~ -type d -exec chmod 700 '{}' +

因此只有您可以访问目录。您可以改用755并更正这些模式:

chmod 700 ~/.local ~/.cache ~/.dbus ~/.thumbnails ~/.gconf ~/.thunderbird

然后是文件。您的主目录中可能有一些可执行脚本,但一般来说文件不应是可执行的。您主目录中的大多数文件可能都有664权限644,但为了安全起见,您可能希望使用

find ~ -type f -exec chmod 600 '{}' +

这样就只有您可以访问您主目录中的文件和目录。如果您愿意,请使用644,然后更正文件Xauthority和其他一些文件的模式:

chmod 600 ~/.Xauthority ~/.ICEauthority ~/.bash_history ~/.local/share/keyrings/* ~/.xsession-errors ~/.lesshst

如果你想要非常彻底地检查,你可以安装一个新的 Ubuntu VM 或检查另一台机器的权限~……例如

find ~ -type d -not -perm 700 -exec stat -c "%n %a" {} \; | tee dirperms

find ~ -type f -not -perm 600 -exec stat -c "%n %a" {} \; | tee fileperms

将生成您可以用来进行更正的列表。

相关内容