Сравните два файла и получите соответствующие результаты

используйте ls -l -d / tmp / , и вы увидите, что разрешения установлены на drwxrwxrwt , т.е. d : каталог, rwx : разрешения на чтение, запись и выполнение, разрешенные для владельца, группы и других (в этом порядке), t липкий бит, т.е. только владельцам файлов разрешено удалять файлы (но не группе, несмотря на разрешения). Оставим на время липкий момент и упомянем, что каталог должен быть исполняемым, чтобы быть доступным.

Теперь, если вы хотите ограничить права записи для других (владелец и группа - root), используйте chmod o-w / tmp / (как root, т.е.используя sudo )

ОДНАКО: / tmp / довольно важно для некоторых процессов, которым требуются временные данные, поэтому я бы посоветовал вообще не ограничивать разрешения для этой папки!

Поскольку вы направляетесь в определенную папку, проще всего было бы вручную создать эту папку (как root), а затем ограничить для нее права доступа:

sudo mkdir /tmp/badfolder
sudo chmod -R o-w /tmp/badfolder/

Боковое примечание по chmod: -R делать рекурсивно, u, g, o: пользователь, группа, другое, + - добавить / удалить права доступа к r, w, x на чтение, запись, выполнение. Т.е. чтобы разрешить членам группы писать в файл, используйте chmod g + w file .


Обновление:

Если процесс выполняется от имени пользователя root, вам также необходимо установить атрибут «i». Из man chattr

Файл с атрибутом `i 'не может быть изменен: его нельзя удалить или переименовать, нельзя создать ссылку на этот файл и в файл нельзя записать данные. Только суперпользователь или процесс, обладающий возможностью CAP_LINUX_IMMUTABLE, может установить или очистить этот атрибут.

Это также применимо, если папка не принадлежит пользователю root. Просто используйте

chattr +i /tmp/badfolder

Используйте chattr -i / tmp / badfolder для его удаления и -R для рекурсивного выполнения любого из них.

3
17.12.2017, 15:56
0 ответов

Теги

Похожие вопросы