Случайно установлены неправильные разрешения для /usr

После небольшого тестирования я обнаружил, что следующая команда chmod должна дать вам ожидаемое поведение:

chmod -R ugo-x+Xr,ug+w FILE

Например, начнем с каталога и файла с правами доступа 775:

[root@testvm1 ~]# ls -ld testdir/
drwxrwxr-x. 2 root root 22 Dec 14 16:47 testdir/
[root@testvm1 ~]# ls -l testdir/testfile
-rwxrwxr-x. 1 root root 0 Dec 14 16:47 testdir/testfile

А теперь запускаем команду:

[root@testvm1 ~]# chmod -R --verbose ugo-x+Xr,ug+w testdir/
mode of ‘testdir/’ retained as 0775 (rwxrwxr-x)
mode of ‘testdir/testfile’ changed from 0775 (rwxrwxr-x) to 0664 (rw-rw-r--)

Каталог сохранил свое разрешение на выполнение, в то время как файл был лишен разрешения на выполнение.

Предполагая, что вам нужны разрешения 775 для всех каталогов и разрешения 664 для всех файлов, вы можете использовать следующий вариант, который также манипулирует разрешением на запись:

chmod -R ugo-wx+Xr,ug+w *

Исходная команда chmodв вопросе не лишает файл разрешения на выполнение. Эта разница в поведении, по-видимому, является результатом того, как оцениваются режимы. chmod mode1, mode2 fileдает тот же результат, что и chmod mode1 file; chmod mode2 file. Поскольку права пользователя оцениваются в первую очередь в исходной команде, разрешение на выполнение в группе/других категориях приведет к тому, что файл сохранит разрешения на выполнение. Пример показан ниже:

[root@testvm1 testdir]# chmod 775 testfile

[root@testvm1 testdir]# chmod -R --verbose u-x+Xrw,g-x+Xrw,o-x+Xr testfile
mode of ‘testfile’ retained as 0775 (rwxrwxr-x)

[root@testvm1 testdir]# chmod -R --verbose u-x+Xrw testfile
mode of ‘testfile’ retained as 0775 (rwxrwxr-x)
[root@testvm1 testdir]# chmod -R --verbose g-x+Xrw testfile
mode of ‘testfile’ retained as 0775 (rwxrwxr-x)
[root@testvm1 testdir]# chmod -R --verbose o-x+Xr testfile
mode of ‘testfile’ retained as 0775 (rwxrwxr-x)

Обратите внимание, что каталоги автоматически получают бит выполнения с помощью X, поэтому такое поведение влияет только на файлы.

0
07.12.2020, 23:34
1 ответ

What is the worst thing that could happen from accidentally setting the wrong permissions

  • Кто-то (, вошедший в систему на вашем компьютере, )мог изменить системные файлы, а затем некоторое время спустя, когда вы запускаете программу, например. lsон делает то, чего не должен.

Однако не все биты режима являются разрешениями. Там может быть несколько других эффектов, если они сделаны с другими файлами. Это может сделать вашу систему непригодной -для (или, по крайней мере, сделать такую ​​команду, как sudoнепригодной -.

0
18.03.2021, 22:44

Теги

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