Сообщение при логине linux

bash редактируем приветствия сервера Linux

Редактируем стандартное приветствия Linux/Bash

1. Установим дополнительные пакеты «figlet»

переходим в каталог суперпользователя…

Редактируем файл .bashrc
(добавим дополнения в низ после #fi)

После мы получим данные сервера при получении прав на суперпользователя:

— Свободное место на HDD;
— Полный объем HDD;
— Свободно ОЗУ;
— uptime системы;
— Кто подключен;
— Имя хоста;
— Дата смены пароля…

О песочнице

Это «Песочница» — раздел, в который попадают дебютные посты пользователей, желающих стать полноправными участниками сообщества.

Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.

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

О модерации

Не надо пропускать:

  • рекламные и PR-публикации
  • вопросы и просьбы (для них есть Хабр Q&A);
  • вакансии (используйте Хабр Карьеру)
  • статьи, ранее опубликованные на других сайтах;
  • статьи без правильно расставленных знаков препинания, со смайликами, с обилием восклицательных знаков, неоправданным выделением слов и предложений и другим неуместным форматированием текста;
  • жалобы на компании и предоставляемые услуги;
  • низкокачественные переводы;
  • куски программного кода без пояснений;
  • односложные статьи;
  • статьи, слабо относящиеся к или не относящиеся к ней вовсе.

Источник

Как посмотреть логи в Linux

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

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

Расположение логов по умолчанию

Большинство файлов логов Linux находятся в папке /var/log/ вы можете список файлов логов для вашей системы с помощью команды ls:

Ниже мы рассмотрим 20 различных файлов логов Linux, размещенных в каталоге /var/log/. Некоторые из этих логов встречаются только в определенных дистрибутивах, например, dpkg.log встречается только в системах, основанных на Debian.

  • /var/log/messages — содержит глобальные системные логи Linux, в том числе те, которые регистрируются при запуске системы. В этот лог записываются несколько типов сообщений: это почта, cron, различные сервисы, ядро, аутентификация и другие.
  • /var/log/dmesg — содержит сообщения, полученные от ядра. Регистрирует много сообщений еще на этапе загрузки, в них отображается информация об аппаратных устройствах, которые инициализируются в процессе загрузки. Можно сказать это еще один лог системы Linux. Количество сообщений в логе ограничено, и когда файл будет переполнен, с каждым новым сообщением старые будут перезаписаны. Вы также можете посмотреть сообщения из этого лога с помощью команды dmseg.
  • /var/log/auth.log — содержит информацию об авторизации пользователей в системе, включая пользовательские логины и механизмы аутентификации, которые были использованы.
  • /var/log/boot.log — Содержит информацию, которая регистрируется при загрузке системы.
  • /var/log/daemon.log — Включает сообщения от различных фоновых демонов
  • /var/log/kern.log — Тоже содержит сообщения от ядра, полезны при устранении ошибок пользовательских модулей, встроенных в ядро.
  • /var/log/lastlog — Отображает информацию о последней сессии всех пользователей. Это нетекстовый файл, для его просмотра необходимо использовать команду lastlog.
  • /var/log/maillog /var/log/mail.log — журналы сервера электронной почты, запущенного в системе.
  • /var/log/user.log — Информация из всех журналов на уровне пользователей.
  • /var/log/Xorg.x.log — Лог сообщений Х сервера.
  • /var/log/alternatives.log — Информация о работе программы update-alternatives. Это символические ссылки на команды или библиотеки по умолчанию.
  • /var/log/btmp — лог файл Linux содержит информацию о неудачных попытках входа. Для просмотра файла удобно использовать команду last -f /var/log/btmp
  • /var/log/cups — Все сообщения, связанные с печатью и принтерами.
  • /var/log/anaconda.log — все сообщения, зарегистрированные при установке сохраняются в этом файле
  • /var/log/yum.log — регистрирует всю информацию об установке пакетов с помощью Yum.
  • /var/log/cron — Всякий раз когда демон Cron запускает выполнения программы, он записывает отчет и сообщения самой программы в этом файле.
  • /var/log/secure — содержит информацию, относящуюся к аутентификации и авторизации. Например, SSHd регистрирует здесь все, в том числе неудачные попытки входа в систему.
  • /var/log/wtmp или /var/log/utmp — системные логи Linux, содержат журнал входов пользователей в систему. С помощью команды wtmp вы можете узнать кто и когда вошел в систему.
  • /var/log/faillog — лог системы linux, содержит неудачные попытки входа в систему. Используйте команду faillog, чтобы отобразить содержимое этого файла.
  • /var/log/mysqld.log — файлы логов Linux от сервера баз данных MySQL.
  • /var/log/httpd/ или /var/log/apache2 — лог файлы linux11 веб-сервера Apache. Логи доступа находятся в файле access_log, а ошибок в error_log
  • /var/log/lighttpd/ — логи linux веб-сервера lighttpd
  • /var/log/conman/ — файлы логов клиента ConMan,
  • /var/log/mail/ — в этом каталоге содержатся дополнительные логи почтового сервера
  • /var/log/prelink/ — Программа Prelink связывает библиотеки и исполняемые файлы, чтобы ускорить процесс их загрузки. /var/log/prelink/prelink.log содержит информацию о .so файлах, которые были изменены программой.
  • /var/log/audit/— Содержит информацию, созданную демоном аудита auditd.
  • /var/log/setroubleshoot/ — SE Linux использует демон setroubleshootd (SE Trouble Shoot Daemon) для уведомления о проблемах с безопасностью. В этом журнале находятся сообщения этой программы.
  • /var/log/samba/ — содержит информацию и журналы файлового сервера Samba, который используется для подключения к общим папкам Windows.
  • /var/log/sa/ — Содержит .cap файлы, собранные пакетом Sysstat.
  • /var/log/sssd/ — Используется системным демоном безопасности, который управляет удаленным доступом к каталогам и механизмами аутентификации.
Читайте также:  Не запускается загрузка windows с флешки

Просмотр логов в Linux

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

Я не буду останавливаться подробно на каждой из этих команд, поскольку большинство из них уже подробно рассмотрены на нашем сайте. Но приведу несколько примеров. Просмотр логов Linux выполняется очень просто:

Смотрим лог /var/log/dmesg, с возможностью прокрутки:

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

Можно ли обойти /sbin/nologin?

Модератор: Bizdelnick

Можно ли обойти /sbin/nologin?

Re: Можно ли обойти /sbin/nologin?

Сообщение Bizdelnick » 06.05.2016 14:24

в консол и
вку́пе (с чем-либо)
в общем
в ообще
в течени е (часа)
нович ок
нюанс
п о умолчанию
приемл емо
пробле ма
проб овать
тра фик

Re: Можно ли обойти /sbin/nologin?

Сообщение SLEDopit » 07.05.2016 00:03

Ты хочешь сказать, что даже если прописать rssh, то можно запустить так любую команду и отсылаешь к строчке «If command is specified, it is executed on the remote host instead of a login shell.» ?
Если так, то не всё так просто. Иначе какой смысл пилить все эти секурные шеллы, если тут такая дырища?

Насколько я понимаю, ssh daemon при попытке подключения по ssh запускает шелл, прописанный в качестве login shell’a, а тот уже дальше решает что делать: либо запускать ещё одну копию самого себя и передавать туда управление, либо запускать указанную команду.
Поэтому, если в качестве логин шелла что-то типа nologin или /bin/false, то до выполнения команды / другого шелла тупо не доходит.

Источник

Linux для начинающих

Запись создана, как шпаргалка, чтобы в случае необходимости, использовать как точку входа, для поиска нужной информации. За основу, был взят курс: OTUS: Linux для начинающих — Отличный видеокурс рассчитанный для программистов и администраторов, которые хотят освоить ОС Linux. Курс понравился структурой, которая объясняет основы, необходимые для начинающих изучение.

Linux — семейство Unix-подобных операционных систем на базе ядра Linux, включающих тот или иной набор утилит и программ проекта GNU, и, возможно, другие компоненты. Как и ядро Linux, системы на его основе как правило создаются и распространяются в соответствии с моделью разработки свободного и открытого программного обеспечения. Linux-системы распространяются в основном бесплатно в виде различных дистрибутивов — в форме, готовой для установки и удобной для сопровождения и обновлений, — и имеющих свой набор системных и прикладных компонентов, как свободных, так, возможно, и собственнических. Linux — Википедия.

Официальной версии операционной системы не существует. Ядро от Линус Торвальдс + окружение от Ричарда Столлмана = GNU/Linux. Оригинальная версия ядра «Vanilla kernel» – kernel.org. Разные версии ядра, разная структура каталогов, разные менеджеры пакетов, разный набор ПО. Не существует официальных сборок.

Версии Linux

Основанные на Red Hat Linux: Red Hat / CentOS / Fedora
Основанные на Debian: Debian / Ubuntu
Основанные на Slackware: Slackware
Основанные на Gentoo: Gentoo

Иерархическая структура каталогов Linux

Иерархическая структура каталогов Linux – все сводится к корню «/» (root).

Иерархическая структура каталогов Linux

/ Корневой каталог, содержит всю файловую архитектуру.
/bin Основные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp).
/boot Загрузочные файлы (в том числе файлы загрузчика, ядро, initrd).
/dev Основные файлы устройств (например, /dev/null, /dev/zero).
/etc Общесистемные конфигурационные файлы.
/home Домашние каталоги пользователей, которые содержат персональные настройки и данные пользователя.
/lib Основные библиотеки, необходимы для работы программ из /bin и /sbin.
/media Точки монтирования для сменных носителей.
/mnt Временно монтируемые файловые системы.
/opt Дополнительное программное обеспечение.
/proc Виртуальная файловая система, состояние ядра ОС и запущенные процессы в виде файлов.
/root Домашний каталог супер пользователя.
/run Информация о системе с момента ее загрузки, в том числе данные, необходимые для работы демонов.
/sbin Основные системные программы для администрирования и настройки системы, например init, iptables, ifconfig.
/srv Данные для сервисов, предоставляемых системой (например, www или ftp).
/sys Информация об устройствах, драйверах, а также некоторых свойств ядра.
/tmp Временные файлы.
/usr Вторичная иерархия для данных пользователя. Содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме.
/var Изменяемые файлы, такие как файлы регистрации, временные почтовые файлы, файлы спулеров, лог файлы.

