Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Замена rm на shred или wipe. Возможно?  (Прочитано 2714 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 1cv7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Замена rm на shred или wipe. Возможно?
« : 28 Сентября 2011, 15:39:35 »
Можно ли и если да то как заменить команду rm на команду shred. Чтоб при запуске rm из любых мест (терминал или графика) запускалась вместо нее shred.

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #1 : 28 Сентября 2011, 15:47:26 »
наверное, с помощью алиасов bash.

Но, видимо, при этом нужно пользоваться bash, хотя точно не знаю.

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #2 : 28 Сентября 2011, 16:45:32 »
Можно проще. "По умолчанию" PATH имеет вид:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Соответственно, то, чего Вы хотите добиться, можно сделать так:

sudo ln -s /usr/bin/shred /usr/local/bin/rm
(При этом запуск rm вида /bin/rm все равно будет приводить к запуску "штатного" rm. Если и это нужно поменять - нужно переименовать "штатный" rm и сделать линк на /bin/rm, а не на /usr/local/bin/rm)
« Последнее редактирование: 28 Сентября 2011, 16:49:02 от Karl500 »

Оффлайн 1cv7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #3 : 28 Сентября 2011, 17:08:56 »
А параметры?
Параметры то у этих команд разные... Значит при вызове rm из гнома, фиктивный rm, т.е. shred получит не те параметры что ему требуются...

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #4 : 28 Сентября 2011, 17:13:34 »
Это верно: для несовпадающих опций будут проблемы. Но каким образом тогда Вы хотите заменить одну команду на другую?

Оффлайн arrecck

  • Старожил
  • *
  • Сообщений: 1725
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #5 : 28 Сентября 2011, 17:16:03 »
для каких целей это нужно?

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #6 : 28 Сентября 2011, 17:19:58 »
Пятиминутное (буквально) гугление дало нужный вариант:

sudo apt-get install secure-delete

srm syntax is like rm command. Read man srm. (отсюда: http://www.cyberciti.biz/tips/linux-how-to-delete-file-securely.html )
« Последнее редактирование: 28 Сентября 2011, 17:23:46 от Karl500 »

Оффлайн 1cv7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #7 : 28 Сентября 2011, 18:28:28 »
для каких целей это нужно?

для целей безвозвратного удаления файлов. Но удаление это необходимо реализовать штатным средствами. Т.е. пользователь не должен напрягаться и думать, а должен просто нажать DEL или выбрать пункт удалить в гноме и файл должен удалиться не командой rm, а чем-то более надежным (в смысле без возможности восстановления)

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #8 : 28 Сентября 2011, 18:50:44 »
Главное — не забыть в гнуме корзину отключить, а то до rm дело может и не дойти :)

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #9 : 28 Сентября 2011, 18:51:56 »
А гном действительно использует утилиту rm? А не какую-нибудь функцию из стандартной библиотеки?
Делюсь знаниями, но их у меня мало!

Оффлайн 1cv7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #10 : 28 Сентября 2011, 19:05:02 »
А не какую-нибудь функцию из стандартной библиотеки?
А что он еще может использовать?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Замена rm на shred или wipe. Возможно?
« Ответ #11 : 28 Сентября 2011, 19:42:16 »
какую-нибудь функцию из стандартной библиотеки
Это наиболее вероятно.

Оффлайн 1cv7

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #12 : 28 Сентября 2011, 19:47:52 »
Как проверить, подскажите

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Замена rm на shred или wipe. Возможно?
« Ответ #13 : 28 Сентября 2011, 19:55:47 »
Скачать сорцы наутилуса, к примеру, и проанализировать.

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: Замена rm на shred или wipe. Возможно?
« Ответ #14 : 28 Сентября 2011, 20:15:23 »
А не какую-нибудь функцию из стандартной библиотеки?
А что он еще может использовать?

Вот 2 варианта:

Код: (bash) [Выделить]
m@a70:~$ cat >removv.c
#include <unistd.h>
#include <stdlib.h>

int main(void) {
 unlink("file1");
 system("rm file2");
 return 0;
}
m@a70:~$ make removv
cc     removv.c   -o removv
m@a70:~$ cat >file1
aaa
m@a70:~$ cat >file2
bbb
m@a70:~$ ls file*
file1  file2
m@a70:~$ ./removv
m@a70:~$ ls file*
ls: невозможно получить доступ к file*: Нет такого файла или каталога
m@a70:~$

Файлы удаляются двумя способами: с помощью внешней утилиты rm (которая, в свою очередь вызывает функцию операционной системы unlink),
либо с помощью обращения к системе напрямую.

Скачать сорцы наутилуса, к примеру, и проанализировать.

Чето мне это кажется малореальним :-[

(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 28 Сентября 2011, 20:28:03:
Как проверить, подскажите

Ну например на место /bin/rm положить свой скрипт. Только ОСТОРОЖНО! Иначе можно дров хороших наломать! Скрипт должен что-нибудь писать в лог, а потом вызывать настоящий rm (его следует переименовать в какой-нибудь rm1). После этого нажимаете в наутилусе del или Shift-del, потом смотрите лог. А потом переименовываете обратно /bin/rm1.

Вообще-то я, как и arcfi думаю, что это функция из стандартной библиотеки —

Это наиболее вероятно.
« Последнее редактирование: 28 Сентября 2011, 20:28:03 от inkblack »
Делюсь знаниями, но их у меня мало!

 

Страница сгенерирована за 0.104 секунд. Запросов: 26.