Это сложный вопрос. В системе Ubuntu существует множество различных уровней безопасности, от сложных фреймворков, таких как AppArmor, до смиренных переменных ядра, таких как mmap_min_addr. Вы можете добавить некоторые функции ядра, такие как рандомизация памяти в миксе. Вы можете найти их список вместе с быстрыми пояснениями к Ubuntu Wiki.
Еще один важный фактор заключается в том, что обновления бывают быстрыми и легкими - поэтому большинство компьютеров будут обновлены до последних исправлений безопасности. [ ! d2]
Насколько я знаю, злоумышленник, получивший локальный доступ к вашему компьютеру, имеет три способа масштабирования привилегий ядра:
Исправить пароль. Но это будет очень сложно, пароль хранится в зашифрованном виде, используя алгоритмы без известного недостатка. Это потребует времени, чтобы взломать его. Ошибка в ядре. Но все функции безопасности ядра будут мешать. Обманите пользователя, чтобы отдать пароль, т. Е. Социальная инженерия. Просто покажите фальшивый диалог с паролем или используйте другой трюк. Это самый простой способ сделать это.Третий момент - самая слабая уязвимость прямо сейчас.
Вы не можете использовать слэши в псевдониме. Однако Bash позволяет им в именах функций, поэтому вы можете сделать эту функцию:
cd../.. () { cd ../..; }
Вы не можете использовать обратную косую черту в псевдониме или имени функции. Символ обратной косой черты цитирует следующий символ, поэтому cd..\.. анализируется как cd...., задолго до того, как эта строка будет выглядеть как имя команды. Если вы хотите вызвать команду с именем cd..\.., вам нужно ввести cd..\\.., 'cd..\..' или что-то подобное. Кроме того, имя команды, которое было процитировано каким-либо образом, не рассматривается для поиска псевдонима, поэтому вы никогда не сможете использовать псевдоним, содержащий обратную косую черту. Bash также не допускает обратную косую черту в именах функций. Поскольку cd..\.. анализируется как cd...., вы можете определить функцию с именем cd.... (как указано выше).
Если вы используете команду cd, вам нужно будет ввести пробел после он, как и любая другая команда. Но вы можете сохранить ввод, не набрав cd вообще. Установите опцию autocd со следующей строкой в ~/.bashrc:
shopt -s autocd
Затем вы можете ввести имя каталога в командной строке, а «выполнить» этот каталог изменится на нее.
~/some/sub/directory$ ../..
~/some$
«Вы не можете использовать слэши в псевдониме или имени функции»? Это новость для меня. Я использую следующую функцию оболочки в течение многих лет в Linux и OS X bash и никогда не испытывал никаких проблем:
function ../.. { cd ../..; echo "$PWD"; }
Естественно, cd../.. также является прекрасным именем функции. В имени функции оболочки используется косая черта или функция .
Что касается версии обратной косой черты, вы не можете вставлять ее в псевдоним или имя функции, но вам не нужно: Когда вы вводите cd..\.., bash интерпретирует обратную косую черту как escape и пытается выполните результат cd..... Поэтому определите это, и вы сможете делать все, что вам нужно. Добро пожаловать.
function cd.... { cd ../..; }
Если вы хотите сохранить псевдонимы, почему бы просто не сделать:
alias ..='cd ..'
alias ...='cd ../../'
alias ....='cd ../../../'
Или, если вам нужно вернуться назад:
alias .3='cd ../../../'
alias .4='cd ../../../../'
alias .5='cd ../../../../../'
# how far back do you need to go on a normal basis..?
Не знаю, насколько хорошо что поможет вам сохранить умственную синхронизацию с вашим мозгом Windows, но это по-прежнему кажется простым способом. (По крайней мере, для тех из нас, кому посчастливилось не беспокоиться о том, как все делается на Windows.)