Изменить права на root linux

Изменить права на root linux Техника

Adding to Root Group using Useradd Command

These are the groups I have in my Linux box.

groups
root bin daemon sys adm disk wheel

Note: This is not the recommended method for granting root access

Setting as Sudo User

The sudo configuration file is /etc/sudoers and you can edit this file using visudo command: # visudo.

Using visudo protects from conflicts and guarantees that the right syntax is used.

Add the entry given below in the file:

bob, tom ALL=(ALL) ALL

This entry allows bob and all the other members of the group operator to gain access to all the program files in the /sbin and /usr/sbin directories, as well as the privilege of running the command /usr/oracle/backup.pl.

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

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

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

Изменить права на root linux

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

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

Linux User

File permissions fall in three categories: read, write, and execute.

Read permission

Similarly for directories, read permissions allow the listing of directory content without any modification in the directory.

Write permission

Symbolic representation of permissions

Note that we can find permissions of files and folders using long listing (ls -l) on a Linux terminal.

Output of long listing

In the output above, d represents a directory and- represents a regular file.

How to Change Permissions in Linux Using the chmod Command

Now that we know the basics of ownerships and permissions, let’s see how we can modify permissions using the chmod command.

Syntax of chmod:

chmod permissions filename

We can change permissions using two modes:

Now, let’s see them in detail.

How to Change Permissions using Symbolic Mode

We can use mathematical operators to add, remove, and assign permissions. The table below shows the summary:

Example

Suppose, I have a script and I want to make it executable for owner of the file zaira.

Let’s split the permissions like this:

To add execution rights (x) to owner (u) using symbolic mode, we can use the command below:

chmod u+x mymotd.sh

Now, we can see that the execution permissions have been added for owner zaira.

Additional examples for changing permissions via symbolic method:

How to Change Permissions using Absolute Mode

Absolute mode uses numbers to represent permissions and mathematical operators to modify them.

The below table shows how we can assign relevant permissions:

Permissions can be revoked using subtraction. The below table shows how you can remove relevant permissions.

chmod 451 file-name

This is how we performed the calculation:

Note that this is the same as r—r-x—x.

Дополнительно:  Как включить подсветку клавиатуры на ноутбуке asus? |

To remove execution from other and group, subtract 1 from the execute part of last 2 octets.

This would be the same as rwxr-xr—.

How to Change Ownership using the chown Command

Next, we will learn how to change the ownership of a file. You can change the ownership of a file or folder using the chown command. In some cases, changing ownership requires sudo permissions.

Syntax of chown:

How to change user ownership with chown

chown news mymotd.sh

Command to change ownership: sudo chown news mymotd.sh

How to change user and group ownership simultaneously

In case we only need to change the group owner, we can use chown by preceding the group name by a colon :

Linux Permissions Guided Exercise

Up until now we have explored permissions, ownerships, and the methods to change them. Now we will reinforce our learning with a guided exercise.

Visualization of the problem

We can visualize the problem like this:

Use the sudo command with flag i.

If you have the root password, you can login using that as well.

If you do not have root access, use the commands with appending sudo.

Step 2: Create a group dev-team

Use the groupadd command.

Syntax: groupadd group-name

Enter groupadd dev-team to create the dev-team group

Where -G specifies the group.

Use command passwd

Step 5: Create a directory in /home and name it dev-team

Use command mkdir

mkdir creates a directory.

Syntax: mkdir directory-name

Step 6: Change the group ownership of the folder dev-team to group dev-team

Use command chown

Syntax: chown :group-name folder

chown :dev-team /home/dev-team/

Step 7: Make sure the permissions of folder dev-team allow group members to create and delete files.

Use command chmod

Syntax: chmod permissions folder

chmod g+w /home/dev-team/

Step 8: Ensure that ‘others’ don’t have any access to the files of dev-team folder.

Remove read, write, execute permissions from ‘others’ if they exist.

chmod o-rx dev-team

Step 9: Exit the root session and switch to John

su — John

Verify with command whoami.

Step 10: Navigate to folder: /home/dev-team

Use command cd to switch folders.

Syntax: cd /path/to/folder

Confirm current path with pwd.

Step 11: Create an empty file in the folder: /home/dev-team

Use command touch to create an empty file.

Syntax: touch filename

Verify: ls -lrt

Step 12: Change the group ownership of the created file to dev-team and verify.

Use command chown to change ownership.

Syntax: chown :group file-name

chown :dev-team john-file.txt

Once group ownership is modified, all members of the group can access this file.

Verify ls -lrt

Use command exit to exit the terminal.

su — Bob

Step 14: Navigate to the path /home/dev-team

Step 15: Find out Bob’s privileges to access john-file.txt

Use command ls -l for long listing.

Does group have rw- permissions?

Step 16: Modify the file john-file.txt while logged in as Bob

This would redirect the quoted text to end of the file.

If all the permissions are correctly set, Bob would be allowed to edit and save this file. Otherwise you would get an error like this: Permission denied.

Verify cat john-file.txt

Step 17: Create another group project-manager and assign a member Fatima to it

Use command groupadd to add a new group.

Step 18: Navigate to folder /home/dev-team and verify if Fatima can access it

Use cd to navigate to /home/dev-team.

We get this error:

This is because, others don’t have any access to the folder dev-team.

If we recall, below are the rights of the dev-team folder.

Wrapping up

Thanks to Tom Mondloch for his help with the guided exercise.

Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

17 марта, 2016 12:01 пп

Centos, Linux, Ubuntu

Дополнительно:  Что делать, если ноутбук не работает без батареи от сети - ПК Консультант

Разделение прав доступа – одна из наиболее важных парадигм безопасности, реализуемых в Linux и Unix-подобных операционных системах. Обычные пользователи работают с ограниченными правами; так сокращаются масштабы их влияния на их собственную среду и на операционную систему в целом.

Пользователь root имеет привилегии суперпользователя. Эта учетная запись администратора не имеет ограничений, которые присутствуют на учётных записях обычных пользователей. Другие пользователи могут выполнять команды с правами root в ряде отдельных случаев.

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

Примечание: Данное руководство было выполнено на сервере Ubuntu 12.04, однако большинство современных дистрибутивов Linux будут вести себя аналогичным образом.

Для выполнения руководства нужно предварительно выполнить начальную настройку сервера:

Войдите на сервер как не-root пользователь.

Как получить права root

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

Вход как root

По запросу введите root-пароль.

Команда su

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

Потому в системе существует команда su, позволяющая обычному пользователю получать root-права в любой момент.

Итак, чтобы получить root-права, просто введите:

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

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

Команда sudo

Последний способ получения привилегий root – команда sudo.

Команда sudo позволяет выполнять отдельные команды с правами root без необходимости открывать новую сессию.

Примечание: В отличие от su, команда sudo запрашивает не пароль root, а пароль пользователя, который вызывает команду.

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

Что такое Visudo?

Команда sudo настраивается при помощи файла /etc/sudoers.

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

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

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

Как правило, visudo открывает файл /etc/sudoers в редакторе vi. В системе Ubuntu visudo использует nano.

Чтобы настроить команду visudo для использования vi в системе Ubuntu, выполните команду:

sudo update-alternatives —config editor

There are 3 choices for the alternative editor (providing /usr/bin/editor).
Selection    Path                Priority   Status
————————————————————
* 0            /bin/nano          40        auto mode
1            /bin/nano           40        manual mode
2            /usr/bin/vim.basic   30        manual mode
3            /usr/bin/vim.tiny    10        manual mode

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

В системе CentOS это значение можно изменить, добавив в ~/.bashrc строку:

Чтобы обновить настройки, введите:

Чтобы открыть /etc/sudoers, введите:

Редактирование файла sudoers

Итак, в выбранном вами текстовом редакторе на экране откроется файл sudoers.

Ниже приведены параметры файла системы Ubuntu 12.04 (закомментированные строки опущены, а изменения, внесённые при начальной настройке сервера, сохранены).

Примечание: Файл sudoers системы CentOS гораздо более объёмен; некоторые его параметры в этом руководстве не описаны.

Стандартные параметры

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

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

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

Это значит, что пользователи root и demo могут запускать все команды при помощи sudo, указав свой пароль.

Параметры привилегий групп

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

Имена групп начинаются с символа %.

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

Ознакомившись с базовым синтаксисом файла, попробуйте создать пару правил самостоятельно.

Создание алиасов

Файл sudoers можно более удобно структурировать при помощи различных алиасов (англ. – alias).

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

Дополнительно:  Как понять что слетел биос

Имена групп должны начинаться с большой буквы. После этого можно дать пользователям GROUPTWO право на изменение БД apt-get:

GROUPTWO    ALL = /usr/bin/apt-get update

Если в правиле не указан пользователь и группа, по умолчанию sudo использует root.

Затем можно разрешить пользователям группы GROUPTHREE выключать и перезапускать машину; для этого нужно создать алиас команды:

Cmnd_Alias      POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart
GROUPTHREE  ALL = POWER

Алиас команды POWER содержит команды для отключения и перезапуска машины.

Также можно создать алиас Run as, который заменяет часть правила, указывающую пользователя, в сессии которого нужно выполнить команду.

Runas_Alias     WEB = www-data, apache
GROUPONE    ALL = (WEB) ALL

Теперь любой пользователь группы GROUPONE может выполнять команды в сессиях пользователей www-data или apache.

Примечание: Помните, что созданные ранее правила имеют более высокий приоритет в случае конфликта правил.

Блокировка правил

Существует ряд способов контроля поведения и реакции sudo на вызов.

К примеру, команда updatedb в сочетании с пакетом mlocate относительно безвредна. Чтобы обычный пользователь мог выполнять её с привилегиями суперпользователя, не вводя пароль, можно создать такое правило:

GROUPONE    ALL = NOPASSWD: /usr/bin/updatedb

Команда NOPASSWD значит, что система не будет запрашивать пароль. Также существует команда PASSWD, которая отвечает за противоположное поведение и используется по умолчанию.

NOPASSWD распространяется на всё правило, если команда PASSWD не отменяет его. Например, строка может выглядеть так:

GROUPTWO    ALL = NOPASSWD: /usr/bin/updatedb, PASSWD: /bin/kill

Ещё одна удобная команда – NOEXEC, которая используется для предотвращения опасного поведения определенных программ. К примеру, некоторые команды, такие как less, могут вызывать другие команды:

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

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

Дополнительные сведения

В данном разделе собраны различные полезные советы по работе с sudo.

Если вы указали пользователя или группу в параметре Run as, вы можете выполнять команды в сессии этого пользователя при помощи флагов -u и –g соответственно:

По умолчанию sudo сохраняет учётные данные в одном терминале на некоторое время. Это означает, что в течение этого периода вам не придется вводить пароль снова.

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

Чтобы узнать права пользователя, введите:

Эта команда выведет все права, указанные в файле /etc/sudoers для данного пользователя.

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

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

Заключение

Теперь у вас есть базовые навыки работы с файлом sudoers и правами root.

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

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

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

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

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

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

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

Как Добавить пользователя в Sudoers или Sudo Group на Arch Linux

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

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

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

# groups root bin daemon sys adm disk wheel

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

Редактирование файла /etc/passwd

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

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

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

Conclusion

Login in as root and running commands is dangerous because all commands are with the highest privileges. Accident mistakes can even delete root directories and unsafe to run programs with a root shell.

Оцените статью
Master Hi-technology
Добавить комментарий