LINUX.ORG.RU

chmod 000 /bin/chmod

 , ,


1

3

Сабж. Я нашел два пути - реинастал coreutils и копия бинарника из какого-либо источника. Но говорят, что есть более красивый вариант. Так ли это? Не сплю, худею, мучаюсь.

root# dd if=/dev/zero of=test.img bs=512M count=1
root# mkfs.vfat test
root# mount -t vfat -o loop test /mnt
root# cp /bin/chmod /mnt
root# cd /mnt ; ./chmod --help

Это ?

wasted ()
Ответ на: комментарий от wasted
chmod 000 test
cp test test2
cp: cannot open ‘test’ for reading: Permission denied
xtraeft ★★☆☆ ()
Ответ на: комментарий от xtraeft

Знаю, уже увидел ошибку. Это при таком:

cp /bin/chmod./
ls -la chmod
-rwxr-xr-x 1 root root 57072 июл 19 04:12 chmod*
chmod a-x chmod
ls -la chmod
-rw-r--r-- 1 root root 57072 июл 19 04:12 chmod
./chmod
zsh: Отказано в доступе: ./chmod 

Пропустил 000 в посте.

wasted ()
Ответ на: комментарий от wasted

Если бы было чтение, то можно было попробовать через /lib/ld-linux.so

xtraeft ★★☆☆ ()
Ответ на: комментарий от xtraeft
ls -la chmod
-rwxr-xr-x 1 root root 57072 июл 19 04:12 chmod*
chmod 000 ./chmod
ls -la chmod
---------- 1 root root 57072 июл 19 04:12 chmod

python
>>> import os
>>> os.chmod('/tmp/chmod', 0755)
ls -la chmod
-rwxr-xr-x 1 root root 57072 июл 19 04:12 chmod*
wasted ()
Ответ на: комментарий от xtraeft

Хотя это только копия во временной папке, но вот с оригиналом, оно не меняет:

id -u
0
ls -la /bin/chmod
-rwxr-xr-x 1 root root 57072 фев 27  2013 /bin/chmod*
/bin/chmod 000 /bin/chmod
/bin/chmod: изменение прав доступа для «/bin/chmod»: Операция не позволена
Придерживаюсь мнения, что это где-то моя ошибка.

wasted ()

Скопируй chmod в любой другой исполняемый файл.

Gotf ★★★ ()
Ответ на: комментарий от Gotf

Чтобы chmod скопировать нужно его прочитать, а у него прав нет.

kostik87 ★★★★★ ()

python -c «import os;os.chmod('/bin/chmod',0o777)»

anonymous ()
Ответ на: комментарий от kostik87

рут клал на права, а без рута он никак ничего не сделает

anonymous ()
Ответ на: комментарий от xtraeft

куку троллюша

# chmod 0 test
# cp test test1
# l test*
---------- 1 root root 0 июл 19 13:10 test
---------- 1 root root 0 июл 19 13:10 test1

anonymous ()
Ответ на: комментарий от anonymous

Да, я ошибся, проверил сейчас на дебиане с ext4 от рута - тот же результат, что и у тебя.
До этого пробовал от обычного пользователя.

xtraeft ★★☆☆ ()
Последнее исправление: xtraeft (всего исправлений: 1)
#include <sys/stat.h>

int main(void)
{
    chmod("/bin/chmod", 0755);
    return 0;
}

Делов-то.

mtk ()
Ответ на: комментарий от wasted

Это больше похоже на xattr.

Операция не позволена != Отказано в доступе

anonymous ()
Ответ на: комментарий от anonymous

Это больше похоже на xattr.

Забыл снять:

chattr -i /bin/chmod
chmod 000 /bin/chmod
ls -la /bin/chmod
---------- 1 root root 57072 фев 27  2013 /bin/chmod
wasted ()

Линуксом балуетесь, ну ясно всё с вами :)

RedEyedMan4 ★★★★★ ()
Ответ на: комментарий от kostik87

Если он может снять «x» с /bin/chmod, то рут у него есть. А значит, никаких проблем с чтением/записью любых файлов нет.

Gotf ★★★ ()

sudo busybox chmod 0755 /bin/chmod

Ps. Бизибокса в системе может не быть только у ССЗБ.

border-radius ()

Про acl никто и не вспомнил.

roman77 ★★★★★ ()
Ответ на: комментарий от border-radius

только ссзб не знают ни одного яп и полагаются на busybox

anonymous ()
Ответ на: комментарий от anonymous

Есть системы без ничего, с одним бизибоксом и парой узкоспециальных прог.

border-radius ()
Ответ на: комментарий от border-radius

busybox никому не упёрся, если есть альтернативы

anonymous ()

Скопировать записью поверх другого исполняемого.

ziemin ★★ ()
Ответ на: комментарий от anonymous

Для решения конкретно этой проблемы быстрее написать sudo busybox chmod, нежели портянку на сях/питоне/перле.

border-radius ()
Ответ на: комментарий от border-radius

никому не упёрлось держать busybox на случай именно этой конкретной проблемы, лол, и не потому что они ссзб

anonymous ()
Ответ на: комментарий от border-radius

ты не настоящий ко, вот прям на этот случай обязателен busybox, а у кого его нет — ссзб? srsly?

anonymous ()
Ответ на: комментарий от xtraeft

Чтение тоже запрещено? Тогда нужно ядерную функцию дёргать.

CYB3R ★★★★★ ()

chmod не единственная утилита в системе, которая может поменять права:

mv chmod chmod.old
install -m 0755 chmod.old chmod
В mc можно права менять (не связан с сhmod)

arson ★★★★★ ()
kam-gate bin # uname -a
Linux kam-gate.goldns.ru 3.15.5-gentoo-kam-gate-v0.3 #3 SMP Thu Jul 17 14:54:58 MSK 2014 x86_64 AMD Phenom(tm) II X4 B60 Processor AuthenticAMD GNU/Linux
kam-gate bin # id
uid=0(root) gid=0(root) группы=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),26(tape),27(video)
kam-gate bin # pwd
/bin
kam-gate bin # whereis chmod
chmod: /bin/chmod /usr/share/man/man1/chmod.1.bz2 /usr/share/man/man1p/chmod.1p.bz2 /usr/share/man/man2/chmod.2.bz2 /usr/share/man/man3p/chmod.3p.bz2
kam-gate bin # chmod 000 chmod
kam-gate bin # chmod
-bash: /bin/chmod: Отказано в доступе
kam-gate bin # chmod 755 chmod
-bash: /bin/chmod: Отказано в доступе
kam-gate bin # mv chmod chmod.old
kam-gate bin # install -m 0755 chmod.old chmod
kam-gate bin # chmod
chmod: пропущен операнд
По команде «chmod --help» можно получить дополнительную информацию.
kam-gate bin #


kam ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.