Каково первое число в аргументе chmod из 4-х чисел (например, `chmod 4555`)?

Когда я устанавливаю программу, она рекомендует мне делать chmod 4555. Хорошо, я знаю о значениях, если я просто использую три числа. Например,

chmod 555 test-file

даст

-r-xr-xr-x

4 для записи, 2 для чтения и 1 для выполнения. Но, когда я это делаю:

chmod 4555 test-file

, он дает мне

-r-sr-xr-x

Итак, x изменен на s. Что это значит?

1
задан 3 February 2015 в 21:33

1 ответ

Он называется бит SETUID. если он установлен chmod 4555 test-file (в вашем случае), тогда test-file может быть выполнен любым пользователем, как если бы пользователь являлся владельцем файла.

Когда бит SETUID затем установите Идентификатор пользователя (EUID) пользователя, который не имеет разрешения на выполнение файла в противном случае (с помощью обычных разрешений, например 0744), принимает EUID владельца файла и может выполнить файл.

7
ответ дан 23 May 2018 в 23:33

Другие вопросы по тегам:

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