Sudo, добавление нового жесткого диска на сервер, назначение прав доступа
Установка sudo в систему Debian 10
Поскольку Debian это базовый дистрибутив, поэтому вся его настройка возлагается на пользователя. Первоначально после установки Debain есть такой, каким есть Linux. Это недостаточно дружелюбная для "хомячка" система, требующая настройки.
В этой части моего блога мы добавим sudo в систему и настроим возможность пользователям использовать административные права.
Случается так, что некоторые программы нужно сразу выполнить от имени администратора и необходимо этими правами наделить пользователся.
Например, чтобы получить административные привилегии для редактирования /etc/fstab в базовом Debian требуется сначала выполнить команду $ su, а затем от имени этого пользователя запустить нужную команду, например:
$ su
# nano /etc/fstab
Две команды, и при этом полные привилегии на фоне. Не всегда это нужно.
Проще выполнить:
$ sudo nano /etc/fstab
Изначально в Debian необходимо установить sudo, а затем добавить пользователя в группу sudo. Но в моем случае это не сработало. После окончания редактирования, терминал сообщал мне, что пользователь adminz не имеет доступа к sudo, поэтому мне пришлось вручную редактировать файл /etc/sudoers.conf.
открываем вышеуказанный файл и находим такой раздел:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
adminz ALL=(ALL:ALL) ALL эту строку я добавил в свой файл.
Если вы умеете использовать cat >>, echo или tee, то пожалуйста, достаточно добавить данную строку в файл.
Добавляем новый жесткий диск в систему.
Эта глава буедет дописана чуть позже. Главное, правильно поправить fstab и ещё важнее, перепроверить, точно ли вы подготовили жесткий диск.
Недавно мне удалось купить жесткий диск на 2 Tb, который тут же занял свое место в сервере и начал свою работу.
Я не буду в этот раз описывать теорию, ограничусь практикой, что я сделал, чтобы это заработало.
К сожалению, Linux не даёт такой же простоты работы с новыми HDD в системе, каким бы графическим он не был, но настолько же понятного GUI как в Windows тут нет. Да ещё и с правами доступа очередная свистопляска. Если в Windows вы сами себе хозяин, то в Linux вам навязывают непривилигированного пользователя. Да так, что даже флешку без sudo вы не можете отформатировать. Да, это бесит жутко даже меня, пользователя с 2004 года.
Но сервер есть сервер.
Вставляем жесткий диск, затем выполняем перечень команд.
# fdisk -l
Копируем в отдельный текстовый файл /dev/sd* которому принадлежит жесткий диск.
# blkid
Копируем UUID нового hdd в вышеуказанный файл затем выполняем команду:
# mke2fs -t ext4 -L D /dev/sd*1
где D -- метка раздела (Как в windows диск D)
/dev/sd*1 -- номер раздела, на диске sd*
поскольку для 2 Tb не требуется организации GPT, я оставил то что было по умолчанию: MBR.
Далее редактируем /etc/fstab
добавляем следующую строку:
UUID /mnt/D ext4 defaults 0 0
сохраняем.
#mkdir /mnt/D
Сразу пробуем:
#mount /dev/sd*1 /mnt/D
если сообщений об ошибках не выдало, то проверяем монтирование:
#mount
без параметров mount выдаст список всех подключенных файловых систем.
Поключитесь к сереверу через консоль KVM или подключите к нему монитор, если есть такая возможность.
#reboot
Если ошибок не было, то сервер загрузится нормально.
Зайдите по ssh на сервер.
Снова проверьте:
#mount
#cat > /mnt/D/test.txt
Ваш текст (после окончания ввода нажимте ctrl+D).
Если ошибок нет, то:
# ls /mnt/D
test.txt
Всё работает.
Теперь я обнаружил небольшой конфликт с назначением прав доступа.
Если прописать в параметрах загрузки на месте defaults следующий текст:
user:user group:nogroup
то можно не получить никакого монтирования.
Здесь проблема в том, что точка монтирования /mnt/D является по умолчанию каталогом и с него можно выполнить запись в случае, если туда не примонтировано никаких разделов.
Я считаю это идиотизмом, потому что это похоже на желенодорожное кольцо, где одна стрелка и одна ветка ведет по кругу, вторая в тупик. Так вот я считаю, что этот тупик не должен по умолчанию иметь никаких возможностей. Как розетка.
Как сделал я.
При загрузке система монтируется с правами root.
После первой же загрузки я делаю
#chmod -R 777 /mnt/dev
А поскольку далее всем диском распоряжается apache2 с его www-data, то у меня созданы для каждого виртуального хоста отдельные директории.
Принципиально, нет разницы, если владелец www-data и права на каталоги 775 или моё предпочтение 757. root в любом случае имеет наивысшие привилегии и может удалить всё.
Можно такой вариант провернуть: #chown -R www-data:www-data /mnt/D
и в fstab внести иформацию о монтировании диска от этого пользователя и группы.
К сожалению, я считаю, что система управления правами доступа в Linux слишком костыльная и без нормального человекопонятного интерфейса использовать её очень трудно.
В этом посте я описал опыт настройки жеского диска в Debian и взял информацию не потолка, так что привожу ссылки, главное, не теряйте документацию и скачивайте её обязательно в файлы.
инструкция по fstab
Комментарии
Отправить комментарий