Я злоупотреблял sudo
.
Я создал действительно очень короткий временный каталог, которым я хотел поделиться с некоторыми пользователями в течение нескольких часов ... и я назвал этот каталог /some/path/tmp
К сожалению, я запустил sudo chown 777 -R /tmp
вместо sudo chown 777 -R tmp
, так что мой /tmp
файл теперь полностью публично.
Я использую общее /tmp
довольно часто (каждый день, почти каждый час) лично для коротких жизненных файлов, сценариев, множества сценариев.
Является ли это проблемой безопасности сейчас, когда она полностью предана гласности? Должен ли я изменить его обратно на более безопасные настройки или использовать общие настройки по умолчанию для дистрибутива Debian или Ubuntu - (я не знаю, какими они были)? Каковы правильные разрешения для /tmp
?
источник
chown
илиchmod
?chmod
. chown (как ch - own) - это владелец файлов, которым владеет файл. chmod (как ch - modifify) больше о том, кто может выполнять, или писать внутри, или читать содержимое файла.chown 777
который устанавливает право владения файлом для пользователя с идентификатором 777. Однако все ответы, включая принятый, работают сchmod
. Поскольку все они устанавливают одинаковое значение разрешения для всех пользователей (владелец, группа и т. Д.), Большинство эффектов владения файлами становятся неактуальными. Однако правильная команда для исправления результатаsudo chown 777 -R /tmp
должна бытьsudo chown root -R /tmp
.Ответы:
Нормальные настройки для
/tmp
1777, которыйls
показывает какdrwxrwxrwt
. То есть: широко открыт, за исключением того, что только владелец файла может удалить его (вот чтоt
означает этот дополнительный бит для каталога).Проблема с
/tmp
режимом 777 заключается в том, что другой пользователь может удалить созданный вами файл и заменить содержимое по своему выбору.Если у вас
/tmp
файловая система tmpfs, перезагрузка восстановит все. Иначе бегиchmod 1777 /tmp
.Кроме того, многие файлы
/tmp
должны быть приватными. Однако, по крайней мере, один каталог критически должен быть доступен для чтения всем:/tmp/.X11-unix
и, возможно, некоторым другим подобным каталогам (/tmp/.XIM-unix
и т. Д.). Следующая команда должна в основном исправить ситуацию:Т.е. сделать все файлы и каталоги закрытыми (удалить все разрешения для группы и других), но сделать сокеты X11 доступными для всех. Контроль доступа в этих сокетах осуществляется сервером, а не правами доступа к файлам. Могут быть и другие сокеты, которые должны быть общедоступными. Запустите,
find /tmp -type s -user 0
чтобы обнаружить корневые сокеты, которые вам могут понадобиться, чтобы сделать их общедоступными. Также могут быть сокеты, принадлежащие другим пользователям системы (например, для связи с системной шиной); изучить сfind /tmp -type s ! -user $UID
(где$UID
ваш идентификатор пользователя).источник
go-rwx
: нет разрешений для группы и других. Это устанавливает права доступаrwx------
(за исключением тех файлов, которые были созданы, поскольку ониchmod
могут иметь меньше разрешений, напримерrw-------
). Другими словами, файлы будут доступны только их владельцу./tmp/.[!.]*
должен включать точечные файлы, которые обычно существуют в/tmp
./tmp
и/var/tmp
должен иметь права на чтение, запись и выполнение для всех; но вы также обычно добавляете sticky-bit (o+t
), чтобы пользователи не могли удалять файлы / каталоги, принадлежащие другим пользователям. Такchmod a=rwx,o+t /tmp
должно работать.Что касается рекурсивного изменения разрешений ... Пока владелец / группа остается такой же, как и для файлов и каталогов, это не должно быть такой большой проблемой. Но, возможно, вы можете изменить разрешение всего, что находится под
/tmp
(не самой / tmp), чтобы обеспечить конфиденциальность пользователей, удаливrx
права других и, возможно, группы.Найти это хороший способ сделать это. От имени пользователя root выполните:
источник
/tmp/.X11-unix/*
читаемой для всех, иначе вы больше не сможете запускать X-приложения.chmod a=rwX,o+t /tmp -R
должен сделатьfind
магию.С машины CentOS 5.9.
источник