Rsync настройка бэкапа на CentOS / Debian / Ubuntu

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

Как составить список пользователей в Ubuntu Linux VPS: руководство для начинающих

Если вы хотите просмотреть всех пользователей в Linux Ubuntu VPS, вы можете использовать команду /etc/passwd, поскольку данные локального пользователя сохраняются в файле «/etc/passwd». Есть два способа выполнить эту команду, а именно:

cat /etc/passwd

Или же

less /etc/passwd

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

Эти выходные строки относятся к пользователям. Количество строк зависит от количества пользователей в системе.

Каждая строка содержит семь разных полей, которые представляют подробные сведения о конкретном пользователе. Например, первая строка вывода — это root:x:0:0:root:/root:/bin/bash, что означает:

Как составить список пользователей в Ubuntu Linux VPS: руководство для начинающих
  • root — логин пользователя.
  • b — заполнитель пароля, так как фактический пароль сохраняется в отдельном файле.
  • 0 — UserID пользователя.
  • 0 — GroupID пользователя.
  • root — командное поле с некоторыми подробностями о пользователе.
  • /root — домашний каталог, который является основным каталогом пользователя.
  • /bin/bash — оболочка пользователя.

Обратите внимание, что двоеточия (:) используются для разделения значений в выводе.

Выполните следующие команды, чтобы увидеть имена пользователей:

cut -d : -f 1 /etc/passwd

Или же

awk -F: ‘{ print $1}’ /etc/passwd

Удаляем файлы в Linux: практика

В ОС Linux для удаления файлов есть стандартная утилита rm. Как это принято со стандартными утилитами, в названии rm есть определённая идея. В нашем случае речь идёт о сокращении от английского слова Remove — удалять.

Итак, чтобы выполнить удаления одного файла, используем команду rm, указывая за ней имя нашего файла:

rm filename

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

rm /home/user/filename

Бывает, что файл защищён от записи. Тогда нам предложат подтвердить команду. Чтобы удалить файл в такой ситуации, просто вводим y и нажимаем Enter.

rm: remove write-protected regular empty file 'filename'?

Если мы хотим удалить сразу несколько файлов в Linux, то это тоже не проблема: используем команду rm, за которой прописываем имена наших файлов через пробел:

rm filename1 filename2 filename3

Ещё вариант — использование подстановочного знака * и регулярных выражений для соответствия определённым файлам. К примеру, мы легко удалим все файлы в Linux, имеющие расширение .txt следующей командой:

rm *.txt

Для подтверждения каждого файла перед удалением используйте опцию -i:

rm -i filename(s)

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

rm -f filename(s)

Примеры использования команды sudo

sudo –l — отобразить список команд, доступных для выполнения текущему пользователю. Кроме списка команд отображаются параметры среды, которые будут применяться при их выполнении.

sudo –ll — отобразить список команд, доступных для выполнения текущему пользователю в длинном (расширенном) формате.

В данном формате вместо краткого синтаксиса для списка разрешенных команд в виде (ALL : ALL) ALL отображается подробное описание прав пользователя:

Sudoers entry:

RunAsUsers: ALL

RunAsGroups: ALL

Команды: ALL

sudo lshw -C network — отобразить информацию о сетевом оборудовании с правами суперпользователя root

sudo –l –U user1 — увидеть список команд, доступных для выполнения пользователю user1. Для выполнения данной команды юзер должен быть root или иметь право на выполнение команды sudo -l, что обеспечивается настройками утилиты sudo в файле /etc/sudoers

sudo ipmitool sensor — выполнить команду ipmitool sensor с правами root .

sudo su — выполнить команду su, т.е. создать сеанс суперпользователя root

sudo -i — запустить командную оболочку с правами суперпользователя root. Для выполнения данной команды юзер должен иметь право на выполнение программы оболочки в среде sudo, к примеру — /bin/bash

sudo ls /usr/local/protected — получить список файлов каталога, доступного только root

sudo -u user2 ls ~ — получить список файлов домашнего каталога пользователя user2

sudo -u www vi ~www/htdocs/ — редактировать файлик ~www/htdocs/ от имени пользователя www

sudo -g adm view /var/log/syslog — просмотреть файлик системного журнала, доступного только суперпользователю root и членам группы adm

sudo -u user1 -g users2 vi /home/users2/ — редактировать текстовый файлик как юзер user1, с принадлежностью к первичной группе users2

sudo -E /usr/bin/firefox — запустить браузер firefox от имени суперпользователя root, сохранив параметры среды текущего пользователя. Должно бытьсть выполнения команд с сохранением среды пользователя должна быть разрешена параметром SETENV в настройках файла конфигурации sudo

GNU Linux Debian \ Ubuntu

Пример на VPS

GNU Linux Debian \ Ubuntu

1. Пройдите авторизацию в панели CloudStack

Рис. 1

GNU Linux Debian \ Ubuntu

2. Перейдите во вкладку «Машины»

Рис. 2

GNU Linux Debian \ Ubuntu

3. Нажмите на название виртуальной машины, чтобы перейти на страницу управления выбранной ВМ.

Рис. 3

GNU Linux Debian \ Ubuntu

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

Рис. 4

GNU Linux Debian \ Ubuntu

5. В консольном окне нажмите на кнопку для перезагрузки Ctrl — Alt — Del .

Рис. 5

GNU Linux Debian \ Ubuntu

6. При загрузке (на этапе вот такого синего экрана) нажмите на клавишу E (англ. Раскладка).

Рис. 6

GNU Linux Debian \ Ubuntu

7. Напишите single в конце строки, замените ro на rw и нажмите Ctrl + X. Если система снова продолжает запрашивать пароль root пользователя, то напишите дополнительно init=/bin/bash и нажмите Ctrl + X.

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

GNU Linux Debian \ Ubuntu

Рис. 7

8. Командой с клавиш Ctrl + X мы загрузились в Linux Debian с нашими параметрами под пользователем root. Выполните команду passwd root для ввода нового пароля (рис. 8.2) . Введите пароль два раза, если смена пароля прошла успешно, то вы увидите сообщение об этом (рис. 8.3).

GNU Linux Debian \ Ubuntu

Рис. 8.1

8.2

GNU Linux Debian \ Ubuntu

9. После смены пароля нажмите на кнопку Ctrl — Alt — Del для перезагрузки сервера. Пройдите авторизацию под учетной записью root, введите ваш новый пароль.

Рис. 9

Настройте VNC для удаленного администрирования CentOS

Есть несколько способов включить удаленное администрирование CentOS через VNC в CentOS 6-7. Самый простой, но самый ограниченный способ — это просто использовать пакет, называемый vino . Vino — это приложение для подключения к виртуальной сети для Linux, разработанное на платформе Gnome Desktop. Следовательно, предполагается, что установка была завершена с помощью Gnome Desktop. Если Gnome Desktop не был установлен, сделайте это, прежде чем продолжить. По умолчанию Vino будет установлен с графическим интерфейсом Gnome.

Чтобы настроить совместное использование экрана с Vino в Gnome, мы хотим перейти в системные настройки CentOS для совместного использования экрана.

Applications->System Tools->Settings->Sharing

Примечания к настройке VNC Desktop Sharing —

  • Отключить Новые подключения должны запрашивать доступ — эта опция потребует физического доступа для подтверждения каждого подключения. Эта опция предотвратит удаленное администрирование, если кто-то не находится на физическом рабочем столе.

  • Включить Требовать пароль — это отдельно от пароля пользователя. Он будет контролировать доступ к виртуальному рабочему столу и по-прежнему требовать пароль пользователя для доступа к заблокированному рабочему столу (это полезно для безопасности).

  • Переадресация портов UP & P: если доступно, оставьте отключенным — Переадресация портов UP & P будет отправлять запросы Universal Plug and Play для устройства уровня 3, чтобы автоматически разрешать соединения VNC с хостом. Мы не хотим этого.

Убедитесь, что Vino прослушивает порт VNC 5900.