Варианты установки ПО в Linux

Из исходных кодов – компиляция бинарных файлов, возможность модифицировать, возможность установки без прав администратора.
Минусы: Поиск зависимостей очень долгий. Отсутствие контроля установленного ПО.

Из пакетов – пакет, это своего рода архив, который содержит уже готовый скомпилированный бинарный файл и перечень зависимостей (сразу виден перечень зависимостей). Есть контроль установленного ПО.

Пакетные менеджеры обрабатываю пакеты, имеют собственную базу данных установленного ПО. Если все таки ПО идет из исходного кода, тогда правильно будет собрать пакет и установить.
Минусы: Нужны права администратора. Пакеты создаются под определённый дистрибутив Linux (rpm для пакетного менеджера yum и deb для dpkg).

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

Читайте также:  Как удалить скрытые обновления windows

Простейшие команды в Linux

ls -l Просмотр файлов и директорий, -a показать скрытые файлы.
pwd Текущая директория.
touch Создание файлов
mkdir Создание директорий, -p авто создание поддиректорий.
cd Сменить текущую директорию. Абсолютный путь – путь от корня файловой системы. Относительный путь – путь из текущей директории.
rm Цдалить файл, можно использовать маску.
rmdir Удалить директорию, удаляет только пустые. Нужно использовать команду rm –r, а после rmdir.
cp Копирование файлов и директорий.
mv Перемещение файлов и директорий, можно использовать для переименования.
type Информация о типе команды, то как она будет интерпретироваться если вводится в командной строке.
whereis Показывает полный путь к исполняемому файлу.
who Кто сейчас работает на сервере.
man Справочная информация по команде.
more Листать файл, пробел постранично, еnter построчно, выход клавиша Q.
less Листать файл, можно с помощью курсора, поиск по файлу.

Пользователи в Linux

Идентификация пользователя (UID) — Имя пользователя – 32 символа (псевдоним), для ОС важно идентификатор пользователя.
Два типа пользователей:

  • root (UID 0) – никаких ограничений.
  • Все остальные – служебные (демоны) и обычные (UID не 0).

/etc/passwd – хранится информация о пользователях, в виде:
имя пользователя : Х : UID : GUID (UID группы) : комментарий : домашний каталог : командная оболочка

/etc/group – информация о группах пользователей.
имя группы : GUID : кто входит в группу

/etc/shadow – информация о паролях пользователей, в виде хэш.

Аутентификация – проверка подлинности, наличия пользователя в системе. Логин + пароль – Хеш функция – сравнение с тем что хранится в системе.
Авторизация — предоставление определённому лицу или группе лиц прав на выполнение определённых действий, а также процесс проверки данных прав при попытке выполнения этих действий. Часто можно услышать выражение, что какой-то человек «авторизован» для выполнения данной операции — это значит, что он имеет на неё право.

Расширение файла не имеет значения для ОС – файл это всего лишь поток байт.

Права доступа к файлам

Директория – это файл с определенным признаком каталога.
x – открыть директорию.
r – прочесть содержимое директории.

chmod – смена прав. Ключ –R меняет права директории и содержимого.

Файл – именованная область данных на диске — ext2,3,4. Блок минимальная единица – в ext4 блок 4 Килобайта.
inode – индексный дескриптор, хранит мета информацию о файле, идентифицируются по номерам. Количество inode ограничено, в xfs – нет таких ограничений.

