Уловки безопасности в командной строке [закрыто]

Командная строка и создание сценариев опасны. Сделайте небольшую опечатку с помощью rm -rf, и вы попадете в мир боли.При запуске скрипта импорта путайте prod со стадией в имени базы данных, и вы попадаете в ловушку (если они находятся на одном сервере, что нехорошо, но случается). То же самое, если вы слишком поздно заметили, что имя сервера, на котором вы сбрасываете, не то, что вы думали после запуска некоторых команд. Вы должны уважать Hole Hawg .

У меня есть несколько небольших ритуалов перед запуском рискованных команд - например, тройная проверка сервера, на котором я работаю. Вот интересная статья о безопасности rm .

Какие маленькие ритуалы, инструменты и уловки позволяют вам обезопасить себя в командной строке? И я имею в виду объективные вещи, такие как «сначала запустите ls foo *, посмотрите на вывод этого, а затем замените ls на rm -rf, чтобы избежать запуска rm -rf foo * или чего-то подобного», а не «убедитесь, что вы знаете, что команда сделает ".

34
задан 22 May 2009 в 22:54
30 ответов

Тот, который работает хорошо, использует различные цвета фона на Вашей оболочке для напоминания/подготовки/тестовых серверов.

45
ответ дан 28 November 2019 в 19:52
  • 1
    Да, и также используйте яркий крик, красный или оранжевый каждый раз, когда у Вас есть корень privs. –  Adam D'Amico 22 May 2009 в 19:35
  • 2
    Там какой-либо путь состоит в том, чтобы автоматически выбрать цвет удаленных терминалов машины, чтобы отличаться от Вашего во время входа в систему? Используя Gnome - Возможно, это должно быть отдельным вопросом. –  Jona 22 May 2009 в 20:30
  • 3
    Просто имейте оператор переключения, который заменяет Вашу переменную PS1 в зависимости от имени хоста машины. –  Neil 23 May 2009 в 01:06
  • 4
    Для любых людей Windows, there' s этот драгоценный камень от Sysinternals, который отобразит информацию о хосте заметно об обоях. technet.microsoft.com/en-us/sysinternals/… –  squillman 23 May 2009 в 17:03
  • 5
    Да да да - мое производство iSeries сессия является теперь белым на красном для предотвращения меня от: опция pwrdwnsys (*IMMED) перезапуск (*YES) –  Peter T. LaComb Jr. 21 June 2009 в 05:00

А-ч да. Старый прием того возраста отправки кому-то файл через IRC, названный "-rf", таким образом, это заканчивается в их ~ каталоге. Одна небольшая "комната-rf" позже (вместо "комнаты-rf") и много смеха последовала, поскольку они извлекают резкий урок о не рабочий IRC как корень.

-1
ответ дан 28 November 2019 в 19:52
  • 1
    +1 для rofl фактора –  David Z 22 May 2009 в 20:37
  • 2
    Таким образом, как " комната-rf" как предполагается, вредит Вам, а? –  kubanczyk 20 June 2009 в 23:13

Выполнение команды с эхом сначала является хорошей идеей, но это все еще подвержено опечаткам.

Попытайтесь использовать его с расширением такой как! $.

echo foo*
rm -rf !$

! $ расширяется до последнего слова последней команды, таким образом, это эквивалентно

echo foo*
rm -rf foo*

Существует также! *, который расширяется до всех аргументов последней команде.

Действительно, Вы могли сделать это этот путь, если Вы предпочитаете

echo rm -rf foo*
!*

(Если Вы используете ksh, не колотят, можно ввести Esc+period для вставки последнего слова вместо этого.)

0
ответ дан 28 November 2019 в 19:52

Вместо

rm foo*

использовать

rm -i foo*

Это практично с горсткой файлов, но не с, скажем, целым tarball. Вот почему искажение rm будет стоять на пути.

0
ответ дан 28 November 2019 в 19:52
  • 1
    that' s, для чего переключатель-f: переопределение любых предыдущих переключателей-i. Если Вы помещаете это в свой .bash_profile или подобный сценарий инициализации оболочки, Вы won' t должны волноваться об этом. Просто удостоверьтесь, что Вы хотите сделать это, но it' s сказал прежде, и более красноречиво. –  Kevin M 22 June 2009 в 21:20

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

Пример: killall

Linux/FreeBSD/OSX - уничтожает все процессы, соответствующие переданному параметру. например: "апач killall" уничтожает всех апачей, оставляя все другие процессы в покое.

Солярис - уничтожает все процессы. Нет, действительно. Из страницы справочника: killall используется завершением работы (1M) для уничтожения всех активных процессов, не непосредственно связанных с процедурой завершения работы.

1
ответ дан 28 November 2019 в 19:52
  • 1
    Я узнал что один на предыдущем employer' s сервер резервного копирования. В то время как это выполняло night' s ленты. Ой. –  Bill Weiss 19 June 2009 в 21:06
  • 2
    Вы могли использовать pkill вместо этого, который работает над solaris и Linux. –  Jason Tan 21 June 2009 в 05:14

Для комплекса regex, особенно 'найдите' команды помещенным эхом впереди и получите их в файл. Затем можно проверить, что Вы действительно удалять/перемещать/и т.д. точно, что Вы думаете, что прежде выполняете файл с 'источником'.

Это также удобно для того, чтобы вручную добавить их пограничный случай, который не взял regex.

1
ответ дан 28 November 2019 в 19:52

Отличный способ заставить Вас думать о том, что Вы делаете, добавляет что-то вроде этого к bashrc корня (cshrc, безотносительно):

unset PATH

Тем путем необходимо сделать/bin/rm вместо просто "комнаты". Те дополнительные символы могли бы заставить Вас думать.

1
ответ дан 28 November 2019 в 19:52

Я избегаю * шарик как его собственный аргумент, когда это возможно. Даже если я действительно имею в виду, "удаляют все в этом каталоге", я пытаюсь быть более конкретным, т.е. rm *.php. Это - приоритетные ремонтно-восстановительные работы в случае, если я случайно выполняю ту же команду из истории в другом каталоге.

1
ответ дан 28 November 2019 в 19:52
  • 1
    Я учился никогда " dir CD; комната-rf *" но вместо этого всегда " комната-rf dir" максимально конкретный. –  slovon 17 August 2009 в 12:25

Вместо ls я использую эхо, таким образом, я вижу полную команду после того, как оболочка развернула все. Кроме того, всегда переменные двойной кавычки, которые представляют файлы так Ваши работы материала с именами файлов, которые могли бы иметь вкладки или пробелы.

1
ответ дан 28 November 2019 в 19:52

Очевидный для безопасности командной строки с точки зрения Unix/Linux является надлежащим использованием корневой учетной записи.
Комната-rf как корень обычно более опасна, чем как пользователь и использование встроенных вещей как sudo вместо того, чтобы войти в систему, поскольку корень жизненно важен. Хороший простой whoami будет обычно помогать для шизофрении или разносторонне развитых личностей.

То и преднезаконченное эхо к любым командам filechanging, особенно если Вы хотите удостовериться, что Вы разобрались в шарике или соответствии regex.

2
ответ дан 28 November 2019 в 19:52

Удостоверьтесь, что Вы никогда команда выполнения, которую Вы находите онлайн, если Вы полностью не понимаете то, что они делают.

Ваша система может отличаться от плаката, и это могло вызвать мир вреда.

2
ответ дан 28 November 2019 в 19:52

Используйте здравый смысл и не выполняйте команды, которые Вы не понимаете. Это - весь хороший совет. Если Вы испытываете желание причинять боль себе с выписыванием полного пути всего, что Вы передаете комнате или выполнению чего-либо через sudo, не стесняться. Я предпочел бы su-c затем. По крайней мере, это не кэширует пароль. Я не чувствовал бы себя довольным никаким обычным пользователем, разрешаемым выполнять вещи с полномочиями пользователя root без проверки пароля.

Существует несколько вещей, как которые можно вставить ~/.bashrc для создания вещей немного более безопасными, таких:

alias srm='rm -i'

Разрешение Вам иметь безопасную альтернативу для комнаты...

Но в конце, Вы можете и всегда завинчивать. На днях у меня было более не существующее, настраивают сценарий, показанный мою всю/usr/bin папку, повреждая несколько вещей. Да, простое 'делает установку' любого типа программного обеспечения с ошибкой в нем, может повредить Вашу систему. Вы никогда не в безопасности, независимо от того, что Вы делаете. То, что я достигаю, самая важная вещь:

Сохраните регулярные резервные копии.

3
ответ дан 28 November 2019 в 19:52
  • 1
    Снова - НИКОГДА не ИСКАЖАЮТ " rm". Вы будете завинчены им, в конечном счете, когда Вы будете работать над системой это doesn' t исказили его. –  SilentW 24 June 2009 в 21:59

Правило 1 - делает резервные копии

Правило 2 - НИКОГДА не добавляет "molly защиту" обертки к стандартным командам, делает Вашу собственную версию, уверенную, но не принимает имя, это просто укусит Вас, когда Вы будете в системе, Вы не настраивали.

Быстрые приемы как другой цвет для корневого и (частичного) дерева каталогов являются великими помощниками, но снова, удостоверьтесь, что можно работать без них.

4
ответ дан 28 November 2019 в 19:52

Если Вы не сделали этого, уже искажают комнату к комнате-i

4
ответ дан 28 November 2019 в 19:52
  • 1
    Нет, нет, нет, нет. Это - одна из худших вещей, которые можно сделать. Однажды Вы найдете себя на поле этим don' t исказили его, или Вы так или иначе повредили наш ENV. Учитесь использовать комнату-i вместо этого. –  olle 22 June 2009 в 23:37
  • 2
    Нет, нет, нет, нет. Действительно сделайте это. Однажды you' ll случайно делают неправильную вещь и сохраняют себя. Чаще, чем you' ll забывают помещать-i на строку и завинчивать и удалять неправильную вещь. –  Jerub 25 June 2009 в 06:41
  • 3
    Я wouldn' t делают это, если я когда-нибудь работаю над больше чем одной машиной... Работа с новой машиной, пока это не установка, является к большому проблемой. –  slovon 17 August 2009 в 12:27

Существует немного важных вещей знать прежде, чем внести изменение сервера:

  • Удостоверьтесь, что я нахожусь на правильном сервере

  • Знайте **, сколько людей будет затронуто этим действием* (если Вы сделаете ошибку или не),

  • Прежде, чем ввести 'ввести' ключ, знать о возможности отменить

  • Спросите себя, имеет ли эта команда потенциал разъединения Вашей сессии (fw правило, плохое завершение работы, и т.д....). Удостоверьтесь Вы, там обработка отказа для возвращения в (особенно, если Вы удалены),

5
ответ дан 28 November 2019 в 19:52

Я удостоверяюсь имя хоста системы, я иду, находится в ударе (или другая оболочка) подсказка. Если я - chrooted, я удостоверяюсь, что это делает его там так или иначе, также.

Я однажды устанавливал хинду систему из другого живого дистрибутива Linux и случайно работал, довольно разрушительная команда (не может вспомнить то, из чего это был ATM - некоторый вариант rm) в неправильной оболочке, заставляя набор материала в живой системе, которая будет удалена, вместо того, чтобы наполнит из chroot. С тех пор я всегда делал

export PS1="(chroot) $PS1"

каждый раз, когда я работал в chroot.

5
ответ дан 28 November 2019 в 19:52
  • 1
    +1 - также, я нахожу полезным иметь текущий рабочий каталог (или последние слои n-типа его, если you' ре, работающее в глубоко вложенных файловых системах) в подсказке. –  Murali Suriar 22 May 2009 в 20:19
  • 2
    официальное хинду руководство предполагает точно что, когда chrooting от живого CD до недавно созданного хинду! –  cd1 21 June 2009 в 06:49
  • 3
    CD1: да, но x86 быстрое руководство по установке ( gentoo.org/doc/en/gentoo-x86-quickinstall.xml ) doesn' t, и that' s, что я использовал в то время. Но теперь я делаю это рефлексивно :) –  Tim 21 June 2009 в 07:46

У меня есть не использующее высокие технологии решение некоторых из них.

Я разработал врожденную привычку к выполнению следующего (планируя работать корнем):

  • Во-первых, входя в систему как обычный пользователь, затем с помощью sudo su - root переключаться на корень. Я делаю это как умственную подготовку, напоминание мне, что я мысленно шел в очень опасную область и что я должен быть внимательным и на моей защите в любом случае. Забавный, поскольку это звучит, один только этот небольшой ритуал имеет, сохраняют меня тонна горя путем простого укрепления этого, я не могу быть небрежным.
  • Каждая команда вводится, но [Возврат] клавиша никогда не нажимается. Никогда.
  • Никакая команда никогда не выполняется, не понимая точно, что это делает. При выполнении этого, не зная то, что это делает, Вы играете русскую рулетку со своей системой.
  • Прежде, чем нажать [Возврат] клавишу, команда, которая строчилась на CLI, тщательно исследована глазом. Если существует колебание, какая-либо подсказка потенциальной проблемы, это вновь исследовано снова. Если то колебание сохраняется, команду оставляют на строке и мне alt-F2 к другой консоли для консалтинга со страницами справочника и т.д. Если на графической сессии, я запускаю браузер и делаю некоторый поиск.
  • Никакому обычному пользователю никогда не вручают sudo в моих системах, не потому что я - BOFH, но потому что без подготовки и обучения, это похоже на предоставление заряженного оружия обезьяне. Это забавно и забавно сначала, до взглядов обезьяны ниже на баррель и сжимает...

При использовании комнаты, я всегда cd к каталогу сначала, затем используйте префикс ./ гарантировать, что каталог корректен, т.е.

cd /usr/some/directory ; rm ./targetfile

или я указываю весь путь файла

rm /usr/some/directory/targetfile

который является ЛАВАШЕМ, но... лучшим сейфом, чем извините.

10
ответ дан 28 November 2019 в 19:52
  • 1
    Я только выделяю sudo для предварительно выбранного списка команд, как перезагрузка apache2. Иначе пользователи должны пройти меня. It' s боль в заднице, но it' s лучшая защита для выполнения devbox для 15 человек. –  Artem Russakovskii 23 May 2009 в 21:29
  • 2
    Кавычка: " но потому что без подготовки и обучения, это похоже на предоставление заряженного оружия обезьяне. It' s забавный и забавный сначала, пока обезьяна не смотрит ниже на баррель и сжимает..." На самом деле, it' s все еще забавный после той точки... просто довольно грязной –  Mikeage 27 May 2009 в 09:33
  • 3
    Необходимо использовать sudo-i вместо sudo su, и обычно использующий sudo для выполнения определенные команды более безопасный бит fiar. –  LapTop006 27 May 2009 в 16:22
  • 4
    Как Вы выполняете команду, если Вы НИКОГДА не поражаете клавишу Return? –  g . 23 June 2009 в 10:40
  • 5
    & & Ваш друг! Вместо того, чтобы делать CD/usr/some/directory; комната./targetfile Вы должна CD/usr/some/directory & & комната./targetfile Тот путь you' ре, никогда не собирающееся завершить rm' луг targetfile в Вашем исходном каталоге, если CD перестал работать. Выполнение комнаты полного пути лучше, все же. –  Mike G. 23 June 2009 в 18:50

Имейте спину, планируют в памяти перед запуском.

  • На молнии файл/каталог вместо того, чтобы удалить его сразу же
  • установите (Cisco) маршрутизатор к перезагрузке в 'x' числе минут и сделайте не 'wr' сразу же
  • удостоверьтесь интерфейс, который Вы изменяете, не тот, в который Вы ввели систему. Это могло быть интерфейсом маршрутизатора Вы telnet'd к или порт VNC'd Ethernet к.
  • никогда не входите в систему как 'корень'
  • сделайте резервное копирование. проверьте, что это хорошо. сделайте другой.
  • спросите кого-то, кому Вы доверяете, 'Я собирающийся сделать что-то немое здесь?'
14
ответ дан 28 November 2019 в 19:52
  • 1
    +1 Cisco iOS don' t сохраняют, до уверенный это работает. Чертовски я помню дни Amiga, когда все диалоговые окна ОС имели " Use" " Save" и " Cancel" - где " Use" только применил бы настройки, но не сохранил бы их для следующей перезагрузки. Это было чрезвычайно полезно! –  Oskar Duveborn 23 May 2009 в 02:27
  • 2
    Еще лучшее решение сегодня, которое я предполагаю, имеет неограниченную отмену для всех системных изменений вместо этого - тот путь you' намного более безопасное ре. Конечно, если установка Вас изменилась, сделал системную функцию отмены неприменимой, you' d быть завинченным так или иначе.. хм ^^ –  Oskar Duveborn 23 May 2009 в 02:29
  • 3
    +1 для " перезагрузка в 5". сохраненный мой зад больше, чем несколько раз, когда изменение ACL заблокировало меня из удаленного маршрутизатора / переключатель. –  Greg Work 27 May 2009 в 15:33

Наличие вторичного соединения в машину, Вы продолжаете работать, может быть удобным в случае, если Вы уничтожаете свою основную сессию или делаете что-то глупое, которое запирает его... тяжелая обработка и т.д.

Тем путем Вы все еще имеете доступ в машину и можете уничтожить Вашу основную сессию.

Большинство вышеупомянутых комментариев относится к комнате, но я сделал некоторые глупые вещи с другими командами также...

ifconfig для приведения в нерабочее состояние сети - ай, который требует, чтобы физическое присутствие зафиксировало.

Что касается сценариев я обычно работаю в двух окнах. Первое, которое я использую для записи сценария, второе для проверения каждой строки, поскольку я пишу это. При движении медленно и тщательно я могу удостовериться, что каждая строка работает, как я ожидаю, поскольку я пишу код, заботясь для поддержания тех же переменных, и т.д.

Лично, я не нахожу, что дополнительные подсказки для вещей как комната-i действительно помогают. Я делаю большинство своих ошибок, когда v. усталый, подчеркнутый и т.д., которые являются временами, когда я буду просто строчить y и игнорировать подсказку так или иначе. Плохая практика, возможно.

2
ответ дан 28 November 2019 в 19:52

В случае чего-то как:

ls *.php
комната эха *.php
комната * .php

Вы могли использовать оператор замены, как это:
$ ls *.php
<список dir>

$ ^ls^echo комната (это заменяет ls в предыдущей команде с комнатой эха, сохраняя остальную часть командной строки тем же),

$ ^echo rm^rm (заменяют комнату эха просто комнатой, таким образом Вы не должны перепечатывать *.php и добавлять пространство не в то время),

^ = shift-6, для не знакомых с ним.

0
ответ дан 28 November 2019 в 19:52

пользователь root:
Не будьте корнем, если Вы не имеете к.
Если поставщик говорит, что это должно работать как корень, сказать им, что Вы - клиент и что Вы хотите выполнить его как некорневой.
Сколько пакетов программного обеспечения с полки хочет корень 'просто, потому что это легче'?

привычка:
никогда не используйте '*' с, удаляют, не смотря на него, три раза Лучше создавать привычку к использованию ls-l TargetPattern, затем использовать 'комнату! $'. Самая большая угроза не состоит в том, где Вы думаете, что Вы. Я почти ввожу 'имя хоста' так же часто как 'ls'!

костыли:
стандартная подсказка помогает много, также, как и псевдонимы как "комната псевдонима ='rm-i'", но я часто не имею полного контроля над машинами, я иду так, я использую ожидать сценарий обертки просто для устанавливания пути, подсказки и псевдонимов с '-i'

найдите проблемы:
использование полного пути помогает, но в случаях, где это не возможно, CD в более безопасное местоположение и ТАКЖЕ использует '&&', чтобы обеспечить, чтобы 'CD' успешно выполнился, прежде чем Вы сделаете свою находку, удалите, смолите, untar, и т.д.:
пример: cd /filesystema && tar cf - | ( cd /filesystemb && tar vxf -)
использование '&&' может препятствовать тому, чтобы файл tar был извлечен сверху себя в этом случае (хотя в этом случае 'rsync' был бы лучше),

удаляет:
никогда не удаляйте рекурсивно, если можно помочь ему, особенно в сценарии. найдите и удалите с - тип f и - называет 'шаблон', я все еще живу в страхе перед питанием 'ничего' к xargs... tar, и untar для перемещения материала (используйте rsync вместо этого),

1
ответ дан 28 November 2019 в 19:52

Немного meta к некоторым из других сообщений: Я использую обычные шаги echo/ls, предложенные сначала, чтобы удостовериться, что команда выбирает набор файлов, которые я хочу или иначе быть интерпретируемым оболочкой, как предназначено.

Но затем я использую особенности редактирования истории команд оболочки, чтобы получить предыдущую команду и изменить только части, которые должны варьироваться.

Это не помогает вообще ввести каждую из этих команд независимо...

$ ls *.bak
$ echo rm *.bak
$ rm * .bak

... потому что я случайно ввел пространство в последней строке и удалил все файлы. Я всегда получал бы предыдущую строку и просто удалял бы 'эхо'.

1
ответ дан 28 November 2019 в 19:52

Это может казаться парадоксальным и меньше 'ardkore, но лучшая мера предосторожности командной строки, которую я имею: Если альтернатива режима GUI доступна и практична, то ИСПОЛЬЗУЙТЕ IT.

Почему? Довольно простой. Режим GUI обычно имеет встроенную систему поддержки, в форме "предупреждения - Вы собираетесь snargle freeblefrop, действительно ли Вы уверены, что хотите сделать это?" Даже если не, это замедляется, Вы, давая больше комнаты для думаете время. Это позволяет Вам перепроверить опции более легко перед согласием на них, Вы можете снимок экрана прежде и после состояний, это защищает Вас от опечаток; весь хороший, полезный и полезный материал.

В классическом случае страшной "комнаты-rf", Вы думаете, что легче случайно выпустить его от GUI или CLI?

В конце нет никакого позора в обращении к GUI. Это непогрешимо не предотвратит крупные катастрофы; столь же возможно быть воинственным в GUI, как это находится в CLI; но если это сохраняет Вас, после того как это оказалось worthwile.

4
ответ дан 28 November 2019 в 19:52

Я могу согласиться со всеми вышеупомянутыми ответами, но я должен подчеркнуть это очень, очень важную подсказку:

Знайте, когда избежать многозадачности.

6
ответ дан 28 November 2019 в 19:52

Этот характерен для Windows Powershell.

Как политика мы добавляем следующее профиль ps1 машины на каждом сервере. Это гарантирует, что следующее верно:

  1. У администратора powershell консоли есть темно-красный цвет фона
  2. Администратор добавляется к заголовку
  3. Сообщение "Предупреждение: Powershell работает как Администратор". записан при запуске
  4. Строка заголовка снабжается префиксом "Администратора:"
  5. Стандартные утилиты (как корпоративные сценарии оболочки, энергия и infozip) находятся в пути.
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal( [Security.Principal.WindowsIdentity]::GetCurrent() )
& {
    if ($currentPrincipal.IsInRole( [Security.Principal.WindowsBuiltInRole]::Administrator ))
    {
        (get-host).UI.RawUI.Backgroundcolor="DarkRed"
        clear-host
        write-host "Warning: PowerShell is running as an Administrator.`n"
    }

    $utilities = $null
    if( [IntPtr]::size * 8 -eq 64 )
    {
        $host.UI.RawUI.WindowTitle = "Windows PowerShell (x64)" 
        $utilities = "${env:programfiles(x86)}\Utilities"
    }
    else
    {
        $host.UI.RawUI.WindowTitle = "Windows PowerShell (x86)"
        $utilities = "${env:programfiles}\Utilities"
    }
    if( (Test-Path $utilities) -and !($env:path -match $utilities.Replace("\","\\")) )
    {
        $env:path = "$utilities;${env:path}"
    }
}

function Prompt
{
    if ($currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
    {
        if( !$host.UI.RawUI.WindowTitle.StartsWith( "Administrator: " ) )
        { $Host.UI.RawUI.WindowTitle = "Administrator: " + $host.UI.RawUI.WindowTitle }
    }
    'PS' + $(if ($nestedpromptlevel -ge 1) { '>>' }) + '> '
}
10
ответ дан 28 November 2019 в 19:52
  • 1
    That' s прохладный - мне жаль, что Вы не могли легко сделать что-то как этот в Linux через все Ваши серверы. –  Jason Tan 21 June 2009 в 05:16
  • 2
    В powershell это сделано путем редактирования $pshome/profile.ps1 (профиль машины). Почему can' t Вы делают что-то эквивалентное на Linux в/etc/.bash_profile? –  Brian Reiter 21 June 2009 в 17:02
  • 3
    Также полезный для изменения $ConfirmPreference на " medium" (значения по умолчанию к высокому), и больше вещей запросит подтверждение. –  Richard 22 June 2009 в 12:15

При использовании удара попробуйте это:

TMOUT=600

в Вашем /root/.bashrc или подобный. Это регистрирует Вас автоматически после 10 минут, уменьшая шанс, что Вы зеркально отразите к корневому терминалу, который Вы случайно оставили открытыми и вводите что-то глупое.

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

2
ответ дан 28 November 2019 в 19:52

Вместо того, чтобы исказить комнату к комнате-i, не был бы, она быть лучше исказить для высказывания удаляет или saferemove (и используйте тех, которые как предпочтительный инструмент удаления). Затем при использовании поля, которое не имело, это настроило, никакой ущерб не нанесен.

3
ответ дан 28 November 2019 в 19:52

Используйте удар и установите PS1 = '\u@\h:\w> '. Это расширяется до username@hostname:/full/working/directory/path>, Как упомянуто в других ответах, можно использовать, ожидают настраивать среду каждый раз, когда Вы входите в систему, если Вы не можете обновить .profile или .bash_profile файлы. Изменение цветов фона является легко лучшим ответом хотя :-)

0
ответ дан 28 November 2019 в 19:52

Вместо использования rm -rf

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

-1
ответ дан 28 November 2019 в 19:52
# Allow only UPDATE and DELETE statements that specify key values
alias mysql="mysql --safe-updates"`

Настоятельно рекомендуется иметь псевдоним, если вы когда-нибудь будете использовать интерфейс командной строки mysql.

2
ответ дан 28 November 2019 в 19:52

Теги

Похожие вопросы