Почему я могу выполниться без полномочий чтения?

Почему я могу выполнить программы, не читая их?

$ echo 'echo "foo"' > test && chmod 100 test && ./test
foo
1
задан 27 October 2015 в 00:04

2 ответа

Я думаю, Ваша установленная тестовая команда и случай будут только работать под root (суперпользователь), на основе моих тестов с той же самой командой на моем поле Ubuntu Trusty.

Это - непривилегированная учетная запись:

[teward /home/teward/tmp/]% echo 'echo "foo"' > test && chmod 100 test && ./test
zsh: permission denied: ./test

Это как корень:

[god /home/teward/tmp/]# echo 'echo "foo"' > test && chmod 100 test && ./test
foo

(Относительно god на моей корневой подсказке: Я имею root и мой пользователь, использующий zsh как оболочка входа в систему. Мой PS1 для ZSH заменяет 'корень' 'богом' для пользователя root в моей системе, но это является все еще 'корневым'. Уровень полномочий обозначается символом направо от заключительной квадратной скобки - эти #, указывает, что корень, и % указывает на типичного пользователя, который является, как Вы знаете уровень полномочий)

, я думаю, что это вызвано тем, что 'корень' считают богом и может сделать почти что-либо. Перепроверьте пользователя, которого Вы используете.

3
ответ дан 3 December 2019 в 07:00

Поскольку Ваша оболочка должна считать файл для знания, что выполниться. При удалении доступа для чтения он не может читать, он так не знает то, что Вы хотите выполняемый.

1
ответ дан 3 December 2019 в 07:00

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

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