Понимание корня Linux

Я использовал Linux (Ubuntu) в течение приблизительно 2 недель теперь, и все еще борюсь с некоторым фундаментальным понятием, окружающим пользователя root:

  1. Некоторые работы терминала (такие как создание подкаталогов в каталоге FHS, таких как / выбирают) требуют, чтобы я снабдил префиксом команду sudo - почему? Я предполагаю то, на чем я дросселирую: если я уже зарегистрирован как допустимый пользователь системы, почему я должен быть суперпользователем/корнем для изменения вещей, что системный администратор уже считал меня достойным доступа?

  2. Существует ли GUI (Gnome, KDE) эквивалентен sudo? Существует ли способ принять роль суперпользователя через графический контекст, а не из новой оболочки?

  3. Я не могу получить доступ к / корневому каталогу, зарегистрированному как сам..., но я установил систему для начала и никогда не просился создать корневую учетную запись! Как я вхожу в систему как корень и получаю доступ к корню/?

4
задан 28.08.2012, 13:23

4 ответа

если я уже зарегистрирован как допустимый пользователь системы, почему я должен быть суперпользователем/корнем для изменения вещей, что системный администратор уже считал меня достойным доступа?

Кто говорит, что они имеют?

Если Вы смотрите на /etc/passwd, Вы будете видеть, что существует еще довольно много пользователей в Вашей системе, чем Вы думаете. Например, мой похож на это:

┌─[pearson@Bragi] - [~] - [Mon Jan 03, 11:29]
└─[$]> cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
mail:x:8:12:mail:/var/spool/mail:/bin/false
ftp:x:14:11:ftp:/srv/ftp:/bin/false
http:x:33:33:http:/srv/http:/bin/false
nobody:x:99:99:nobody:/:/bin/false
dbus:x:81:81:System message bus:/:/bin/false
pearson:x:1000:1000::/home/pearson:/bin/zsh
hal:x:82:82:HAL daemon:/:/bin/false
ntp:x:87:87:Network Time Protocol:/var/empty:/bin/false
avahi:x:84:84:Avahi daemon:/:/bin/false
temp:x:1001:1001::/home/temp:/bin/bash
mysql:x:89:89::/var/lib/mysql:/bin/false
mongodb:x:101:2::/var/lib/mongodb:/bin/false
usbmux:x:140:140:usbmux user:/:/sbin/nologin
kdm:x:135:135::/var/lib/kdm:/bin/false
deluge:x:125:125:Deluge user:/srv/deluge:/bin/false

Большинство из них используется различными демонами (программы, которые работают без взаимодействия с пользователем); они имеют тенденцию иметь очень ограниченные полномочия, потому что они не должны делать многого. Если они попытаются сделать что-то плохо, или случайно из-за программной ошибки или намеренно из-за использования безопасности, то они не станут далекими.

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

Теперь, если Ваш вопрос, "Почему я должен ввести sudo когда я был уже добавлен к sudoers?", ответ - это sudo вещи выполнений как root, вместо как Вы. Если мы сделали все файлы доступными для Вашего пользователя непосредственно, или Вы просто работали как корень на нормальной основе, намного легче случайно сделать Плохие Вещи (rm -rf /* приходит на ум). Плюс, это - действительно плохая практика безопасности для разрешения любого приложения, которое Вы запускаете, чтобы сделать независимо от того, что это хочет к Вашей системе - это - то, как много шпионского ПО было установлено на машинах Windows перед контролем учётных записей.

Существует ли GUI (Gnome, KDE) эквивалентен sudo?

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

Как я вхожу в систему как корень

Не делать. При необходимости в корневой оболочке можно использовать sudo -s, sudo -i, или sudo su.

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

и получите доступ к корню/?!?

┌─[pearson@Bragi] - [~] - [Mon Jan 03, 11:54]
└─[$]> sudo -s
┌─[root@Bragi] - [~] - [Mon Jan 03, 11:54]
└─[$]> cd /root

Но нет действительно никакой потребности.

3
ответ дан 07.12.2019, 19:30
  1. sudo позволяет Вам выполнить программу как корень. Обычные пользователи системы ограничили полномочия из соображений безопасности. Вы не хотели бы, чтобы Ваш гостевой пользователь учетной записи смог изменить системные файлы, нет? Если Вы хотите дать поднятые полномочия своего пользователя, необходимо изучить изменение "sudoers" файла.

  2. gksu (технически GUI для su, но должен помочь Вам),

  3. В отличие от большинства других дистрибутивов Linux, Ubuntu не имеет, позволяют корневой вход в систему по умолчанию. Весь корневой доступ, как предполагается, сделан через sudo. Посмотрите здесь для обходного решения (Правовая оговорка: не попробовали это, не используйте Ubuntu самостоятельно). Иначе, если Вы просто хотите получить доступ к своему / корневому каталогу, Вы могли бы сделать это от оболочки (или запустить Ваш файловый менеджер как корень с sudo - я думаю, что это по умолчанию - Наутилус в Ubuntu).

3
ответ дан 07.12.2019, 19:30
  1. Идея состоит в том, что Вашу учетную запись не считают достойной записи в системные каталоги из соображений безопасности.

  2. Можно запустить Наутилус с полномочиями пользователя root при помощи "sudo наутилус". Вы могли, вероятно, присвоить эту команду кнопке на Вашей панели.

  3. Как принимают значение по умолчанию, корневая учетная запись не включена на человечности. Кажется, что можно включить ему использование sudo passwd root который предложит Вам, чтобы пароль использовал для корня, но это не рекомендуется вообще, вместо этого необходимо использовать sudo для получения временного корневого доступа.

2
ответ дан 07.12.2019, 19:30

При выполнении sudo Вы временно принимаете полномочия пользователя root. Обычно Вы хотите проверить полномочия файла сначала. На Ubuntu, /opt например, принадлежит корню и имеет rwxr-xr-x разрешение. Что означает, Ваш пользователь не может записать (т.е. создать каталоги) к каталогу.

Корневая учетная запись присутствует, просто потому что "необходимо" выполнить задачи администрирования.

1
ответ дан 07.12.2019, 19:30

Теги

Похожие вопросы