Назад | Перейти на главную страницу

Я только что сделал chmod -x chmod

Так что я сделал chmod -x chmod. Как я могу решить эту проблему? Как мне вернуть права на выполнение для chmod?

В Linux:

/lib/ld-linux.so.2 /bin/chmod +x /bin/chmod

http://www.slideshare.net/cog/chmod-x-chmod

Это основано на том факте, что права доступа к файлу назначения сохраняются, а не к исходному файлу, когда он копируется. Мы «заимствуем» разрешения ls:

cp /bin/ls /tmp/chmod.tmp
cp /bin/chmod /tmp/chmod.tmp
mv /tmp/chmod.tmp /bin/chmod

Используйте python:

# python
Python> import os
Python> os.chmod("/bin/chmod",0755)

Используя Perl:

% perl -e 'chmod 0755, qw[/bin/chmod]'

setfacl -m u::rx /bin/chmod

... предоставит владельцу права на выполнение.

Но /lib/ld-linux.so.2 трюк аккуратный. :)

Это странно ... Я видел нечто подобное несколько дней назад через чей-то твит ...

http://www.slideshare.net/cog/chmod-x-chmod

Если вы находитесь в системе, где /bin/chmod не может быть загружен динамическим компоновщиком:

# /bin/mv /bin/chmod /bin/chmod.tmp
# install -p -m 755 /bin/chmod.tmp /bin/chmod

Это работает в моей системе MacOS X.

/ спасение / chmod 555 / bin / chmod

Я думаю, вы также можете использовать mtree.

Подозреваю, что это не настоящий вопрос: http://www.slideshare.net/cog/chmod-x-chmod

  • Переустановите chown: sudo apt-get install --reinstall coreutils
  • perl -e 'chmod 0755, "chmod"'
  • больше примеров на слайдах

создать новый chmod и использовать его для исходного

umask 000
cat chmod > ~/my-chmod
~/my-chmod a+x chmod