Защищать домашние каталоги с точками, т.е. прикреплять их, но игнорировать родительскую собственность?

Очевидно, что я владею своим домашним каталогом. Но это проблема, если я хочу защитить некоторые из его дочерних элементов (в частности, точечные папки) липким битом от случайностей. Потому что липкий бит в моем домашнем каталоге защищает его содержимое от меня только в том случае, если ни они, ни их родительские файлы не принадлежат мне. Я могуточечные папки, но это, очевидно, не мешает мне переименовывать, перемещать или удалять их, если я владею домашней папкой.

Я уверен, что есть какой-то способ сделать то, что я хочу, под Linux. Вопрос в том, какой путь наименее окольный? Я бы предпочел, чтобы я мог избежать использования таких вещей, как.

Очевидно, я также по-прежнему хочу иметь возможность свободно перемещать, создавать и удалять файлы в доме, кроме указанных папок, а также содержимое указанных папок. Мне просто нужно, чтобы эти папки оставались там, где они есть.

Обоснование:

Причина, по которой мне нужно защитить свои точечные папки от самого себя, заключается в том, что я использую паршивую эмуляцию мыши Steam Deck. Очень легко случайно перетащить объект вместо того, чтобы просто щелкнуть по нему. Случайное перемещение вашего каталога при использовании среды рабочего стола, которая постоянно читает и записывает в этот каталог, очень раздражает. Представьте себе, что в такой ситуации вы не можете запустить терминал, потому что все ярлыки перестали работать. Достаточно сказать, что переключение на консоль с помощью ctrl+alt+f-клавиш на самом деле не вариант, если у вас нет настоящей клавиатуры, а на виртуальной клавиатуре нет даже f-клавиш и вы все равно не можете ее запустить. потому что Steam просто перестал работать, потому что используетпапка для всего.

1 ответ

Мне придется провести дополнительное тестирование, но пока кажется, что это работает прилично:

  1. Установите липкий бит на дом:

            chmod +t ${HOME}
    
  2. Убедитесь, что вы входите в группу владельцев дома и у группы есть разрешение:

            chown :<yourgroup> ${HOME}
    chmod 770 ${HOME}
    
  3. Предоставьте право собственности на ваш домашний каталог:

            sudo chown root ${HOME}
    
  4. свою группу в каталоге, который вы хотите защитить, и установитеrootкак владелец:

            chown :<yourgroup> ${HOME}/.local
    chmod 770 ${HOME}/.local
    sudo chown root ${HOME}/.local
    

Объяснение:

Владение root-правами в вашем домашнем каталоге кажется странным, но группа гарантирует, что вы по-прежнему сможете редактировать его содержимое. Но содержимое, принадлежащее пользователю root, защищено благодаря прикреплению.

Если вы теперь защитите одну из подпапок, предоставив право собственности пользователю root, вы больше не сможете ее переименовывать, перемещать или удалять. Но если вы хотите сохранить возможность редактировать содержимое этой подпапки, вам сначала необходимо предоставить группеrwx.

Вкратце: владелец (как липкой папки, так и ее дочерних элементов) отменяет защиту от закрепления, а группа - нет.

Предостережения:

Отсутствие права собственности пользователя на ваш домашний каталог меня не совсем устраивает, но это самое простое решение, которое я мог придумать.

Кроме того, файловый менеджер Dolphin, похоже, не понимает, что липкий переопределяет групповые разрешения для подпапок (он понимает другие липкие механизмы) и по-прежнему отображает опцию переименования/перемещения/удаления в контекстном меню, но операция завершится неудачно.

Изменить: Судя по всему, стикер ничего не дает в этой настройке, он только защищает. Поэтому устанавливать его на подпапки бессмысленно. Я соответствующим образом отредактировал свой ответ.

Другие вопросы по тегам