Не способ использовать cp
и mv
, но используя функцию GNU bash
с readline
с обычным (emacs
- как) привязки клавиш:
Точно так же, как в emacs
, можно транспонировать слова с M-t (мета - высокий звук-), поэтому при использовании удара, отменяя mv file_a file_b
могло быть столь же простым как нажатие стрелки вверх и удар M-t, который изменяет вышеупомянутое на mv file_b file_a
.
(Теперь это даже не надлежащее решение, я не знаю, будет ли это работать когда аргументы mv
имейте пробелы или другие менее обычные, специальные символы. И, точно так же, как +Michael Mrozek сказал, не возможно отменить cp
сюда. Для реальной отмены также необходимо определить точно, что Вы подразумеваете под "отменой" (например, что, если cp
перезаписывает существующий файл? не будет никакого способа отменить его, если Вы не перенесетесь cp
вокруг чего-то, что сохраняет резервные копии!))
Какая среда рабочего стола, которую Вы выполняете, не имеет значения; все, что имеет значение, - то, что Вы предоставляете контейнеру доступ к сокету Xwindows, переменной среды XAUTHORITY и файлу, на который это указывает.
Не непосредственно. С технологиями, такими как LXC или OpenVZ приложения в них по существу, там владеют полями Linux. Таким образом, необходимо будет сделать это "удаленно" использование инструментов, таких как X2go или VNC, чтобы видеть их удаленные рабочие столы или удаленно отобразить приложения, работающие в них использующий X.
Существует это учебное руководство, которое обсуждает, как сделать это использование Debian/Ubuntu, но большая часть шагов должна быть переводима к другим дистрибутивам также. Статья названа: Виртуализация Debian: Виртуализация настольных систем LXC.
Контейнер lxc не имеет собственного дисплея/аудио, поэтому он должен каким-то образом использовать дисплей/аудио хоста. Типичным решением для Linux может быть одно из
Проблема с любым из этих решений заключается в том, что что-то злое на контейнере может получить контроль через X для просмотра окон или захвата нажатий клавиш и т. д. X не был разработан с учетом такой безопасности.
Другим решением может быть использование так называемого маскарадного X-сервера, который на самом деле не является X-сервером, но предоставляет псевдо-X-интерфейс и псевдо-X-экран клиентскому программному обеспечению в контейнере, при этом передавая некоторую работу X. к реальному X-серверу за ним. Псевдоэкран X отображается как одно окно X на фактическом рабочем столе X хоста.
Одним из таких маскарадных X-серверов является программное обеспечение Xephyr в xserver-xephyr
, которое на самом деле было разработано для отладки X-разработчиками.
Я написал простую программу на javascript для создания (из образа lxc vanilla ubuntu )контейнера lxd/lxc, заполненного firefox, openvpn, Xephyr и pulseaudio. Целевым хостом также является Ubuntu. VPN перенаправляет весь IP-трафик на VPS.
https://github.com/craigphicks/browser-on-lxc-vpn-xephyr
https://www.npmjs.com/package/browser-on-lxc-vpn-xephyr
В конечном счете, при рассмотрении уязвимости от Spectre et. и др., даже контейнер не дает никакой гарантии -для достижения теоретической идеальной защиты требуется отдельный физический процессор. (Фактическая степень угрозы спорна -ни о каких диких подвигах не сообщалось в течение года ). В качестве решения было бы достаточно просто поставить контейнер на другую машину.
Это может защитить хост-компьютер (, а может и нет -Я не обещаю ). Однако обычно браузер используется для ввода большого количества конфиденциальной информации -паролей и одноразовых паролей. SIP и социальное дистанцирование — лучшая защита, но это не лучший образ жизни.