
В дистрибутивах Ubuntu (или даже в некоторых BSD) права доступа к /etc/passwd
файлу по умолчанию составляют 644.
На это указывается в таких вопросах, какэтотэто /etc/passwd
своего рода база данных пользователей, и удобно сделать ее общедоступной.
Но этот файл может также содержать (возможно) зарезервированную информацию о пользователях вГЕКОСполе. Разве эта информация не должна быть защищена?
Или есть другой способ (более новый, чем GECOS) безопасного хранения такого рода данных?
решение1
Персональные данные /etc/passwd
— это имена пользователей, адреса офисов и номера телефонов. Это версия телефонной книги компании 1970-х годов. Когда разрабатывался Unix, ожидалось, что люди, имеющие учетную запись на одной машине, будут членами одной организации (коллеги, однокурсники и т. д.).
Если вы не хотите, чтобы ваши пользователи имели доступ к такого рода информации, не храните ее в базе данных пользователей. Пользователи могут редактировать свою личную информацию с помощью команды chfn
.
Если вы не хотите, чтобы ваши пользователи знали что-либо о других пользователях, в том числе не хотите, чтобы они могли просматривать учетные записи пользователей, настройте отдельную виртуальную среду для каждого пользователя.
решение2
Я бы согласился. /etc/passwd
уже давно не содержал очень конфиденциальных данных. Я считаю, /etc/shadow
что там должно храниться много данных, которые нужно защищать.
решение3
Есть несколько новых способов хранения такого рода данных, включая, но не ограничиваясь LDAP и NIS. Вопрос, который вы должны задать, заключается в том, почему там /etc/passwd
вообще находится частная информация.