Как запретить удаление файла в Linux, даже для Root

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

Чтобы сделать файл неуязвимым для любого пользователя системы, включая root, вам необходимо сделать его неизменяемым с помощью команды chattr. Эта команда изменяет атрибуты файлов в файловой системе Linux.

Приведенная ниже команда делает файл /backups/passwd файл неизменяемым. Это означает, что файл нельзя изменить любым образом: его нельзя удалить или переименовать. Вы даже не можете создать ссылку на него, и никакие данные также не могут быть записаны в файл.

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

sudo chattr +i /backups/passwd

или

sudo chattr +i -V /backups/passwd

Для просмотра атрибутов файла используется команда lsattr, как показано ниже:

lsattr /backups/passwd

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

rm /backups/passwd
sudo rm /backups/passwd

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

sudo chattr +i -RV /backups/

Чтобы снова изменить файл, используйте флаг -i, чтобы удалить вышеуказанный атрибут, как показано ниже.

sudo chattr -i /backups/ passwd

10 полезных утилит для мониторинга Linux-сервера

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

Читать далее «10 полезных утилит для мониторинга Linux-сервера»

Настоящий стресс-тест процессора для Linux

СТРЕСС ТЕСТ
CENTOS

Чтобы максимально загрузить процессор компьютера или сервера на Linux, нужно воспользоваться программой stress. Пакет есть во всех пакетных менеджерах. В примере ниже я использую CentOS

yum install stress

Программа очень маленькая, поэтому установится очень быстро.

Чтобы запустить стресс-тест в linux и нагрузить наш CPU на 100%, нужно выполнить команду:

stress --cpu 8

Где 8 – это количество ядер центрального процессора.

Стресс-тест запускается моментально. Для его остановки давим кнопки Ctrl+С.

Установка DLNA на домашний сервер

DLNA-сервер позволяет организовать удобный просмотр медиа контента по протоколу DLNA/UPnP и его централизацию. В одной домашней сети сможете просматривать видео, фото и слушать музыку по сети, даже через wi-fi.

Репозиторий EPEL:
yum install epel-release

cd /opt/ — в этот каталог обычно закачивают инсталяционные пакеты теперь воспользуемся пакетом wget если его нет то ставим yum install wget выполним команду

Репозиторий NUX (здесь minidlna — сервер, транслирующий скаченный контент в локальную сеть):
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/i386/nux-dextop-release-0-3.el6.nux.noarch.rpm

wget http://downloads.sourceforge.net/project/minidlna/minidlna/1.0.24/minidlna_1.0.24_src.tar.gz

в каталоге появится файл minidlna_1.0.24_src.tar.gz распакуем его

tar -zxvf ./minidlna_1.0.24_src.tar.gz

появится каталог minidlna-1.0.24 заходим в него

Читать далее «Установка DLNA на домашний сервер»

Просматриваем список пользователей в Linux

Полный список пользователей

cat /etc/passwd

Если ИД у пользователя имеет меньше четырех цифр, то это системные данные, в которые вносить изменения крайне нежелательно. Дело в том, что они создаются самой ОС в процессе установки для обеспечения наиболее безопасной работы большинства сервисов.

Читать далее «Просматриваем список пользователей в Linux»

Настройка синхронизация времени по NTP в CentOS

Вы можете настроить автоматическую синхронизацию времени на вашем сервере с внешним NTP (Network Time Protocol) сервером. Для этого нужно установить сервис ntp. Например, в CentOS 7 установка выполняется через yum:

yum install ntp -y

После установки, нужно запустить сервис ntpd и добавить его в автозагрузку:

service ntpd start
или
systemctl start ntpd.service
systemctl enable ntpd.service

Добавим в автозагрузку

chkconfig --levels 235 ntpd on

В файле /etc/ntp.conf нужно указать сервера, с которыми нужно синхронизировать время:

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org

Синхронизация времени выполняется последовательно. Если недоступен первый NTP сервер, идет обращение ко второму и т.д.

Можно вручную синхронизировать время с указанным NTP сервером командой:

ntpdate 192.168.1.100

По умолчанию, ntpd включает в системе режим “11 minute mode”, то есть время будет синхронизироваться каждые 11 минут. Если вы не можете использовать демон ntpd, вы можете настроить синхронизацию времени по крону, добавьте в крон следующую команду:

/usr/sbin/ntpdate 0.centos.pool.ntp.org

Ищем вирусы на серверах Linux: 5 инструментов для сканирования

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

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

Читать далее «Ищем вирусы на серверах Linux: 5 инструментов для сканирования»

Как с помощью iptables разрешить доступ к локальному порту только для списка IP адресов

Возможно, есть способы и попроще, но я сделал так.

Защищать будем, например, Asterisk (по-умолчанию порт для протокола SIP 5060)

Создаем новую цепочку:

iptables -N asterisk-manual
iptables -I INPUT -i eth0 -p udp --dport 5060 -j asterisk-manual
Читать далее «Как с помощью iptables разрешить доступ к локальному порту только для списка IP адресов»

Добавление жесткого диска в CentOS более 2TB

Проблема следующая, при подключении жесткого диска на 3Tb, предназначался он для хранения бэкапов, и его разметке через fdisk, система видит только 750Gb, что не есть хорошо, проблема довольно легко решается и сейчас я об этом расскажу.

Для начала установим пакет

yum install parted

Предположим что у меня в системе был один жеский диск он называется /dev/sda, тогда второй хард, который у нас на 3Тб будет устройство /dev/sdb вот с ним мы и будем работать.

Читать далее «Добавление жесткого диска в CentOS более 2TB»