[[email protected]]# netstat -antup | grep vino tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 4873/vino-server tcp6 0 0 :::5900 :::* LISTEN 4873/vino-server [[email protected]]#

Давайте теперь настроим наш брандмауэр, чтобы разрешить входящие соединения VNC.

[[email protected]]# firewall-cmd —permanent —add-port=5900/tcp success [[email protected]]# firewall-cmd —reload success [[email protected] rdc]#

Наконец, как вы можете видеть, мы можем подключить наш CentOS Box и администрировать его с помощью клиента VNC в Windows или OS X.

Столь же важно соблюдать те же правила для VNC, что и для SSH. Как и SSH, VNC постоянно сканируется по диапазонам IP-адресов и проверяется на наличие слабых паролей. Также стоит отметить, что оставление входа в систему CentOS по умолчанию с тайм-аутом консоли помогает в обеспечении безопасности удаленного VNC. Поскольку злоумышленнику понадобятся VNC и пароль пользователя, убедитесь, что ваш пароль для общего доступа к экрану отличается и его так же сложно угадать, как и пароль пользователя.

После ввода пароля общего доступа к экрану VNC мы также должны ввести пароль пользователя для доступа к заблокированному рабочему столу.

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

Где хранятся данные о пользователях

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

/etc/passwd — файл passwd хранит имя пользователя, метку пароля, ID пользователя, ID группы (GID), полное имя и служебную информацию, путь к домашней папке и используемый юзером шелл (командную строку), разделенные двоеточиями.

Чтобы просмотреть содержимое этого файла выполните команду sudo cat /etc/passwd.

Где хранятся данные о пользователях

Помимо пользователя root, который всегда идет в списке первым и имеет ID и GID, файл может содержать массу служебных пользователей, которые сейчас нас не интересуют. Давайте-ка лучше посмотрим на запись администратора.

Для наглядности мы использовали цветовую идентификацию.

  1. Желтый — имя пользователя.
  2. Красный — метка пароля (x), сам пароль хранится в зашифрованном виде в другом файле.
  3. Оранжевый — идентификатор пользователя.
  4. Зеленый — идентификатор группы, в которую входит пользователь, и таких групп может быть несколько.
  5. Серый — полное имя пользователя и служебная информация. Если данные отсутствуют, блок заполняется запятыми.
  6. Голубой — домашний каталог пользователя.
  7. Сиреневый — используемая командная оболочка.

/etc/shadow — хранит пароли пользователей в зашифрованном виде. Строка представлена именем пользователя и зашифрованным паролем, разделяемыми двоеточием.

Цвета на изображении означают:

  1. Желтый — имя пользователя.
  2. Красный — его пароль в зашифрованном виде.
Где хранятся данные о пользователях

/etc/group — этот файл хранит названия групп. Его содержимое представлено названием группы, меткой пароля, идентификатором группы и ее названием. Если в группу входит несколько пользователей, они перечисляются через запятую.

Цветом на изображении выделены:

  1. Желтым — название группы.
  2. Красным — метка пароля.
  3. Зеленым — идентификатор группы.
  4. Голубым — входящие в группу пользователи.

Как отзвать привелегии суперпользователя

Для того, чтобы сделать пользователя обычным — без прав выполнения команд от имени суперпользователя нужно удалить его из группы sudo. Сделать это можно с помощью следующей команды:

sudo deluser ИМЯ_ПОЛЬЗОВАТЕЛЯ sudoУдаление пользователя из группы sudo

Как отзвать привелегии суперпользователя

Теперь можно убедиться, что пользователь более не может выполнять команды от имени root:

su testuser sudo whoamiПроверяем отсутствие прав суперпользователя

Как мы можем видеть — система не позволяет пользователю использовать команду sudo.

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

Как отзвать привелегии суперпользователя

