LINUX.ORG.RU

Права на домашний каталог

 ,


0

1

Здравствуйте! У меня /home на ext4, монтируется без особых опций (в выводе mount только: rw,relatime,data=ordered). Права на /home/user: drwxr-xr-x и права на многие файлы внутри моего домашнего каталога также позволяют другим пользователям (не мне и не членам группы) просматривать эти файлы. Как я понимаю, массово эти права отнять можно с помощью

chmod -R o-rwx /home/user

А как сделать так, чтобы впредь файлам, созданным внутри /home/user не устанавливались права чтения/записи/исполнения для «others»? ЕМНИП, есть такая команда. Заранее спасибо.

UPD. А после того, как я сделал

chmod -R o-rwx /home/user

ведь, наверное, никто в домашний каталог мой и не пройдёт, нужно ли озадачиваться ещё umask, да и следовало ли вообще -R добавлять?

★★

Последнее исправление: Norong (всего исправлений: 2)

Ответ на: комментарий от Deleted

Такой справочной страницы нет, но я понял намёк)

А той команды

chmod -R o-rwx /home/user

достаточно, чтобы ВСЕ файлы обработались, или могут быть нюансы?

Norong ★★
() автор топика
Ответ на: комментарий от Norong

Такой справочной страницы нет

Есть, только по умолчанию редко ставят.

manpages-dev: /usr/share/man/man2/umask.2.gz
manpages-posix-dev: /usr/share/man/man3/umask.3posix.gz
i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Прочитал про umask в контексте sudoers на арчвики. Для пользователя я устанавливаю 0027, для root остаётся его классический 0022. Получается, что без изменения sudoers, если я получу права root через sudo, umask станет 0022? В принципе, меня устраивает такой расклад, мне лишь надо, чтобы для самого моего пользователя umask был 0027. Или я что-то не понимаю?

Norong ★★
() автор топика
Ответ на: комментарий от Norong

Umask наследуется, когда выполняешь команду через sudo. Если через него устанавливать софт, с твоим umask получатся исполняемые файлы с правами 0750, принадлежащие root:root. Потом ты просто не сможешь их запускать от своего пользователя.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

При umask 0027 в .zshrc у меня от пользователя umask кажет 027 (это нормально?) и от sudo тоже 027. Получается, надо в sudoers сделать

Defaults umask = 0022
Defaults umask_override
при том, что от рута кажет umask 022?

Norong ★★
() автор топика
Ответ на: комментарий от Norong

Ты ведь понимаешь, что проверить у себя на системе будет быстрее, чем сообщение на форуме оформить? И надёжнее.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Так и сделал (извини, немного нервничаю, поэтому так много пишу). Теперь при sudo тоже 022. Если я успел между внесением 027 в .zshrc и внесением поправки в sudoers установить пакет софта через sudo, его надо переставить?

Norong ★★
() автор топика
Последнее исправление: Norong (всего исправлений: 1)
Ответ на: комментарий от Norong

Если софт не работает, то стоит изменить права. Переустановить программу — самый простой способ. Хотя кому-то проще руками сделать. Особенно в source-based дистрибутивах, где переустановка может включать в себя компиляцию из исходников.

i-rinat ★★★★★
()
26 августа 2016 г.
Ответ на: комментарий от i-rinat

Добрый день, это снова я.

Сейчас смотрел в домашний каталог и обнаружил, что на некоторых недавно созданных каталогах права типа «drwxr-xr-x», что не соответствует выводу umask: 027. umask указан в начале .zshrc, zsh суть моя оболочка в соответствии с /etc/passwd, ну и в xfce4-terminal она же указана. Пожалуйста, подскажи - чяднт? Мб umask надо в другом месте прописать?

Norong ★★
() автор топика
Ответ на: комментарий от Norong

Я тут немного покопал, и обнаружилось, что у меня в системе umask перестал действовать. Директива была в .profile, который в какой-то момент перестал исполняться. Перенос в .bashrc помогает, но работает только в том случае, если bash выполняется. (То же и для других оболочек).

И вот тут кроется главный облом. В GUI не все программы запускаются через оболочку, поэтому иногда сохраняемые файлы будут с обычными правами. Но если запускать тот же редактор из командной оболочки, с правами у сохраняемых файлов всё будет в порядке.

Так как umask это свойство процесса, нужно установить его у самого первого процесса, выполняемого от имени пользователя в рамках сессии. А значит, нужно смотреть в сторону PAM.

i-rinat ★★★★★
()
Ответ на: комментарий от anonymous

А что там смотреть?

Ну, например, как сделать это только для одного пользователя. Я в PAM ни бум-бум, в мане pam_umask такого не нашёл.

Готового решения нет — значит надо копать.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat
       The PAM module tries to get the umask value from the following places in the following order:

       ·   umask= argument

       ·   umask= entry in the user's GECOS field

       ·   UMASK= entry from /etc/default/login

       ·   UMASK entry from /etc/login.defs

GECOS работает, я проверял :) Потом бросил эту затею с umask, правда.

anonymous
()
Ответ на: комментарий от i-rinat

Директива была в .profile, который в какой-то момент перестал исполняться. Перенос в .bashrc помогает, но работает только в том случае, если bash выполняется. (То же и для других оболочек).

Можно прописать ещё в .xinitrc. Только для иксов, конечно. Но вне иксов будет всё через шелл, а там уже прописано. Это, конечно, если .xinitrc вообще используется, а не какой-нибудь хитрый DM.

Psych218 ★★★★★
()
Ответ на: комментарий от i-rinat

«Мало толку» это одно, а вот когда начинается перманентный геморрой с правами на файлы, которые ты создаёшь за пределами хомяка, становится сразу понятно, что идея была не очень. А так да, права на сам домашний каталог решают проблему полностью и без побочных эффектов.

anonymous
()
Ответ на: комментарий от i-rinat

А какими в итоге должны быть права на домашний каталог? rwxr-x--- сойдёт, я думаю. Кстати, мне про директории не до конца ясно - я правильно понимаю, что если для кого-то нет доступа на x (execute) директории, он вообще ничего ниже этой директории не может ни читать, ни писать, ни исполнять?

Norong ★★
() автор топика
Ответ на: комментарий от Norong

А какими в итоге должны быть права на домашний каталог? rwxr-x--- сойдёт, я думаю.

Да, сойдёт.

если для кого-то нет доступа на x (execute) директории, он вообще ничего ниже этой директории не может ни читать, ни писать, ни исполнять?

Да. Для получения любого доступа к файлу во всех директориях до него должно быть право execute.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Большое спасибо, всё сделал! umask убрал назад туда, откуда взял.

Norong ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.