Пользователи, группы и права доступа Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
manual:пользователи_и_группы [2009/12/03 02:36]
manual:пользователи_и_группы [2010/06/13 23:47] (текущий)
Строка 11: Строка 11:
 Например,​ в Ubuntu есть одна очень полезная группа:​ ''​admin''​. Любой член этой группы получает неограниченные административные привилегии. Я уже [[администратор_и_суперпользователь|рассказывал]] про роль администратора в Ubuntu, так что если вы уже успели забыть кто это, можете освежить свои знания. Создаваемый при установке Ubuntu пользователь автоматически становится членом группы ''​admin''​((И именно поэтому и только по этой причине он собственно и является администратором.)). Например,​ в Ubuntu есть одна очень полезная группа:​ ''​admin''​. Любой член этой группы получает неограниченные административные привилегии. Я уже [[администратор_и_суперпользователь|рассказывал]] про роль администратора в Ubuntu, так что если вы уже успели забыть кто это, можете освежить свои знания. Создаваемый при установке Ubuntu пользователь автоматически становится членом группы ''​admin''​((И именно поэтому и только по этой причине он собственно и является администратором.)).
  
-Управлять пользователями и группами можно с помощью специального инструмента,​ находящегося в меню //​Система->​Администрирование->​Пользователи// и группы. Для работы с этой программой у вас должны быть права администратора.+Управлять пользователями и группами можно с помощью специального инструмента,​ находящегося в меню //​Система->​Администрирование->​Пользователи и группы//.
  
 {{ .:​пользователи_и_группы:​users-edit.png }} {{ .:​пользователи_и_группы:​users-edit.png }}
  
-<​note>​ +Вообще основной областью применения механизма пользователей и групп является не совсем разграничение доступа к различным функциям системы,​ а скорей разграничение доступа к файлам на винчестере((Но поскольку все запускаемые приложения,​ включая программы редактирования настроек и системные сервисы,​ являются обычными файлами,​ то через разграничение доступа к файлам на винчестере можно легко управлять доступом к различным функциям.)). Вот об этом я и постараюсь рассказать дальше.
-По непонятным причинам в Ubuntu 9.10 "​Karmic Koala" удалить пользователя с помощью графической утилиты управления нельзя,​ если вам нужно выполнить такую операцию прочитайте про консольную команду ''​deluser'',​ например,​ набрав в терминале +
-<​code>​man deluser</​code>​ +
-</​note>​ +
- +
-Вообще основной областью применения механизма пользователей и групп является не совсем разграничение доступа к различным функциям системы,​ а скорей разграничение доступа к файлам на винчестере. Вот об этом я и постараюсь рассказать дальше.+
  
 ===== Права доступа в Linux ===== ===== Права доступа в Linux =====
Строка 26: Строка 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
Строка 40: Строка 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>​ и введите
Строка 60: Строка 55:
 Важнейшим примером применения вышеописанной технологии "​прикидывания"​ рутом является редактирование конфигурационных файлов системы. Я уже говорил,​ что все настройки системы и всех приложений в Linux хранятся в виде текстовых файлов. Так вот, редактировать вы можете только файлы, принадлежащие вам, то есть только настройки,​ касающиеся вашего пользователя. А для редактирования системных параметров вам понадобятся права администратора. Важнейшим примером применения вышеописанной технологии "​прикидывания"​ рутом является редактирование конфигурационных файлов системы. Я уже говорил,​ что все настройки системы и всех приложений в Linux хранятся в виде текстовых файлов. Так вот, редактировать вы можете только файлы, принадлежащие вам, то есть только настройки,​ касающиеся вашего пользователя. А для редактирования системных параметров вам понадобятся права администратора.
  
-Многие файлы вы сможете открыть,​ но не сможете ​сохранить результат своих изменений, вам просто не будет доступна операция сохранения:​+Многие файлы вы сможете открыть,​ но не сможете ​чтоибо в них изменить, вам просто не будет доступна операция сохранения:​
  
 {{ .:​пользователи_и_группы:​gedit-only-read.png }} {{ .:​пользователи_и_группы:​gedit-only-read.png }}
Строка 74: Строка 69:
 {{ .:​пользователи_и_группы:​sudo-gedit.png }} {{ .:​пользователи_и_группы:​sudo-gedit.png }}
  
-<note important>​Учтите,​ что ''​sudo''​ - это чисто консольная утилита,​ поэтому использовать её в диалоге запуска приложений нельзя. А ''​gksudo''​ наоборот,​ утилита графическая,​ поэтому её не стоит использовать в терминале,​ хотя это и не запрещено.</​note>​+<note important>​Учтите,​ что ''​sudo''​ - это чисто консольная утилита,​ поэтому использовать её в диалоге запуска приложений нельзя, хотя из терминала через неё можно запускать графические приложения. А ''​gksudo''​ наоборот,​ утилита графическая,​ поэтому её не стоит использовать в терминале,​ хотя это и не запрещено.</​note>​
  
 В итоге откроется редактор с возможностью сохранения изменений:​ В итоге откроется редактор с возможностью сохранения изменений:​
Строка 80: Строка 75:
 {{ .:​пользователи_и_группы:​gedit-fstab.png }} {{ .:​пользователи_и_группы:​gedit-fstab.png }}
  
-Только ​обратите внимание,​ что текстовый редактор запускается из терминала,​ поэтому если вы во время работы закроете окно терминала,​ то тут же закроется и запущенный из него Gedit, так что будьте внимательны.+Тут стоит обратить внимание ​на то, что текстовый редактор запускается из терминала,​ поэтому если вы во время работы закроете окно терминала,​ то тут же закроется и запущенный из него Gedit, так что будьте внимательны.
  
-Итак, я немного рассказал про систему управления правами доступа в Ubuntu, надеюсь,​ вы поняли хотя бы основы. Я настоятельно рекомендую вам самостоятельно до конца разобраться в системе прав доступа к файлам и в утилите ''​sudo''​. Чуть подробней про ''​sudo''​ можно почитать,​ например,​ на нашей [[http://​help.ubuntu.ru/​wiki/​суперпользователь_в_ubuntu|вики]]. А пока продолжим знакомство с основами работы в Ubuntu, осталась ещё одна тема:+Итак, я немного рассказал про систему управления правами доступа в Ubuntu, надеюсь,​ вы поняли хотя бы основы. Я настоятельно рекомендую вам самостоятельно до конца разобраться в системе прав доступа к файлам и в утилите ''​sudo''​. Чуть подробней про ''​sudo''​ можно почитать,​ например,​ на нашей [[http://​help.ubuntu.ru/​wiki/​суперпользователь_в_ubuntu|вики]]. А пока продолжим знакомство с основами работы в Ubuntu, осталось рассмотреть ещё одну тему:
  
   * [[типы_файлов|Типы файлов]]   * [[типы_файлов|Типы файлов]]