20 177Rate this item: Rating↓ Ещё по теме

  • Как изменить пароль root в Ubuntu

    Здравствуй, дорогой читатель, если у тебя возникла необходимость поменять пароль суперпользователя в…

  • Linux выручит при отсутствии линейки

    Что делать, если нужно воспользоваться линейкой, но ее нету под рукой? Linux…

  • Слушаем Наше Радио в Linux

    Наслаждаемся хорошей музыкой и малым потреблением оперативной памяти. Для просулушивания интернет-радио есть…

  • Установка ADB в Ubuntu

    Описание процесса установки Android Device Bridge в Ubuntu В центре приложений Ubuntu…

Читайте также:  Linux Mint vs Ubuntu: что лучше выбрать

Настройка службы SSH

Запрещаем авторизацию от пользователя root. Ваша учетная запись должна быть в группе sudo или wheel (в зависимости от ОС) для того чтобы выполнять команды от суперпользователя, как это сделать указано выше. Для непосредственного выполнения команд следует перед командой использовать служебную команду sudo.

Например:

sudo reboot

Также для перехода в режим суперпользователя можно использовать одну из двух команд:

либо

sudo su

Во всех случаях система запросит пароль.

Теперь отключим авторизацию под пользователем root.

Открываем на редактирование файл sshd_config. В Debian/Ubuntu это выглядит так:

sudo nano /etc/ssh/sshd_config

Находим строчку:

PermitRootLogin и заменяем его значение на no.

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

Открываем все тот же файл sshd_config.

sudo nano /etc/ssh/sshd_config

Находим строку:

PasswordAuthentication yes

Заменяем значение “yes” на “no”.

Строка может быть закомментирована (т.е. перед ней стоит символ “#”), в этом случае ее надо раскомментировать.

Важно! Вы можете оставить авторизацию как по паролю, так и по ключу.

По окончании настроек любого из пунктов, перезапускаем сервер.

sudo /etc/init.d/ssh restart

Либо

sudo service ssh restart

Либо

sudo systemctl restart sshd

Ротация логов rsync

Мы ранее указали в настройках службы rsyncd ведение лога в файл /var/log/ Необходимо настроить ротацию этого лога, чтобы он не рос до бесконечности. На больших файловых серверах он очень быстро вырастет до сотен мегабайт и более.

Для этого создаем в папке /etc/logrotate.d файл с конфигурацией ротации:

# mcedit /etc/logrotate.d/rsyncd /var/log/ { size=500k compress rotate 4 missingok notifempty }

С такими настройками ротация будет происходить каждый раз, когда файл лога превысит размер в 500 кб. Храниться будут 4 версии лог файла. Эти настройки вы можете сами поменять по своему усмотрению.

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

Копируем и переносим

Итак, вы знаете, в какой папке находитесь и можете посмотреть содержимое директории. Копируем нужный файл командой cp (copy). Но копирование означает последующую вставку. Сразу рассмотрим такую команду на примере. Допустим, скачали некий файл Тот автоматически оказывается в папке Загрузки. Захламлять ту не стоит – время от времени мы будем заглядывать сюда для очистки. Так что скопируем файл отсюда, скажем, в папку Документы. Вот самый простой вариант исполнения обычного копирования:

Обратите внимание: я, уже находясь в папке Загрузки (об этом пишет терминал) просматриваю его содержимое, копирую наш файл в папку Документы, просматриваю содержимое не покидая Загрузок. Перед слэшем папки я ставлю знак “тильда”, чтобы не писать адрес корневого каталога /root. Затем уже перехожу в Документы и оттуда снова смотрю состав папки Документы. Умея таким образом оперировать командами навигации и копи-паста (от copy-paste – скопировал-вставил), вы сможете работать в терминале тогда, когда GUI-интерфейса доступно не будет.

Очередная полезная команда терминала mv (от move – перемещать). С её помощью можно перемещать файлы из одной папки в другую. В известном смысле она аналогична команде “вырезать” в Windows. То есть файл после переноса с помощью mv в папке, откуда был перенесён, затирается.

Копируем и переносим

КСТАТИ

Терминал заполнен запросами и выдачей к ним? Набранное и выводимое выше уже не актуально? Нет надобности закрывать и заново открывать окно терминала. Просто введите команду “очистить”: