wheel linux что это

Запрет повышения прав пользователям через su

Во многих руководствах по linux (и не только по linux) в вопросах безопасности регулярно появляются рекомендации выполнять все неадминистративные действия под пользователем, не имеющим прав администратора / суперпользователя. Проще говоря, все рекомендуют не работать постоянно под пользователем root и прибегать к работе под root только в необходимых случаях.
На самом деле, во многих ситуациях возникает необходимость запускать процессы под пользователем, который не только не имеет прав root, но и не может повысить свои права до root. Никак, никаким образом. Такая необходимость возникает (создавать таких пользователей имеет смысл) для сервисов, выполняющихся на сервере. Например, Apache, Asterisk, и так далее. То есть чтобы тот, кто может получить права такого пользователя, не только не получил бы прав root, но даже (вдруг) узнав пароль root, не смог бы зайти под этим паролем (повысить свои привилегии).

С чего начать

В первую очередь, надо обезопасить себя. То есть обязательно внесите того пользователя, под которым Вы работаете, в группу wheel. Ну а если в системе работает несколько пользователей, под которыми необходимо время от времени повышать привилегии до root, то каждый из этих пользователей должен быть внесен в группу wheel!
Обратите внимание, это важно сделать до того, как Вы измените настройки linux, иначе (если к примеру, Вы подключаетесь к серверу по SSH, по SSH доступ под рутом закрыт) зайдя под обычным пользователем по SSH, Вы не сможете повышать свои привилегии до рута!

Создать группу wheel

Возможно, что в Вашей версии linux по умолчанию нет группы wheel. Тогда ее необходимо создать. Для этого существует следующая команда:
addgroup wheel
Не бойтесь вводить эту команду: если группа wheel существует, будет выдано сообщение, что такая группа уже есть. Если же такой группы нет, она будет создана

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

Эта команда добавляет пользователя username в группу wheel. Если при этом пользователь состоит в одной или нескольких других группах, членство во всех группах сохраняется, просто пользователь добавляется в еще одну (дополнительную) группу.

Теперь проверьте, что все выполнено правильно. Для этого существует команда:
id имя-пользователя
например:
id username

Будет отображен ID пользователя, имя пользователя, а также ID и имя каждой группы, к которой пользователь принадлежит. Убедитесь, что все необходимые пользователи добавлены в группу wheel.

Запуск su только пользователями из группы wheel

Откройте в Вашем текстовом редакторе файл: /etc/pam.d/su
В этом файле найдите строку, подобную следующей:
auth required pam_wheel.so
или
auth required pam_wheel.so use_uid
По умолчанию эта строка начинается со знака «#», это энак комментария. Уберите знак комментария из начала этой строки и сохраните файл.

Всё! Теперь только пользователи из группы wheel могут выполнять команду su и повышать свои привилегии до root. Не забудьте это проверить!

Источник

win-linux

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

Чтобы лучше понять, что же такое группа давайте разберем небольшой пример. Представьте себе организацию в которой есть компьютер и за ним работает 30 человек, 5 из которых администраторы, 10 модераторы, а все остальные обычные пользователи. Случилось так что администратору необходимо открыть доступ к своей папке или файлу только модераторам, как это сделать? можно конечно каждому из этих 10 человек дать такие права, но это очень долго и неудобно. Проще объединить всех модераторов в группу и уже этой группе назначить права доступа к файлу.

Если вы хотите посмотреть какие бывают linux группы пользователей, введите команду:
nano /etc/group

Cписок групп linux:

daemonЗапускает сервисы, которым необходима возможность записи файлов на диск.
sysОткрывает доступ к исходным кодам ядра.
syncСинхронизирует данные на диске с данными в памяти
gamesРазрешает играм записывать свои файлы настроек и историю в определенную папку
manПозволяет добавлять страницы в директорию /var/cache/man
mailПозволяет работать с почтой
proxyИспользуется прокси серверами, нет доступа записи файлов на диск
listПозволяет просматривать сообщения в /var/mail
nogroupИспользуется для процессов, которые не могут создавать файлов на жестком диске, а только читать, обычно применяется вместе с пользователем nobody.
admПозволяет читать логи из директории /var/log
diskОткрывает доступ к жестким дискам /dev/sd* /dev/hd*, можно сказать, что это аналог рут доступа.
cdromДоступ к CD-ROM
wheelПозволяет запускать утилиту sudo для повышения привилегий
audioУправление аудиодрайвером
videoПозволяет работать с видеодрайвером
plugdevПозволяет монтировать внешние устройства USB, CD и т.д

Управление группами Linux
1. Создание группы:
groupadd имя_группы

2. Удаление группу:
delgroup имя_группы

3. Смена группы:
chgrp adm test
где adm — имя новой группы, test — имя файла у которого меняем группу.

6. Просмотреть список групп в которых вы состоите:
groups

Источник

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

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

Группы Linux

Группы Linux — это организационные единицы, которые используются для организации и администрирования учетных записей пользователей в Linux. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть совместно использованы пользователями внутри группы.

В операционных системах Linux есть два типа групп:

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

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

Только root или пользователи с доступом sudo могут добавлять пользователя в группу.

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

В случае успеха команда usermod не выводит никаких результатов. Он предупреждает вас только в том случае, если пользователь или группа не существует.

Как добавить существующего пользователя в несколько групп одной командой

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

В следующем примере мы удаляем username из имени группы groupname :

Как создать группу

Как удалить группу

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

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

В следующем примере мы меняем основную группу пользователя linuxize на developers :

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

Следующая команда useradd создает нового пользователя с именем nathan с users первичной группы и вторичными группами wheel и разработчиками.

Показать группы пользователей

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

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

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

Если команде groups не передано имя пользователя, она распечатает группы пользователей, вошедших в систему.

Выводы

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

Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Python на колёсах

Инфраструктура системы пакетов для Python долго подвергалась критике как от разработчиков, так и от системных администраторов. Долгое время даже само комьюнити не могло прийти к соглашению, какие именно инструменты использовать в каждом конкретном случае. Уже существуют distutils, setuptools, distribute, distutils2 в качестве базовых механизмов распространения и virtualenv, buildout, easy_install и pip в качестве высокоуровневых инструментов управления всем этим беспорядком.

Несколько лет назад PJE попытался исправить эту проблему, предоставив смесь из setuptools и pkg_resources для улучшения distutils и добавления метаданных в Python-пакеты. В дополнение к этому он написал утилиту easy_install для их установки. По причине отсутствия формата распространения, поддерживающего метаданные, был предоставлен формат ‘яиц’ [egg].

Python eggs – обычные zip-архивы, содержащие python-пакет и необходимые метаданные. Хотя многие люди, вероятно, никогда намеренно не собирали egg’и, их формат метаданных до сих пор жив-здоров. И все разворачивают свои проекты с использованием setuptools.

Потом прошло еще немного времени, и отказ от бинарных пакетов стал доставлять неудобства. Люди всё больше и больше стали деплоить на облачные сервера, а необходимость перекомпиляции C-шных библиотек на каждой машине не слишком радует. Так как ‘яйца’ на тот момент были малопонятны (я так полагаю), их переделали в новых PEP-ах, и назвали ‘колёсами’ [wheels].

В дальнейшем предполагается, что все действия происходят в virtualenv-окружении.

Что за колесо?

Начнём с простого. Что представляют собой ‘колёса’ и чем они отличаются от ‘яиц’? Оба формата являются zip-файлами. Главная разница в том, что egg можно импортировать без распаковки, wheel же придётся распаковать. Хотя нет никаких технических причин, делающих ‘колёса’ неимпортируемыми, поддержка их прямого импорта никогда даже не планировалась.

Другое различие в том, что ‘яйца’ содержат скомпилированные байткод, а ‘колёса’ – нет. Главное преимущество этого в том, что нет необходимости создавать отдельные wheel’ы для каждой версии Python до тех пор, пока не придётся распространять слинкованные через libpython модули. Хотя в новых версиях Python 3 при использовании стабильного ABI даже это уже можно провернуть.

Однако wheel-формат тоже не лишен проблем, некоторые из которых он наследует от ‘яиц’. Например, бинарные дистрибутивы под Linux до сих пор неприемлемы для большинства из-за двух недостатков: Python сам по себе компилируется под Linux в разных формах, и модули линкуются с разными системными библиотеками. Первая проблема вызвана сосуществованием несовместимых версий Python 2: USC2 и USC4. В зависимости от режима компиляции меняется ABI. В настоящее время wheel (насколько я могу судить) не содержит информации о том, с каким режимом Unicode связана библиотека. Отдельная проблема в том, что дистрибутивы Linux меньше совместимы между собой, чем хотелось бы, и обстоятельства могут сложиться так, что сборка, скомпилированная под один дистрибутив, не будет работать на остальных.

Всё это выливается в то, что, вообще говоря, на данный момент бинарные ‘колёса’ нельзя загружать на PyPI как несовместимые с различными системами.

В дополнение ко всему этому wheel сейчас знает только две крайности: бинарные пакеты и пакеты, содержащие чистый python-код. Бинарные пакеты специфичны для Python ветки 2.x. Сейчас это не кажется большой проблемой, потому что цикл 2.x подходит к концу, и пакетов, собранных только для 2.7, хватит надолго. Но если бы вдруг речь пошла про Python 2.8, была бы интересна возможность заявить, что этот пакет не зависит от версии Python, но он содержит бинарники, поэтому он не может не зависеть от архитектуры.

Единственный случай, оправдывающий существование такого пакета – это когда он содержит распределенные библиотеки, загружаемые с ctypes из CFFI. Такие библиотеки не связаны через libpython и не зависимы от реализации языка (их можно использовать даже с pypy).

Но есть и светлая сторона: ничто не запрещает использовать бинарные wheel’ы в своих собственных однородных инфраструктурах.

Сборка колеса

Решение этой проблемы – вручную реализовать Distribution из setuptools, скинув флаг чистоты в false :

Установка колеса

С использованием свежей версии pip ‘колесо’ ставится следующим образом:

Но что с зависимостями? Тут появляются некоторые сложности. Обычно одним из требований к пакету является возможность его установки даже без подключения к интернету. К счастью, pip позволяет отключать загрузку из индекса и устанавливать директорию, содержащую всё необходимое для установки. Если у нас есть wheel’ы для всех зависимостей необходимых версий, можно сделать следующее:

Таким образом будет установлена версия 1.0 пакета package в наше виртуальное окружение.

Колёса для зависимостей

Эта команда выгрузит все пакеты, от которых зависит наш пакет, в указанную папку. Но есть пара проблем.
Первая состоит в том, что в команде в настоящий момент есть баг, который не выгружает зависимости, которые уже являются ‘колёсами’. Так что если зависимость уже доступна на PyPI в wheel-формате, она не будет загружена.

Это временно решается shell-скриптом, который вручную перемещает из кэша скачанные wheel’ы.

Сборка пакетов c использованием DevPI

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

К счастью, в прошлом году Holker Krekel создал решение этой беды под названием DevPI, который по существу является хаком, эмулирующим работу pip с PyPI. После установки на компьютер DevPI работает как прозрачный прокси перед PyPI и позволяет pip-у устанавливать пакеты из локального репозитория. К тому же все пакеты, скачанные с PyPI, автоматически кэшируются, так что даже если отключить сеть, эти пакеты будут доступны для установки. И, в конце концов, появляется возможность загрузки своих собственных пакетов на локальный сервер, чтобы ссылаться на них так же, как и на хранящиеся в публичном индексе.

После запуска его необходимо единожды проинициализировать:

Так как я использую DevPI ‘для себя’, имена пользователя DevPI и системного пользователя совпадают. На последнем шаге создаётся индекс по имени проекта (при необходимости можно создать несколько).

Для перенаправления pip на локальный репозиторий можно сделать экспорт переменной окружения:

Я размешаю эту команду в скрипт postactivate моего virtualenv для предотвращения случайной загрузки из неверного индекса.

Для размещения собственных wheel’ов в локальном DevPI используется утилита devpi :

Заворачиваем

Теперь всё готово для начала использования внутренних зависимостей и сборки собственных ‘колёс’. Как только они появятся, их можно заархивировать, загрузить на другой сервер и установить в отдельный virtualenv.
Весь процесс станет чуть проще, когда pip wheel перестанет игнорировать существующие wheel-пакеты. А пока приведенный выше shell-скрипт – не худшее решение.

В сравнении с ‘яйцами’

Сейчас wheel-формат более притягателен, чем egg. Его разработка активнее, PyPI начал добавлять его поддержку и, так как с ним начинают работать утилиты, он похож на лучшее решение. ‘Яйца’ пока что поддерживаются только easy_install, хотя большинство давно перешло на pip.

Итак, теперь он у вас есть. Python на колёсах. И это вроде даже работает, и, возможно, стоит потраченного времени.

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Как использовать команду sudo в Linux

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

Как использовать команду sudo

Установка sudo

Пакет sudo установлен в большинстве дистрибутивов Linux.

Чтобы установить sudo используйте для Ubuntu и Debian:

или для CentOS и Fedora

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

Синтаксис

Опции

sudo можно использовать с дополнительными параметрами:

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

Примечание. Оставаться в системе как администратор ставит под угрозу безопасность сервера. Раньше администраторы использовали su (substitute user) для временного переключения на учетную запись администратора. Однако для команды su требуется вторая учетная запись пользователя и пароль, что не всегда возможно.

Предоставление привилегий sudo

Рассмотрим как добавить пользователя в эту группу.

RedHat и CentOS

Debian и Ubuntu

Использование visudo и группы sudoers

Используйте команду visudo для редактирования файла конфигурации:

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

Сохраните и выйдите из файла.

Вот разбивка предоставленных привилегий sudo :

Тайм-аут пароля sudo

Если вы хотите изменить время ожидания для определенного пользователя, то добавьте имя пользователя.

Примеры sudo в Linux

Основное использование Sudo

1. Откройте окно терминала и попробуйте выполнить следующую команду:

2. Вы должны увидеть сообщение об ошибке. У вас нет необходимых разрешений для запуска команды.

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

3. Попробуйте ту же команду с sudo:

4. При появлении запроса введите свой пароль. Система выполнит команду и обновит репозитории.

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

Выполнить команду от имени другого пользователя

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

2. Система должна отображать ваше имя пользователя. Затем выполните следующую команду:

3. Введите пароль для другого пользователя, и команда whoami запустится и отобразит другого пользователя.

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

Переключиться на root пользователя

Эта команда переключает вашу командную строку на оболочку BASH от имени пользователя root :

Ваша командная строка должна измениться на:

Значение имени хоста будет сетевым именем этой системы. Имя пользователя будет текущим именем пользователя, вошедшим в систему.

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

Выполнить предыдущие команды с помощью sudo

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

Это также работает со старыми командами. Укажите исторический номер следующим образом:

В этом примере повторяется 6-я запись в истории с командой sudo.

Запуск нескольких команд в одной строке

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

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

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

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

Заключение

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

wheel linux что это. Смотреть фото wheel linux что это. Смотреть картинку wheel linux что это. Картинка про wheel linux что это. Фото wheel linux что это

Полезно?

Почему?

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

😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *