Base linux как убрать

Обновлено: 08.07.2024

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

Сначала давайте посмотрим, какие службы работают в системе:

Теперь посмотрим на процессы, которые подключаются к портам, это можно сделать с помощью команды netstat:

В показанном выше выводе вы можете найти приложения, которые не требуются вашему серверу, но, тем не менее, работают:

1. smbd и nmbd

smbd и nmbd - это демон Samba Process. Действительно ли вам нужно предоставлять общий доступ к ресурсам для машин, работающих под windows? Если нет, почему эти процессы работают? Вы можете их безопасно завершить и убрать из автозагрузки.

2. Telnet

Нужна ли вам связь по протоколу Telnet (bidirectional interactive text-oriented communication) в интернете или в локальной сети? Если нет, завершайте этот процесс и исключайте его из автозагрузки.

3. rlogin

Требуется вам авторизация на удаленной машине по сети? Если нет, завершаем этот процесс и убираем из автозагрузки.

4. rexec

Remote Process Execution или rexec позволяет вам выполнять команды оболочки на удаленном компьютере. Если вам это не нужно, просто завершите процесс.

5. FTP

Вы передаете файлы через интернет? Если нет, эту службу спокойно можно отключить.

6. automount

Вам нужно автоматически монтировать различные файловые системы, чтобы подключить сетевую файловую систему? Если нет, почему этот процесс работает? Завершите процесс и уберите его из автозагрузки.

7. named

Вам нужен запущенный DNS-сервер? Тогда что мешает вам освободить занимаемые им системные ресурсы. Завершите процесс и уберите его из автозагрузки.

8. lpd

lpd - это демон принтера, который позволяет печатать с сервера. Если вы не собираетесь этого делать, он вам не нужен.

9. Inetd

Используете ли вы какие-нибудь службы inetd? Если вы запускаете отдельное приложение, такое как ssh, которое в свою очередь использует другое отдельное приложение, например Mysql, Apache и так далее, то вам не нужен inetd. Лучше отключить его автоматическую загрузку.

10. portmap

Portmap - это Open Network Computing Remote Procedure Call (ONC RPC), использующий демоны rpc.portmap и rpcbind. Если у вас работают эти процессы, значит запущен NFS-сервер. В противном случае ваши системные ресурсы расходуются напрасно.

Как завершить процесс в Linux

Для того, чтобы завершить работающий процесс в Linux, используется команда "Kill PID". Но сначала нам необходимо узнать PID процесса. Например, я хочу узнать PID процесса "cupsd":

Итак, PID процесса cupsd 1511. Для того, чтобы завершить этот процесс, используем команду:

Как отключать службы в Linux

В дистрибутивах на базе Red Hat, таких как Fedora и CentOS для отключения и включения служб используется скрипт "chkconfig".
Например, давайте отключим автозагрузку сервера Apache:

В дистрибутивах на базе Debian, таких как Ubuntu, Linux Mint, для этой цели используется скрипт update-rc.d.
Например, для отключения автозагрузки сервера Apache используется следующая команда:

Опция "-f" здесь используется для того, чтобы скрипт не запрашивал подтверждения выполнения команды.

Файлы в Linux имеют 3 типа временных меток: время доступа (англ. access time, сокр. atime), время модификации (англ. modification time, сокр. mtime) и время изменения (англ. change time, сокр. ctime).

Однажды может возникнуть необходимость подделать временные меткикакого-либо файла.

Время доступа (atime), как и время модификации (mtime) могут быть легко изменены с помощью команды touch, но для подделки метки времени изменения (ctime) стандартного решения не существует.

Тем не менее, в качестве обходного пути, можно установить системное время в то значение на которое вы хотите изменить ctime файла, затем использовать команду touch на этом файле и потом откатить системное время обратно.

Из приведенной ниже статьи вы узнаете, как сохраняя анонимность изменять временные метки файла.

Узнать Временные Метки Файла

Чтобы получить информацию о текущий временных метках файла воспользуетесь командой stat :

Разница Между Временами «Доступа», «Модификации» и «Изменения»

Временная метка Когда она обновляется?
atime Время доступа к файлу обновляется когда вы открываете файл либо когда он используется для других операций, например таких как: grep, cat, head и т.д.
mtime Время модификации файла обновляется когда вы изменяете его содержимое либо сохраняете файл.
ctime Время изменения файла обновляется когда меняются его атрибуты, такие как владелец файла, права, либо он перемещается на другую файловую систему. Также это время обновляется и при изменения времени модификации файла.

Изменение Времени «Доступа» и «Модификации» Файла

Изменить время доступа к файлу (atime) :

Изменить время модификации файла (ctime) :

Подделка Времени «Изменения» Файла

Как я уже говори ранее, не существует стандартного решения для подделки времени изменения файла (ctime).

Тем не менее, это можно сделать если сначала поменять системное время на то, на которое вы хотите поменять ctime, затем использовать команду touch на файле и потом откатить системное время обратно.

Изменение системного времени может привести к неожиданным последствиям. Используйте приведенные ниже команды только на свой страх и риск.

Сохраните текущую дату и время в переменную NOW :

Установите поддельное системное время (необходим root) :

Используйте команду touch на файле для изменения всех временных меток на поддельные :

Откатите время назад (необходим root) :

Для увеличения скорости выполнения модификаций и как следствие уменьшения риска возможных последствий, вы можете выполнит приведенные выше команды следующим образом :

Заметаем Следы 😉

Чтобы замести следы не забудьте очистить значение переменной, а также почистить логи и историю.
Очистите значение переменной NOW :

Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root) :

Очистите историю входов в Linux (необходим root) :

Очистите историю текущей сессии :

В Linux системах есть три стандартные команды, которые показывают информацию о последних подключавшихся пользователях : last, lastb, и lastlog.

Вывод этих команд включает : логин, время последнего подключения, IP адрес, порт и т.д.

И иногда, чтобы сохранить анонимность, возникает необходимость очистить историю последних подключений.

Команда Журнал логов Описание
last /var/log/wtmp История успешных входов/выходов
lastb /var/log/btmp История неудавшихся попыток входа
lastlog /var/log/lastlog Список последних подключавшихся пользователей

Удаление Информации о Последних Подключениях

Для удаления всей информации о последних подключавшихся пользователях необходимо очистить журналы с логами :

Полностью удалить историю Bash

Выполните следующую команду для полного удаления всей истории Bash :

Опции Описание
-c Очистить файл истории
-w Внести команды текущей сессии в файл с историей

Удалить определенную строку из истории Bash

Опция Описание
-d Удалить строку с указанным номером из истории

Очистить историю команд текущей сессии

Выполните для удаления истории команд только текущей сессии :

Опция Описание
-r Прочитать файл с текущие историей и добавить его содержимое к списку истории команд

Не сохранять команду в истории Bash

Выполнить команду не занося ее в историю Bash :
$ <пробел>команда
Поставьте пробел перед любой командой и она не будет сохранена в истории Bash.

Не сохранять все команды текущей сессии в истории Bash

Отключение HISTFILE приводит к тому, что пока Вы не выйдите из текущей сессии, любые команды которые Вы будете выполнять не будут сохраняться в файле с историей bash_history :

Команда сhmod (change mode) служит для изменения прав доступа к файлам и папкам.

Синтаксис

Команды chmod имеет следующий синтаксис :

Показать текущие права на файл / директорию можно с помощью команды ls :

или используя команду stat :

Классы доступа

Классы доступа используются для того, чтобы определить какому пользователю назначаются права. Если класс доступа не указан, то по умолчанию используется класс “all”. Классы доступа представлены одной или несколькими из ниже перечисленных букв :

Класс Class Описание
u user владелец файла (папки)
g group пользователи, которые являются членами группы к которой принадлежит файл (папка)
o others пользователи, которые не являются ни владельцем файла (папки), ни входят в группу файла (папки)
a all все три перечисленных выше класса, то же самое что ugo

Операторы

Программа chmod использует оператор для того, чтобы указать каким образом будут применены права доступа к файлам или папкам. Приняты следующие операторы :

Оператор Описание
+ добавить указанные права доступа к указанному классу
убрать указанные права доступа из указанного класса
= присвоить указанные права доступа

Права доступа

Права доступа указывают какие полномочия следует предоставить или забрать у указанного класса. Существуют три основных вида прав доступа, которые соответствуют базовым полномочиям :

Права доступа Name Описание
r read права на чтение содержимого файла или директорию (просматривать файлы и поддиректории в папке)
w write права на запись в файл или директорию (создавать файлы и поддиректории в папке)
x execute права на исполнение файла в качестве программы/скрипта либо права на вход в директорию (просмотр дерева каталога)
X special execute права на вход в директорию и права на исполнение файла, в случае, если хотя бы одному классу уже назначено право на исполнение (для любого из user, group или other)

[X] сам по себе не является правом доступа, но тем не менее, может использоваться вместо x. Он на самом деле полезен только в случае использования оператора ‘+’ в сочетании с опцией -R, для того чтобы предоставить группе или остальным пользователям права доступа к дереву каталога, не давая прав на исполнение обычных файлов (например текстовых), что случится при применении команды ‘chmod -R a+rx’. Таким образом вместо нее можно использовать ‘X’, и соответственно выполнить ‘chmod -R a+rX’.

Числовые права доступа

Возможно использование прав доступа как в символьной, так и в числовой форме.

Числовая форма для прав доступа :

10 Простых Примеров :

1. Добавить всем права на чтение файла :

2. Забрать права на исполнение файла у всех :

3. Добавить всем права на чтение и запись :

4. Установить права на чтение и запись для владельца и забрать права у всех остальных :

5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных :

6. Забрать у всех все права :

7. Дать всем права на права на чтение, запись и выполнение файла :

8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение :

9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных :

10. Забрать у всех права на исполнение файлов в директории и поддиректориях, но в то же время, разрешить всем просматривать содержимое директорий :

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

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

  • выполнить команду на удаленном Linux сервере;
  • запустить множество команд через SSH;
  • выполнить локальный скрипт на удаленном Linux сервере без его копирования.

Выполнение Команд на Удаленном Linux Сервере

Узнать uptime удаленного сервера

Перезагрузить удаленный сервер

Запуск Нескольких Команд через SSH

СПОСОБ 1 :

Узнать Uptime и Disk Usage

СПОСОБ 2 :

Узнать Memory Usage и Load Average

СПОСОБ 3 :

Показать Версию Ядра, информацию о CPU и кол-во RAM

Выполнение Локального Скрипта на Удаленном Linux Сервере

Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине

Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл

Чтобы изменения в

/.bashrc вступили в силу, выполните :

1. Добавляем Отображение Даты и Времени в Bash History

Иногда очень полезно узнать время, когда какая-либо команда была выполнена.

Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.

Для этого добавьте следующую строку в файл

Теперь, набрав history, Вы получите следующий вывод :

2. Увеличиваем Размер Хранимой Истории

Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).

Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).

3. Добавляем Команды Bash в Файл с Историей

Bash перезаписывает файл .bash_history?

Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в

4. Мгновенно Сохранять Историю Команд

По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.

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

Используйте переменную $PROMPT_COMMAND, чтобы сохранять команды сразу после выполнения :

Добавьте следующую строку в файл

/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее :

Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана :

5. Контролируйте Bash History

HISTCONTROL — представляет из себя список опций, разделенных двоеточиями.

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

Опция Описание
ignorespace не сохранять строки начинающиеся с символа <пробел>
ignoredups не сохранять строки, совпадающие с последней выполненной командой
ignoreboth использовать обе опции ‘ignorespace’ и ‘ignoredups’
erasedups удалять ВСЕ дубликаты команд с истории

6. Игнорировать Определенные Команды

HISTIGNORE — список шаблонов через двоеточие, используемых для принятия решения о сохранении строк с командами в списке истории.

Не сохранять команды ls, ps и history :

Не сохранять команды начинающиеся с s :

7. Одна Команда — Одна Запись в Истории

Сохранять все строки многострочной команды в одной записи списка истории :

Изменить Имя Файла с Историй Команд

Используйте HISTFILE для изменения имени файла, в котором сохраняется история команд. Стандартное значение

Favorite

Добавить в избранное

Главное меню » Ubuntu » Как очистить историю команд в Linux

Как очистить историю команд в Linux

И стория bash хранит записи всех команд терминала, которые выполняются пользователем в системе Linux с командной строкой. Используя функцию истории, вы можете легко найти ранее выполненные команды в вашей системе Linux с помощью клавиш со стрелками.

Почему мы должны удалить историю командной строки Linux?

В большинстве случаев мы не хотим раскрывать историю терминалов других пользователей вашей системы Linux. Например, если вы проводите занятия со своими учениками на лабораторном компьютере, и, возможно, вы научили их некоторым вредоносным командам, которые не рекомендуется использовать в нашей системе. Но большинство студентов не имеют представления о побочных эффектах этих важных команд. Любопытный студент может поискать в истории командной строки и протестировать ее, чтобы проверить работу каждой команды. Это может привести к сбою вашей системы много раз. Однако вы можете быстро отремонтировать или переустановить свою систему. Но это не очень хорошая практика. Итак, в этом случае мы хотим очистить историю командной строки после работы с ней. Особенно, если у вас есть общий доступ со своими друзьями или коллегами. Мы только что разработали это на простом примере; могут возникнуть другие проблемы, из-за которых вы захотите очистить историю командной строки Linux. В этой статье мы покажем вам, как можно очистить историю командной строки в системе Linux.

В этой статье мы выполнили все команды терминального приложения в Ubuntu 20.04. Следовательно, необходимо открыть окно терминала в вашей системе. Щелкните «Действия», расположенный в левом углу на рабочем столе вашей системы, а затем, используя панель поиска приложения, вы выполните поиск по ключевому слову «терминал». После завершения поиска щелкните значок терминала и запустите его.

Удаление истории командной строки Linux

Если вы хотите просмотреть историю своей команды терминала, введите в терминале следующую команду:

Обычно история командной строки сохраняется в файле с именем «bash_history». Этот файл вы можете найти в домашнем каталоге конкретного пользователя /home/username/.bash_history. Выполните приведенную ниже команду, чтобы найти файл bash_history:


GNU/Linux, как и любая другая операционная система, имеет много недостатков, и один из них, является бэкендом установки приложений.

Установка приложений в GNU/Linux намного проще, чем в Windows. Большинство приложений, которые вам понадобятся, можно установить нажатием одной кнопки. Некоторые, с помощью одной команды, которую вы можете скопировать и вставить из интернета. Вам не нужно беспокоиться о рекламном програмном обеспечении и других вещах.

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

Получить название пакета

Программное обеспечение в системах GNU/Linux распространяется в виде пакетов. Эти пакеты имеют уникальное имя, и при удалении или установке пакета через командную строку необходимо знать точное имя пакета. Поскольку мы хотим удалить приложение, логично предположить, что оно уже установлено в системе. Вы можете получить список всех установленных пакетов в системе, используя команду dpkg --list . Итак, запустите терминал зажав Ctrl+Alt+T и введите команду:

Примечание: все действия по осуществляются копирования или вставки команд в терминале выполняются при помощи зажатия дополнительной клавиши Shift . Таким образом, для того чтобы скопировать что либо в терминале, вам необходимо использовать сочетание клавиш Ctrl+Shift+С , а для того чтобы вставить какую либо команду в терминал, необходимо зажать сочетание клавиш Ctrl+Shift+V .

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

Удаление приложения с сохранением персональных настроек

Чтобы удалить приложение, мы можем использовать команду apt-get , которая также используется для установки приложений, затем пишите remove (удалить) и название пакета, в нашем случае, это vlc . Конечно, команда sudo должна быть помещена перед всем остальным для выполнения задач суперпользователя. В итоге, мы получаем команду:

sudo apt-get remove vlc

На скриншоте ниже видно, что удалился лишь тот пакет который был прописан (vlc).


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

Есть еще один варианта удаления приложений, который полностью удалит: приложение, его данные и параметры конфигурации.

Полная деинсталляция

Таким образом, чтобы полностью удалить VLC Media Player, необходимо ввести команду:

sudo apt-get --purge remove vlc

Удалить зависимости

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

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

Читайте также: