Вопрос Разрешения домашних файлов и папок не могут быть определены


Я пытался создать файл конфигурации по умолчанию для 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 было, несомненно, большой ошибкой. Я посмотрел разрешения на каждый файл и папку на моем Доме, и он говорит:

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.

ЭТО БЫЛО ПЛОХАЯ ИДЕЯ.


2
2017-08-25 18:11


происхождения


@Alex, нет, не используйте RT * M, мы не принимаем плохой язык каким-либо образом, замаскированный или нет. meta.stackexchange.com/questions/23628/... - Tim


ответы:


Сначала вы пытаетесь исправить это было просто отсутствует '{}' но тогда вы сделали вещи намного хуже ...

Для любого файла вряд ли существует 777 разрешений, и вряд ли можно использовать -R флаг при использовании chmod, потому что нам нужны каталоги для выполнения, чтобы вводить или ставить их, но мы редко хотим, чтобы все файлы исполнялись.

Первый, chown ваш домашний каталог. Записан

sudo chown -R $USER: ~

Если вы просто запускаете что-то вроде

chmod 600 ~

Затем верните его:

chmod 755 ~

Однако, если вы запустили что-то действительно нелогичное (например,не выполнять) chmod -R 777 ~, то исправление разрешений будет более сложным.

find очень полезно для этого. Разрешения для каталога в вашем доме будут отличаться и могут быть 700, 775, 755 или 750, Чтобы ошибиться на стороне осторожности, я бы сделал следующее:

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 или проверить разрешения ~ на другой машине ... что-то вроде

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

Будет генерировать списки, которые вы можете использовать для внесения исправлений.


2
2017-11-28 12:50