На моем VPS установлена Fedora 15, и я хочу создать пользователя, который может только просматривать все файлы в системе, но может писать только в свою домашнюю папку.
Спасибо
Я ничего не знаю о Fedora, но в Unix / Linux вообще очень мало каталогов, которые доступны для групповой или мировой записи. Единственное, о чем я действительно мог думать в данный момент, это tmp
.
Вы можете запустить что-то вроде find -x / -type d -perm +go+w
(сделайте это для каждой из ваших смонтированных файловых систем), чтобы найти любой каталог, доступный для записи группе или миру.
Теоретически вы можете изменить разрешения /tmp
, затем установите TEMP
переменная среды в пользовательских ~/.profile
. Однако вы должны быть осторожны, чтобы не сломать какие-либо системные службы, которые сбрасывают привилегии, такие как apache, squid, postfix и т. Д.
Чтобы сделать это правильно, вам нужно изменить группу /tmp
к чему-то вроде wheel
, затем убедитесь, что все «пользователи системного демона» входят в эту группу (см. /etc/group
для аккаунтов с низкими идентификаторами пользователей, например lp
, postfix
, wwwrun
и т. д.) Некоторые из них могут использовать свой собственный временный каталог, но я не уверен, применимо ли это ко всем учетным записям.
Я также не понимаю, почему вы хотите ограничить запись, если этот пользователь все еще может читать все.
Современные операционные системы (Linux, Mac OS, Windows и т. Д.) Спроектированы таким образом, что пользователи, не являющиеся администраторами, обычно ничего не могут сломать, записывая данные за пределами своих домашних каталогов.
Если вас беспокоит использование файловой системы, либо поместите такие вещи, как / tmp, в отдельный раздел, либо используйте дисковые квоты.
Поэтому я не могу дать вам однозначного ответа на вопрос, можно ли запретить пользователю писать вне своего домашнего каталога - но есть приличное изменение, которое вы нарушаете больше, чем оно помогает.