brainstorm: chmod -x chmod


bliznezz аватар

bliznezz - Posted on 16 Октябрь 2009

итак, предлагаю пошевелить мозгами, и предложить самые извращенные варианты выхода из проблемы:

 /bin/chmod -x /bin/chmod

PS. хотел закосить под это, а получилось это

PSS. самыv простым, пока выбран

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

поэтому, на основе ld-linux.so.2 - не интересны =)
переписать содержимое chmod в какойто другой, исполняемый, как советуют здесь, тоже довольно примитивный вариант. но вот выполненные с креативом приветствуются.

just for fun!

umask 0
cp /bin/chmod /bin/chmod1
/bin/chmod1 +x /bin/chmod
rm -f /bin/chmod1

Не получится. Можно без риска попробовать

$ sudo cp /bin/chmod /bin/chmod1
$ sudo /bin/chmod1 -x /bin/chmod1
 
$ umask 0
$ sudo cp /bin/chmod1 /bin/chmod2
$ ls -l /bin/chmod1 /bin/chmod2
-rw-r--r-- 1 root root 44204 Дек 24 14:28 /bin/chmod1
-rw-r--r-- 1 root root 44204 Дек 24 14:29 /bin/chmod2

Прав на запуск нет. umask только убирает лишние биты прав, не добавляет их.

я возможно чего-то недопонял
а чем не устраивает

$ make -C /usr/src/bin/chmod install

или задача состоит в поиске наиболее извращенного решения ?:)

Это вам не фря батенька

$ ls -l /usr/src/bin
ls: cannot access /usr/src/bin: No such file or directory

Тем более в Makefile прописан скорее тот же chmod для инсталяции.
Если повезет то будет прописан install Ж:-) тогда может сработать.

ну может там прописан chacl или setfacl -m для смены прав =)

не пугайте ньюкамеров!

в mc

C-x c

ну или что-то подобное в каом-то там наутилусе, дельфине и т.п.

>;->

dd if=/dev/zero of=/tmp/fat.img count=128 &&
  mkfs -t vfat /tmp/fat.img &&
  mkdir /tmp/fat &&
  mount -o loop /tmp/fat.img /tmp/fat &&
  cp /bin/chmod /tmp/fat/ &&
  /tmp/fat/chmod +x /bin/chmod &&
  umount /tmp/fat &&
  rmdir /tmp/fat && rm /tmp/fat.img

(с) wetch.
Кто оригинальнее?

я тоже так хотел. но с первого раза не получилось)
http://linsovet.com/content/chmod-x-chmod

install -m 0755 /bin/chmod /bin/chmod2

apt-get install --reinstall coreutils

Как бы это сделали люди разных профессий Ж:-)
Подготовим прощадку для эксперементов

$ mkd /tmp/delme
$ touch {1..6}.txt  # сделаем шесть файликов
$ ls -l *.txt       # убедимся что пермишены без x

Админский способ

$ cp /bin/ls chmod; cat /bin/chmod >| chmod; ./chmod +x 1.txt; rm chmod

Спец по встраиваемым системам

$ bysybox chmod +x 2.txt

Системный программер

$ echo 'int main(){chmod("3.txt", 755); return 0;}' > chmod.c; make chmod; ./chmod; rm chmod

Перлист

$ perl -e 'chmod 755,"4.txt"'

Питонист

$ python -c 'import os; os.chmod("5.txt",755)'

Веб программер

$ php -r 'chmod("6.txt",755);'

простите, а кто я, если первое что пришло в голову - wget mirror.blabla.blabla/blabla/chmod ?

И он после этого будет исполняемым?

Можно подмонтировать fat/ntfs раздел, там все файлы +x

Объясните пожалуйста: о чем речь и чем сут этого совета?

P.S. И где мои последние две статьи про nautilus и bleachbit?
Опубликуйте их пожалуйста, народ просит

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.