Відмінності між версіями «Робота з правами іншого користувача (su та sudo)»

Матеріал з Wiki TNEU
Перейти до: навігація, пошук
Рядок 1: Рядок 1:
== Команда su==
+
== Команда su ==
+
su(Substitute User) - команда що дозволяє користувачеві увійти в систему під іншим ім'ям, не завершуючи поточний сеанс. За звичай використовується для тимчасового входу суперкористувачем для виконання адміністративних робіт.
+
  
Команда su дозволяє користувачеві виконувати команди від імені іншого користувача, не завершуючи поточний сеанс, або отримати роль. За змовчуванням передбачається робота від імені користувача root.
+
Команда су (змінити користувача - замінити користувачу) дозволяє змінити "власника" поточного сеансу без необхідності завершувати сеанс і відкривати новий. Команда su дає можливість зайти в систему під іншим користувачем. За замовчуванням, якщо команда задана без аргументів, то це суперкористувач - root. Вона вимагає ввести пароль цього користувача. Символ $ в запрошенні командного рядка зміниться на #, що говорить про отримані привілеї root.
Для використання su необхідно ввести відповідний пароль (якщо тільки команду не викликає користувач root). Якщо уведено правильний пароль, su створює новий процес командного інтерпретатора, із такими ж реальними й ефективними ідентифікаторами користувача й групи, а також списком додаткових груп, що й у зазначеного користувача. У якості нового командного інтерпретатора використовується зазначений у полі початкової програми запису файлу passwd для відповідного користувача. Якщо командний інтерпретатор там не зазначений, використовуєься /usr/bin/sh. Щоб повернутися в колишній сеанс, уведіть символ кінця файлу, EOF (Ctrl-D) для завершення роботи нового командного інтерпретатора.
+
Але отримавши права root, ви не отримуєте доступу до команд, виконувані файли яких знаходяться в директоріях суперкористувача, якщо тільки не прописувати повний шлях вручну. Наприклад можна стати користувачем vasya, для цього виконуємо команду su vasya і вводимо його пароль.
  
== Команда sudo==
+
Якщо потрібно виконати одиничну комманду від імені будь-якого користувача, необов'язково ставати ім. Просто після його імені використовується ключ-c, а за ним следут команди.
  
sudo (superuser [substitute user] do, дослівно «виконати від імені суперкористувача») - це програма, розроблена в допомогу системному адміністраторові яка дозволяє делегувати ті або інші привілейовані ресурси користувачам з веденням протоколу роботи. Основна ідея - дати користувачам якнайменше прав, але при цьому досить для вирішення поставлених завдань.
+
#Su vasya-c gedit file.txt
  
Команда sudo надає можливість користувачам виконувати команди від імені root, або інших користувачів. Правила, які використовуються sudo для ухвалення рішення про надання доступу, перебувають у файлі /usr/local/etc/sudoers; мова їхнього написання й приклади використання досить докладно викладені в sudoers.
+
== Команда sudo ==
У більшості випадків грамотне настроювання sudo робить роботу від імені суперкористувача непотрібною. Всі дії виявляються здійсненні з-під акаунта звичайного користувача, хоча стиль роботи для звиклих працювати «на повну силу» виявляється трохи незручним.
+
  
 +
Команда sudo дає користувачеві доступ до прав і ресурсів інших користувачів, які чітко дозволені адміністратором системи.
 +
Наприклад адміністратор можна дати права на перегляд системних папок, і всі права користувача vasya, при цьому не даючи свого пароля та паролю Васі.
 +
Тобто при виконання дій з командою su ми повинні вводити пароль користувача під яким ми намагаємося зайти. А в sudo ми вводимо вої пароль, і нам абсолютно не потрібно знати паролі інших користувачів.
 +
Правила, що вказують що кому дозволено, знаходяться в файлі / etc / sudoers.
 +
Щоб виконати команду від імені іншого користувача, якщо вона дозволена в / etc / sudoers, необхідно використовувати ключ-u.
  
 +
#Sudo-u vasya gedit file.txt
  
Виконання команди su доступно не для всіх користувачів, а тільки для тих, які входять у групу wheel.
+
Або
  
Після команди su робота в консолі надалі ведеться від імені root.
+
  #Sudo-u vasya su
  
При використанні sudo можливе призначення звичайним користувачам запуск програм, що вимагають привілеї суперкористувача.
+
Що б перетворитися на root можна виконати sudo su.
sudo не робить зміну користувача, а тільки дозволяє запускати дозволену програму від супер користувача.
+
 
 +
