используйте 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
для рекурсивного выполнения любого из них.