stat – выводит информацию inode файла.

df – свободное пространство файловых систем.
df –i – информация о inode.

Каталог – хранит в себе имена файлов, по сути соответствие имени файла и его inode. Удаление файла — удаление его имени из каталога, файл остается лежать на диске.

Hard Link – синоним имени файлов – для создания ln, для просмотра ln –li, так как при выводе inode можно увидеть количество жестких ссылок. Жесткие линки созданные на один файл, логически между собой равны. Нельзя создавать на каталоги и только в пределах одной файловой системы, потому что inode уникальны в рамках одной файловой система.

Soft Link – аналог ярлыков, ln –s.
Софт линк занимает inode так как это новый файл, а хард линк – новое имя уже существующего файла. Можно создавать на каталоги и между разными файловыми системами.

Работа с потоками STDIN, STDOUT, STDERR

STDIN — Поток номер 0 (stdin) зарезервирован для чтения команд пользователя или входных данных.
STDOUT — Поток номер 1 (stdout) зарезервирован для вывода данных, как правило (хотя и не обязательно) текстовых.
STDERR — Поток номер 2 (stderr) зарезервирован для вывода диагностических и отладочных сообщений в текстовом виде.

Потоки STDIN, STDOUT, STDERR

Перенаправление в файл:
Стандартный поток: ls -l > stdout
Ошибки: ls -l 2> stderr
Одновременно: ls -l 2>stderr 1> stdout
> — перезаписывает файл
>> — добавление в файл

Порядок выполнения команды в bash:
ls -l > stdout — выполнение идет справа налево, сначала создается файл и после в него записывается вывод команды ls.

Перенаправление в STDIN другой команды:
command1 | command2 — перенаправление вывода одной команды на вход другой, используется “|” — pipe.

Команда tee::

Потоки и указатели: “&” — перенаправление по адресу, по указателю.

И, ИЛИ, НЕ ИМЕЕТ ЗНАЧЕНИЯ — Логические операторы работают на основании кода возврата программы. Код возврата: 0 — true, не 0 — false. Каждая программа возвращает код возврата, как увидеть: echo $?

&& — Логическое И:

|| — Логическое ИЛИ:

; — Логическое НЕ ИМЕЕТ ЗНАЧЕНИЕ:

Монтирование

Все есть файлы, диски находятся в каталоге dev, например, sda, sda1, sda2, sdb, sdc, sde, sdf. S — интерфейс SATA. Если имя состоит из букв, это физический диск. Если в конце цифра, это логический диск. Работа с дисками посредством виртуальной файловой системы, VFS — Virtual File System:

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

Монтирование — связывание виртуальной файловой системы с реальной.

После того как запускается ядро ОС, оно должно произвести монтирование корневой файловой системы, точки монтирования прописаны в файле: /etc/fstab
lsblk — информация о блочных устройствах, дисках ОС.
df — h — выводить размеры в читаемом виде, в мегабайтах или гигабайтах.
mount — более подробная информация, берет данные из /etc/mtab -> /proc/self/mounts

/mnt — каталог для монтирования временных устройств, если на постоянной основе, тогда через fstab и отдельный каталог.

Читайте также:  Как активировать windows server 2019 standard evaluation при активном домена

Установка ПО

rpm — Пакетный менеджер в Centos (работа с пакетами).
yum — Надстройка над пакетным менеджером, которая работает с репозиторием. Предоставляет данные пакетному менеджеру.

Список файлов в пакете:

Поиск пакета по файлу:

Процессы в Linux

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

Создать процесс можно исключительно из существующего процесса.
fork() – системный вызов, создающий новый процесс. Создает полную копию процесса. Стартует в одном процессе, завершается в двух.
exec() – системный вызов, заменяющий исполняемый код в процессе. Загрузили программу в созданный процесс.
exit() – завершение процесса. Возвращает код возврата.
wait() – считывает код возврата. Вызывается из процесса, который сделал вызов fork(). Считать код возврата может только тот процесс, из которого произошел процесс, который сейчас завершился, то есть процесс родитель.

fork exec exit wait

PID – Уникальный идентификатор процесса, PPID – уникальный идентификатор процесс родителя. Все процессы имеют идентификаторы кроме init или systemd (pid 1 и ppid 0) и kthreadd (pid 2 и ppid 0).

init – пространство пользователя.
kthreadd – процесс пространства ядра.

Иерархическая структура процессов.

Процесс зомби – процесс между событиями exit и wait от родителя. Нормальное состояние, но если они начинают плодится стоит задуматься. Так как могут быть лимит у пользователя.
1. Симптом загруженной системы.
2. Процесс не следить за своими потомками, код возврата читает исключительно родитель.

Процесс сирота – это процесс без родителя. За сиротами следит ядро, как только появляется такой процесс он присваивается init, чтобы можно было прочесть код возврата.

Как завершить процесс-зомби, сделать сиротой, тогда он присвоится init и завершится.

Каталог /proc/pid — информация о процессе. Просмотр доступен всем пользователям ОС. Управлять процессом может либо создающий пользователь либо root. Сменить владельца не возможно. Кто является владельцем каталога то и является владельцем процесса.
Демон (Аналог служба в Windows.) — Программа работающая в фоновом режиме. Процесс, который не имеет управляющего терминала — не воспринимает команды с клавиатуры. Взаимодействие происходит с помощью сигналов ОС. Буква d в названии файлов – демон.

kill pid — по умолчанию завершает процесс.
posix 28 видов сигналов.
SIGINT – 2 (Сигнал прерывания Ctrl-C с терминала).
SIGTERM – 15 (Сигнал завершения, сигнал по умолчанию для kill).
SIGKILL – 9 Безусловное завершение.

Сигналы обрабатываются специальными обработчиками – описание того что произойдет. Можем сами написать, произойдет замена на дефолтный. На 9 сигнал невозможно написать обработчик. Исключения процессы в статусе d (dump) и процесс init (В FreeBSD можно убить init).

top – показывает первые процессы которые потребляют больше всего процессорного времени.
Если нажать S можно установить период обновления.

Загрузка компьютера: За 1 минуту, За 5 минут, за 15 минут.

load average – среднее количество процессов в очереди на ожидании ресурсов. Если за минуту больше чем за 5 минут, значит нагрузка возрастает, если наоборот, нагрузка падает. Должно быть меньше или равно количеству ядер процессора, но не всегда.

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

Если нажать 1 можно увидеть данные по ядрам.
Вторая строчка – сколько процессов и какой у них статус.

us – сколько процессорных ресурсов израсходовано в пространстве пользователя.
sy – сколько процессорного потрачено на работу ядра.
ni (nice) – сколько процесс. ресурсов потраченных на процессы с низким приоритетом
id – процент простоя процессорного времени.
wa – сколько процессорного времени потраченного на устройство ввода-вывода. Если растет этот параметр, значить система ввода-вывод не справляется с текущей нагрузкой, либо сеть либо диск.
hi – сколько процессорных ресурсов потрачено на обработку аппаратных прерываний.
si – сколько процессорных ресурсов потрачено на программные прерывания.
st – как занята хостовая машина. Актуально для виртуальных машин. Не для всех гипервизоров актуально.

Узнать DNS: cat /etc/resolv.conf

Системы инициализации

Порядок загрузки компьютера:

MBR — главная загрузочная запись, 512 байт — содержит код загрузчика и таблицы раздела. Необходима для загрузки операционной системы.
GPT — стандарт формата размещения таблиц разделов на физическом жестком диске. Он является частью Расширяемого микропрограммного интерфейса (англ. Extensible Firmware Interface, EFI) — стандарта, предложенного Intel на смену BIOS. EFI использует GPT там, где BIOS использует Главную загрузочную запись (англ. Master Boot Record, MBR).

GRUB — Позволяет пользователю иметь несколько установленных операционных систем. Умеет по цепочке передавать управление другому загрузчику. Популярный загрузчик в мире Linux. Загрузка ядра ОС.

Ядро должно содержать драйвер диска для каталога «/». Если загрузка идет со специфического диска, то, как правило, сначала вместо реального диска в каталог / монтируется initrd (Initial RAM Disk) — временная файловая система, можно положить модули ядра. После, старт системы инициализации.

Система инициализации — стартует после загрузки ядра. За систему инициализации отвечает первый процесс (init/systemd). Определяет порядок запуска служб и программ.

Три наиболее популярные системы:
1. SysV — наиболее старая система. Пришла из мира Unix. Набор стартовых скриптов. Уровни запуска.
2. Upstart — пришла на смену SysV, упростить написание стартовых скриптов, инициализация служб отличалась от SysV. Полностью быть совместимой с SysV. Особо не популярна.
3. Systemd — современная система инициализации. Параллельность запуска. Зависимости служб. Если служба не запустилась, система будет пытаться запустить.

Скрипты SysV лежать в каталоге /etc/init.d/
Upstart — команда service
В каталогах rc*.d указывается кто и когда будет стартовать, см. /etc/rc

Каталог по умолчанию для систем инициализации: /lib/systemd/system — перечень файлов, которые отвечают за старт служб.

Источник

Оцените статью