Що б кожен раз не вводити sudo можна скористатися ключем-i.
 +
 
 +
#Sudo-i
 +
 
 +
== Відмінності su та sudo ==
 +
 
 +
Відмінностей  sudo від su два:
 +
 
 +
*Sudo вимагає вказівки пароля того користувача, який отримує права іншого, а не пароля того, чиї права набувають:
 +
*Sudo дія поширюється за замовчуванням тільки на одну команду - таку, яка вказується як її аргументу.
 +
 
 +
Тим самим досягається дві мети:
 +
 
 +
*можливість виконання користувачем адміністративних дій без повідомлення йому суперпользовательского пароля;
 +
*зниження ризику пошкодити систему внаслідок забудькуватості.
 +
 
 +
Є ще й третя додаткова можливість, що надається Sudo - протоколювання дій.
  
При використанні sudo користувачі не знають пароля адміністратора системи.
 
  
 
== Ресурси Інтернет ==
 
== Ресурси Інтернет ==
  
[http://freebsd.hobi.in.ua/su-ta-sudo/ Лінукс команди su та sudo]
+
[http://webonrails.ru/forum/server/topic/573/ Разница между sudo и su командами]
 +
 
 +
[http://ucheba.do.am/publ/uroki_linuks/komandy_sudo_i_su/25-1-0-18 Команды su та sudo]
  
[ftp://ftp.tk.te.ua/pub/BAKALAVRAM_502_503_504z/computerni_systemu/komp_system_lab2.pdf  Адміністрування користувачів в ОС Linux.]
 
  
[http://icc.mdpu.org.ua/learn/os/2006/c8.pdf Основні поняття ОС Linux ]
+
--Shults. V. 00:10, 6 грудня 2011 (MSK)

Версія за 23:10, 5 грудня 2011

Зміст

Команда su

Команда су (змінити користувача - замінити користувачу) дозволяє змінити "власника" поточного сеансу без необхідності завершувати сеанс і відкривати новий. Команда su дає можливість зайти в систему під іншим користувачем. За замовчуванням, якщо команда задана без аргументів, то це суперкористувач - root. Вона вимагає ввести пароль цього користувача. Символ $ в запрошенні командного рядка зміниться на #, що говорить про отримані привілеї root. Але отримавши права root, ви не отримуєте доступу до команд, виконувані файли яких знаходяться в директоріях суперкористувача, якщо тільки не прописувати повний шлях вручну. Наприклад можна стати користувачем vasya, для цього виконуємо команду su vasya і вводимо його пароль.

Якщо потрібно виконати одиничну комманду від імені будь-якого користувача, необов'язково ставати ім. Просто після його імені використовується ключ-c, а за ним следут команди.

#Su vasya-c gedit file.txt

Команда sudo

Команда sudo дає користувачеві доступ до прав і ресурсів інших користувачів, які чітко дозволені адміністратором системи. Наприклад адміністратор можна дати права на перегляд системних папок, і всі права користувача vasya, при цьому не даючи свого пароля та паролю Васі. Тобто при виконання дій з командою su ми повинні вводити пароль користувача під яким ми намагаємося зайти. А в sudo ми вводимо вої пароль, і нам абсолютно не потрібно знати паролі інших користувачів. Правила, що вказують що кому дозволено, знаходяться в файлі / etc / sudoers. Щоб виконати команду від імені іншого користувача, якщо вона дозволена в / etc / sudoers, необхідно використовувати ключ-u.

#Sudo-u vasya gedit file.txt

Або

#Sudo-u vasya su

Що б перетворитися на root можна виконати sudo su.

Що б кожен раз не вводити sudo можна скористатися ключем-i.

#Sudo-i

Відмінності su та sudo

Відмінностей sudo від su два:

  • Sudo вимагає вказівки пароля того користувача, який отримує права іншого, а не пароля того, чиї права набувають:
  • Sudo дія поширюється за замовчуванням тільки на одну команду - таку, яка вказується як її аргументу.

Тим самим досягається дві мети:

  • можливість виконання користувачем адміністративних дій без повідомлення йому суперпользовательского пароля;
  • зниження ризику пошкодити систему внаслідок забудькуватості.

Є ще й третя додаткова можливість, що надається Sudo - протоколювання дій.


Ресурси Інтернет

Разница между sudo и su командами

Команды su та sudo


--Shults. V. 00:10, 6 грудня 2011 (MSK)

Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти