Я только что добавил нового, непривилегированного «настольного пользователя», и с удивлением обнаружил, что он может видеть файлы в моей домашней папке.
Что является рациональным для настройки таких слабых разрешений?
Я только что добавил нового, непривилегированного «настольного пользователя», и с удивлением обнаружил, что он может видеть файлы в моей домашней папке.
Что является рациональным для настройки таких слабых разрешений?
Ответы:
В Public
вашем домашнем каталоге ( /home/user
) существует папка для обмена файлами с другими пользователями. Если другой пользователь хочет получить доступ к этой Public
папке, бит выполнения для мира должен быть установлен в домашнем каталоге.
Если вам не нужно разрешать другим пользователям доступ к вашей домашней папке (другим пользователям или пользователям, например, www-data
для веб-сервера), у вас все будет в порядке chmod o-rwx "$HOME"
(удалите чтение / запись / выполнение из «другого», что эквивалентно тому, chmod 750 "$HOME"
что разрешение по умолчанию равно 750 ). В противном случае вам также следует изменить этот umask
параметр, чтобы вновь созданные файлы по умолчанию не получали разрешения на чтение для всего мира.
Для общесистемной конфигурации отредактируйте /etc/profile
; индивидуальные настройки могут быть настроены в ~/.profile
. Я предпочитаю одинаковую политику для всех пользователей, поэтому я отредактирую /etc/profile
файл и добавлю строку:
umask 027
Вам необходимо повторно войти в систему, чтобы применить эти изменения, если вы не в оболочке. В этом случае вы можете запустить umask 027
в оболочке.
Теперь, чтобы исправить существующие разрешения, вам нужно удалить разрешения на чтение / запись / выполнение из других:
chmod -R o-rwx ~
Теперь, если вы решили открыть общий ~/Public
доступ к папке, выполните следующие команды:
chmod o+x ~
- разрешить всем спускаться в каталог ( x
), но не получать список каталогов ( r
не следует добавлять)find ~/Public -type f -exec chmod o+r {} \;
- разрешить всем читать файлы в ~/Public
find ~/Public -type d -exec chmod o+rx {} \;
- разрешить всем спускаться в каталоги и перечислять их содержимоеЕсли вы используете GNU coreutils (например, в Ubuntu, а не во встроенной системе, имеющей только busybox
), тогда две предыдущие команды, использующие find
и chmod
могут быть заменены этой единственной командой, которая рекурсивно делает папки и файлы читаемыми (и дополнительно добавляет команду execute (нисходящую) немного только для каталогов ):
chmod -R o+rX ~/Public
По словам сотрудника Ubuntuforms.org , это облегчает обмен файлами между новыми пользователями.
Вы можете изменить разрешение на 700 или 750, если не хотите, чтобы файлы читались и выполнялись другими.
Команда это:
chmod 750 $HOME
Примечание: Ubuntu по умолчанию 755
«Большинство пользователей систем Ubuntu либо имеют исключительное право пользования машиной (личным ноутбуком), либо делятся ими с друзьями и родственниками. Мы предполагаем, что люди, которые используют эту машину, либо доверяют, либо могут взломать машину (загрузка). от USB!) тривиально. В результате мало что принесет пользу "
... от удаления этих разрешений.
Вы можете прочитать раздел « Управление пользователями» в Руководстве по серверу Ubuntu, в котором описаны необходимые детали. Профиль пользователя Безопасность пункт, скорее всего , ответит на ваши вопросы - официально.
Я думаю, что ответ Лекенштейна можно улучшить, заменив две последние команды поиска на chmod с помощью опции -X (обратите внимание на заглавную букву X). Две команды поиска могут быть заменены на
chmod -R o+rX ~/Public
Это соответствующим образом различает файлы и каталоги, но дает дополнительный эффект, позволяя другим запускать исполняемые файлы.
Поскольку вас интересует конфиденциальность (судя по примененным тегам), вполне возможно, что установка разрешений недостаточна (см . Ответ Игниса ). Ответ может быть что-то вроде зашифрованного домашнего каталога . Это решение специально разработано для защиты от атак другого пользователя компьютера. Конечно, он не сможет помешать другим пользователям повредить ваши файлы (просто удалив ~/.Private
каталог, удалив при этом все ваши файлы), но он не сможет смонтировать каталог и увидеть файлы без вашего пароля.
Самый простой способ добиться этого во время процесса установки - установить флажок «Зашифровать ваш домашний каталог», и вам нужно выбрать его.
Поскольку маловероятно, что вы захотите переустановить только для этого (и поскольку он по-прежнему несет в себе все риски, связанные с выполнением этого без переустановки), вы можете сделать следующее:
sudo apt-get install encryptfs-utils
encryptfs-migrate-home
Если вам действительно нужен высокий уровень безопасности: переустановите и убедитесь, что вы выбрали вариант шифрования всего диска. Для этого потребуется пароль, чтобы даже запустить машину. Вы можете, конечно, также зашифровать свою домашнюю папку еще раз, с некоторым снижением производительности; хотя не заметно для нормального использования.
Обратите внимание, что шифрование вашей домашней папки отключит такие приложения, как Dropbox. Dropbox не является безопасным хранилищем, которое в любом случае соблюдает конфиденциальность, так что это может быть банальным моментом. Однако, если вам действительно нужно безопасное и частное хранилище в облаке, я лично рекомендую MEGAsync, поскольку только у вас будут ключи для доступа к данным.