Как выдать права пользователю линукс

Как дать Root права пользователю в Linux

Суперпользователь «root” — это король пользователей Linux / Unix. Наличие корневого доступа предоставляет полный и неограниченный доступ к дистрибутиву Linux.

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

Как дать Root права пользователю в Linux

Согласно разрешениям файловой системы Linux, root или суперпользователь имеет полные права на чтение (r), запись (w) и выполнение (x) любого файла. По умолчанию идентификатор пользователя root равен «0».

Я собираюсь создать двух пользователей, а именно user1 и user2. Затем я предоставлю root-правак пользователю «user1«.

Способ 1: Добавление в корневую группу с помощью usermod

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

# adduser user1
# adduser user2
# groupadd test

Это группы, которые есть в моей дистрибутиве Linux.

# groups
root bin daemon sys adm disk wheel

Я собираюсь добавить user1 в корневую группу следующим образом:

Приведенная ниже команда даст пользователю привилегию root

Способ 2: Добавление в корневую группу с помощью команды Useradd

Я добавил нового пользователя «user3» в корневую группу с помощью команды:

# useradd -m -G root user3
# groups user3
user3 : user3 root

useradd -c “Imitation Root” -d /home/root_user -m -k /etc/skel -s /bin/bash -u 0 -o -g root root_user

Способ 3: Редактирование файла /etc/passwd

Отредактируйте /etc/passwd для конкретного пользователя. Измените UID и GID пользователя на «0«. Это даст root права пользователю в linux.

Теперь пользователь temproot должен иметь привилегии root:

ВНИМАНИЕ: это не рекомендуемый метод предоставления корневого доступа (root-прав)

Способ 4: Дать права пользователя Sudo

Конфигурационный файл sudo — это файл /etc/sudoers, и вы можете отредактировать его с помощью команды visudo:

Использование visudo защищает от конфликтов и гарантирует использование правильного синтаксиса.

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

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

Следовать этому методу не очень хорошая идея, потому что это позволяет и User1, и User2 использовать команду su для предоставления постоянных привилегий root. Таким образом пропуская функции ведения журнала команд sudo.

Предоставление доступа к определенным файлам одному конкретному пользователю

Эта запись позволяет User 1 и всем другим членам группы получить доступ ко всем программным файлам в каталогах /sbin и /usr/sbin, а также привилегию выполнения команды /usr/oracle/backup.pl…

User1, %operator ALL= /sbin/, / usr/sbin, /usr/oracle/backup.pl

Если у вас есть какие-либо вопросы или предложения по этой теме, оставьте комментарий.

Источник

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

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

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

Основные права доступа к файлам в Linux

Изначально каждый файл имел три параметра доступа. Вот они:

  • Чтение — разрешает получать содержимое файла, но на запись нет. Для каталога позволяет получить список файлов и каталогов, расположенных в нем;
  • Запись — разрешает записывать новые данные в файл или изменять существующие, а также позволяет создавать и изменять файлы и каталоги;
  • Выполнение — вы не можете выполнить программу, если у нее нет флага выполнения. Этот атрибут устанавливается для всех программ и скриптов, именно с помощью него система может понять, что этот файл нужно запускать как программу.
Читайте также:  Поменять загрузочный диск mac os

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

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

Именно с помощью этих наборов полномочий устанавливаются права файлов в linux. Каждый пользователь может получить полный доступ только к файлам, владельцем которых он является или к тем, доступ к которым ему разрешен. Только пользователь Root может работать со всеми файлами независимо от их набора их полномочий.

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

Специальные права доступа к файлам в Linux

Для того, чтобы позволить обычным пользователям выполнять программы от имени суперпользователя без знания его пароля была придумана такая вещь, как SUID и SGID биты. Рассмотрим эти полномочия подробнее.

  • SUID — если этот бит установлен, то при выполнении программы, id пользователя, от которого она запущена заменяется на id владельца файла. Фактически, это позволяет обычным пользователям запускать программы от имени суперпользователя;
  • SGID — этот флаг работает аналогичным образом, только разница в том, что пользователь считается членом группы, с которой связан файл, а не групп, к которым он действительно принадлежит. Если SGID флаг установлен на каталог, все файлы, созданные в нем, будут связаны с группой каталога, а не пользователя. Такое поведение используется для организации общих папок;
  • Sticky-bit — этот бит тоже используется для создания общих папок. Если он установлен, то пользователи могут только создавать, читать и выполнять файлы, но не могут удалять файлы, принадлежащие другим пользователям.

Теперь давайте рассмотрим как посмотреть и изменить права на файлы в Linux.

Как посмотреть права доступа к файлам в Linux

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

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

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

Рассмотрим подробнее, что значат условные значения флагов прав:

  • — нет прав, совсем;
  • —x — разрешено только выполнение файла, как программы но не изменение и не чтение;
  • -w- — разрешена только запись и изменение файла;
  • -wx — разрешено изменение и выполнение, но в случае с каталогом, вы не можете посмотреть его содержимое;
  • r— — права только на чтение;
  • r-x — только чтение и выполнение, без права на запись;
  • rw- — права на чтение и запись, но без выполнения;
  • rwx — все права;
  • —s — установлен SUID или SGID бит, первый отображается в поле для владельца, второй для группы;
  • —t — установлен sticky-bit, а значит пользователи не могут удалить этот файл.
Читайте также:  Оригинальные образы mac os для bdu

В нашем примере, файл test1 имеет типичные разрешения для программ, владелец может все, группа только чтение и выполнение, а все остальные — только выполнение. Для test2 дополнительно установлен флаг SUID и SGID. А для папки test3 установлен Sticky-bit. Файл test4 доступный всем. Теперь вы знаете как посмотреть права на файл linux.

Как изменить права файла в Linux

Чтобы изменить права на файл в linux вы можете использовать утилиту chmod. Она позволяет менять все флаги, включая специальные. Рассмотрим ее синтаксис:

$ chmod опции категория действие флаг файл

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

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

  • u — владелец файла;
  • g — группа файла;
  • o — другие пользователи.

Действие может быть одно из двух, либо добавить — знак «+», либо убрать — знак — «-«. Что касается самих прав доступа, то они аналогичны выводу утилиты ls: r — чтение, w — запись, x — выполнение, s — suid/sgid, в зависимости от категории, для которой вы его устанавливаете, t — устанавливает sticky-bit. Например, всем пользователям полный доступ к файлу test5:

chmod ugo+rwx test5

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

chmod go-rwx test5

Дадим группе право на чтение и выполнение:

chmod g+rx test5

Остальным пользователям только чтение:

Для файла test6 установим SUID:

А для test7 — SGID:

Посмотрим что получилось:

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

Выводы

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

На завершение хочу предложить неплохое видео про права доступа в Linux:

Источник

Права доступа в Linux. Команды CHMOD и ls -ld

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

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

Введение

Разрешения Linux диктуют 3 вещи, которые вы можете делать с файлом: чтение, запись и выполнение. Они упоминаются в Linux одной буквой каждая.

  • r read — вы можете просмотреть содержимое файла.
  • w write — вы можете изменить содержимое файла.
  • x execute — вы можете выполнить или запустить файл, если это программа или скрипт.

Для каждого файла мы определяем 3 группы людей, для которых мы можем указать разрешения.

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

Три убеждения и три группы людей.

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

Просмотр разрешений

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

ls -l [путь]

В приведенном выше примере первые 10 символов вывода — это то, на что мы смотрим, чтобы определить разрешения.

  • Первый символ определяет тип файла. Если это тире (-), то это обычный файл.
  • Следующие 3 символа представляют разрешения для владельца. Буква обозначает наличие разрешения, а тире (-) обозначает отсутствие разрешения. В этом примере владелец имеет все разрешения (чтение, запись и выполнение).
  • Следующие 3 символа представляют разрешения для группы. В этом примере группа имеет возможность читать, но не писать или выполнять. Обратите внимание, что порядок разрешений всегда читается, затем записывается и выполняется.
  • Наконец, последние 3 символа представляют разрешения для других (или всех остальных). В этом примере у них есть разрешение на выполнение и больше ничего.
Читайте также:  Как узнать скорость чтения жесткого диска windows

Изменить разрешения

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

chmod [права доступа] [путь]

У chmod есть аргументы разрешения, которые состоят из 3 компонентов

  • Для кого мы меняем разрешение? [ugoa] — пользователь (или владелец), группа, другие, все
  • Предоставляем ли мы или отменяем разрешение — обозначается плюсом (+) или минусом (-)
  • Какое разрешение мы устанавливаем? — прочитать (r), написать (w) или выполнить (x)

Следующие примеры сделают их использование более понятным.

Предоставьте разрешение на выполнение группе. Затем удалите разрешение на запись для владельца.

Не хотите назначать разрешения индивидуально? Мы можем назначить несколько разрешений одновременно.

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

Разрешения для каталогов

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

  • r — у вас есть возможность прочитать содержимое каталога (т.е. сделать ls)
  • w — у вас есть возможность записи в каталог (т.е. создавать файлы и каталоги)
  • х — у вас есть возможность войти в этот каталог (например, CD)

Давайте посмотрим некоторые из них в действии

Обратите внимание, когда мы запускали ls, включена опция -d, которая обозначает каталог. Обычно, если мы даем ls аргумент, который является каталогом, он будет перечислять содержимое каталога. Однако в этом случае нас интересуют права доступа к каталогу, а опция -d позволяет нам получить это.

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

Пользователь root

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

Пользователь root — это суперпользователь, которому разрешено делать все и вся в системе. Обычно администраторы системы являются единственными, кто имеет доступ к корневой учетной записи и использует ее для обслуживания системы.

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

Основная безопасность

Ваш домашний каталог — это ваше личное пространство в системе.

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

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

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

Вывод

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

  • CHMOD — измените права доступа к файлу или каталогу.
  • ls -ld — просмотр разрешений для определенного каталога.

Источник

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