Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
manual:пользователи_и_группы [2009/11/25 02:17] создано |
manual:пользователи_и_группы [2010/06/13 23:47] (текущий) |
||
---|---|---|---|
Строка 7: | Строка 7: | ||
Linux в целом и Ubuntu в частности - системы многопользовательские, т.е. на одном компьютере может быть несколько различных пользователей, каждый со своими собственными настройками, данными и правами доступа к различным системным функциям. | Linux в целом и Ubuntu в частности - системы многопользовательские, т.е. на одном компьютере может быть несколько различных пользователей, каждый со своими собственными настройками, данными и правами доступа к различным системным функциям. | ||
- | Кроме пользователей в Linux для разграничения прав существуют группы. Каждая группа так же как и отдельный пользователь обладает неким набором прав доступа к различным компонентам системы и каждый пользователь-член этой группы автоматически получает все права группы. То есть группы нужны для группировки пользователей по принципу одинаковых полномочий на какие-либо действия, вот такая тавтология. Каждый пользователь может состоять в неограниченном количестве групп и в каждой группе может быть сколько угодно пользователей. | + | Кроме пользователей в Linux для разграничения прав существуют группы. Каждая группа так же как и отдельный пользователь обладает неким набором прав доступа к различным компонентам системы и каждый пользователь-член этой группы автоматически получает все права группы. То есть группы нужны для группировки пользователей по принципу одинаковых полномочий на какие-либо действия, вот такая тавтология. Каждый пользователь может состоять в неограниченном количестве групп и в каждой группе может быть сколько угодно пользователей((Однако как минимум в одной группе каждый пользователь состоит всегда. Это так называемая основная группа, по умолчанию она носит такое же имя, как и у самого пользователя.)). |
- | Например, в Ubuntu есть одна очень полезная группа: ''admin''. Любой член этой группы получает неограниченные административные привилегии. Я уже [[администратор_и_суперпользователь|рассказывал]] про роль администратора в Ubuntu, так что если вы уже успели забыть кто это, можете освежить свои знания. Создаваемый при установке Ubuntu пользователь автоматически становится членом группы ''admin''. | + | Например, в Ubuntu есть одна очень полезная группа: ''admin''. Любой член этой группы получает неограниченные административные привилегии. Я уже [[администратор_и_суперпользователь|рассказывал]] про роль администратора в Ubuntu, так что если вы уже успели забыть кто это, можете освежить свои знания. Создаваемый при установке Ubuntu пользователь автоматически становится членом группы ''admin''((И именно поэтому и только по этой причине он собственно и является администратором.)). |
- | Кроме того надо упомянуть, что у каждого пользователя системы есть так называемая основная группа с таким же именем, как и у самого пользователя. | + | Управлять пользователями и группами можно с помощью специального инструмента, находящегося в меню //Система->Администрирование->Пользователи и группы//. |
- | Управлять пользователями и группами можно с помощью специального инструмента, находящегося в меню //Система->Администрирование->Пользователи// и группы. Для работы с этой программой у вас должны быть права администратора. | + | {{ .:пользователи_и_группы:users-edit.png }} |
- | //картинко// | + | Вообще основной областью применения механизма пользователей и групп является не совсем разграничение доступа к различным функциям системы, а скорей разграничение доступа к файлам на винчестере((Но поскольку все запускаемые приложения, включая программы редактирования настроек и системные сервисы, являются обычными файлами, то через разграничение доступа к файлам на винчестере можно легко управлять доступом к различным функциям.)). Вот об этом я и постараюсь рассказать дальше. |
- | + | ||
- | <note> | + | |
- | По непонятным причинам в Ubuntu 9.10 "Karmic Koala" удалить пользователя с помощью графической утилиты управления нельзя, если вам нужно выполнить такую операцию прочитайте про консольную команду ''deluser'', например, набрав в терминале | + | |
- | <code>man deluser</code> | + | |
- | </note> | + | |
- | + | ||
- | Вообще основной областью применения механизма пользователей и групп является не совсем разграничение доступа к различным функциям системы, а скорей разграничение доступа к файлам на винчестере. Вот об этом я и постараюсь рассказать дальше. | + | |
===== Права доступа в Linux ===== | ===== Права доступа в Linux ===== | ||
Строка 28: | Строка 21: | ||
Любой файл и каталог в Linux имеет пользователя-владельца и группу-владельца. То есть любой файл и каталог принадлежит какому-то пользователю системы и какой-то группе. Кроме того, у любого файла и каталога есть три группы прав доступа: одна для пользователя-владельца, одна для членов группы-владельца и одна для всех остальных пользователей системы. Каждая группа состоит из прав на чтение, запись и запуск файла на исполнение. Для каталогов право на исполнение и право на чтение всегда идут вместе и означают одно и то же. | Любой файл и каталог в Linux имеет пользователя-владельца и группу-владельца. То есть любой файл и каталог принадлежит какому-то пользователю системы и какой-то группе. Кроме того, у любого файла и каталога есть три группы прав доступа: одна для пользователя-владельца, одна для членов группы-владельца и одна для всех остальных пользователей системы. Каждая группа состоит из прав на чтение, запись и запуск файла на исполнение. Для каталогов право на исполнение и право на чтение всегда идут вместе и означают одно и то же. | ||
- | То есть изменяя владельцев того или иного файла и различные группы прав доступа к нему можно гибко управлять доступом к этому файлу. Например, сделав себя владельцем некоего файла и полностью запретив к нему доступ всем, кроме пользователя-владельца, можно скрыть содержимое и запретить изменение этого файла для всех других пользователей. Такая же штука проходит и с каталогами. Можно например запретить записывать файлы в каталог, или вообще просматривать его содержимое. Вообще механизм прав доступа к файлам очень гибок, но подробного описывать я его не буду, поскольку он достаточно сложен, если вам это интересно, прочитайте более подробные статьи. | + | То есть изменяя владельцев того или иного файла и различные группы прав доступа к нему можно гибко управлять доступом к этому файлу. Например, сделав себя владельцем некоего файла и полностью запретив к нему доступ всем, кроме пользователя-владельца, можно скрыть содержимое и запретить изменение этого файла для всех других пользователей. Такая же штука проходит и с каталогами. Можно, например, запретить записывать файлы в каталог, или вообще скрыть его содержимое от посторонних глаз. |
- | В данный момент нас интересует одно крайне важное следствие из подобной организации прав доступа в системе. Конкретному пользователю Ubuntu принадлежит только его домашний каталог и все его содержимое. В системе этот каталог находится по адресу ''/home/имя_пользователя''. Все остальные файлы системы, включая все приложения, системные настройки и т.д., располагающиеся вне ''/home'', принадлежат преимущественно ''root''. Помните, я говорил, что ''root'' это пользователь с неограниченными привилегиями, непосредственное использование которого в Ubuntu запрещено. Так вот, все системные файлы и каталоги принадлежат ''root'' недаром, им всем выставлены права на изменение только для пользователя-владельца, таким образом никто, кроме ''root'', не может вмешаться в работу системы и что-то поменять в системных файлах. | + | В данный момент нас интересует одно крайне важное следствие из подобной организации прав доступа в системе. Конкретному пользователю Ubuntu принадлежит только его домашний каталог и все его содержимое. В системе этот каталог находится по адресу ''/home/имя_пользователя''. Все остальные файлы системы, включая все приложения, системные настройки и т.д., располагающиеся вне ''/home'', принадлежат преимущественно ''root''. Помните, я говорил, что ''root'' - это пользователь с неограниченными привилегиями, непосредственное использование которого в Ubuntu запрещено. Так вот, все системные файлы и каталоги принадлежат ''root'' недаром, им всем выставлены права на изменение только для пользователя-владельца, таким образом никто, кроме ''root'', не может вмешаться в работу системы и что-то поменять в системных файлах. |
- | Это конечно очень хорошо для безопасности, но что же делать, если вам нужно изменить какие-нибудь системные файлы? Тут есть два пути: во-первых, большинство необходимых пользователю системных настроек можно изменить обладая правами администратора из графических конфигураторов, это самый предпочтительный способ. Ну а во-вторых можно временно повысить свои права до ''root'' и делать вообще всё, что угодно. | + | Это конечно очень хорошо для безопасности, но что же делать, если вам нужно изменить какие-нибудь системные файлы? Тут есть два пути((Есть ещё и третий: дать доступ вашему пользователю на редактирование системных файлов. Некоторым это может показаться очень хорошим решением, однако так делать категорически нельзя, вообще, не играйте с правами доступа к системным каталогам и файлам.)): во-первых, большинство необходимых пользователю системных настроек можно изменить обладая правами администратора из графических конфигураторов, это самый предпочтительный способ. Ну а во-вторых можно временно повысить свои права до ''root'' и делать вообще всё, что угодно. |
- | Делается это с помощью утилиты ''sudo'' и её производных. ''sudo'' - это консольная утилита. Она позволяет прикинуться рутом при выполнении конкретной команды, таким образом, получив неограниченные права. Например, команда | + | Делается это с помощью утилиты ''sudo'' и её производных. ''sudo'' - это консольная утилита. Она позволяет "прикинуться" рутом при выполнении конкретной команды, таким образом, получив неограниченные права. Например, команда |
sudo aptitude update | sudo aptitude update | ||
Строка 42: | Строка 35: | ||
aptitude update | aptitude update | ||
- | работает, только если её запускает ''root''. Однако запуская её с помощью ''sudo'' вы выдаёте себя за рута, рутом при этом не являясь. Естественно, для использования ''sudo'' вы должны обладать правами администратора. При этом при запуске команды через ''sudo'' система спросит у вас ваш пароль, однако в целях безопасности при его вводе вам не будет ничего показываться, ни звёздочек, ни чёрточек, ни птичек, ничего. Не пугайтесь, так и надо, просто вводите до конца и нажимайте <key>Enter</key>. Если вы являетесь администратором и правильно ввели пароль, то указанная после ''sudo'' команда исполнится от имени ''root''. | + | работает, только если её запускает ''root''. Однако запуская её с помощью ''sudo'' вы выдаёте себя за рута, рутом при этом не являясь. Естественно, для использования ''sudo'' вы должны обладать правами администратора((На самом деле права администратора в основном как раз и заключаются в возможности использовать ''sudo''.)). При этом при запуске команды через ''sudo'' система спросит у вас ваш пароль, однако в целях безопасности при его вводе вам не будет ничего показываться, ни звёздочек, ни чёрточек, ни птичек, ничего. Не пугайтесь, так и надо, просто вводите до конца и нажимайте <key>Enter</key>. Если вы являетесь администратором и правильно ввели пароль, то указанная после ''sudo'' команда исполнится от имени ''root''. |
Через терминал можно сделать всё, что угодно, так что имея возможность стать рутом вы можете выполнить все необходимые вам настройки. Однако иногда удобно использовать графические приложения, при этом обладая правами рута. Например, если вам надо скопировать файлы в системные каталоги. Для запуска графических приложений от имени ''root'' откройте диалог запуска GNOME сочетанием клавиш <key>A-F2</key> и введите | Через терминал можно сделать всё, что угодно, так что имея возможность стать рутом вы можете выполнить все необходимые вам настройки. Однако иногда удобно использовать графические приложения, при этом обладая правами рута. Например, если вам надо скопировать файлы в системные каталоги. Для запуска графических приложений от имени ''root'' откройте диалог запуска GNOME сочетанием клавиш <key>A-F2</key> и введите | ||
Строка 52: | Строка 45: | ||
gksudo nautilus | gksudo nautilus | ||
- | //картинко// | + | {{ .:пользователи_и_группы:gksudo-nautilus.png }} |
Через запущенный таким образом Nautilus вы сможете как угодно изменять любые файлы на компьютере. | Через запущенный таким образом Nautilus вы сможете как угодно изменять любые файлы на компьютере. | ||
Строка 60: | Строка 53: | ||
===== Редактирование конфигурационных файлов ===== | ===== Редактирование конфигурационных файлов ===== | ||
- | FIXME | + | Важнейшим примером применения вышеописанной технологии "прикидывания" рутом является редактирование конфигурационных файлов системы. Я уже говорил, что все настройки системы и всех приложений в Linux хранятся в виде текстовых файлов. Так вот, редактировать вы можете только файлы, принадлежащие вам, то есть только настройки, касающиеся вашего пользователя. А для редактирования системных параметров вам понадобятся права администратора. |
+ | |||
+ | Многие файлы вы сможете открыть, но не сможете что-либо в них изменить, вам просто не будет доступна операция сохранения: | ||
+ | |||
+ | {{ .:пользователи_и_группы:gedit-only-read.png }} | ||
+ | |||
+ | Конечно, можно открывать конфигурационные файлы с правами ''root'' через диалог запуска приложений командой | ||
+ | |||
+ | gksudo gedit /путь/до/файла | ||
+ | |||
+ | <note>Gedit - это стандартный текстовый редактор Ubuntu.</note> | ||
+ | |||
+ | Однако в диалоге запуска не работает автодополнение, следовательно путь до файла вам придётся набирать вручную, что не всегда удобно. Поэтому можно для запуска текстового редактора от имени суперпользователя использовать терминал, например: | ||
+ | |||
+ | {{ .:пользователи_и_группы:sudo-gedit.png }} | ||
+ | |||
+ | <note important>Учтите, что ''sudo'' - это чисто консольная утилита, поэтому использовать её в диалоге запуска приложений нельзя, хотя из терминала через неё можно запускать графические приложения. А ''gksudo'' наоборот, утилита графическая, поэтому её не стоит использовать в терминале, хотя это и не запрещено.</note> | ||
+ | |||
+ | В итоге откроется редактор с возможностью сохранения изменений: | ||
+ | |||
+ | {{ .:пользователи_и_группы:gedit-fstab.png }} | ||
+ | |||
+ | Тут стоит обратить внимание на то, что текстовый редактор запускается из терминала, поэтому если вы во время работы закроете окно терминала, то тут же закроется и запущенный из него Gedit, так что будьте внимательны. | ||
- | Итак, я немного рассказал про систему управления правами доступа в Ubuntu, надеюсь, вы поняли хотя бы основы. Я настоятельно рекомендую вам самостоятельно до конца разобраться в системе прав доступа к файлам и в утилите ''sudo''. Чуть подробней про ''sudo'' можно почитать, например, на нашей [[http://help.ubuntu.ru/wiki/суперпользователь_в_ubuntu|вики]]. А пока продолжим знакомство с основами работы в Ubuntu, осталась ещё одна тема: | + | Итак, я немного рассказал про систему управления правами доступа в Ubuntu, надеюсь, вы поняли хотя бы основы. Я настоятельно рекомендую вам самостоятельно до конца разобраться в системе прав доступа к файлам и в утилите ''sudo''. Чуть подробней про ''sudo'' можно почитать, например, на нашей [[http://help.ubuntu.ru/wiki/суперпользователь_в_ubuntu|вики]]. А пока продолжим знакомство с основами работы в Ubuntu, осталось рассмотреть ещё одну тему: |
* [[типы_файлов|Типы файлов]] | * [[типы_файлов|Типы файлов]] |