4

Я использую Linux (Ubuntu) около 2 недель и до сих пор борюсь с какой-то базовой концепцией, связанной с пользователем root :

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

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

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

4 ответа4

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

  2. gksu (технически графический интерфейс для su, но он должен вам помочь)

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

2
  1. Идея состоит в том, что ваша учетная запись не считается достойной записи в системные каталоги по соображениям безопасности.

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

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

2

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

Кто говорит, что у них есть?

Если вы посмотрите на /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 , а не как вы. Если мы сделали все файлы доступными для вашего пользователя напрямую, или вы просто запустили как root на обычной основе, гораздо проще случайно сделать Bad Things (на ум приходит rm -rf /* ). Плюс, это действительно плохая практика безопасности, когда любое приложение, которое вы запускаете, делает все, что хочет, с вашей системой - так много шпионских программ было установлено на компьютерах с Windows до UAC.

Есть ли GUI (Gnome, KDE), эквивалентный sudo?

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

Как мне войти как root

Не. Если вам нужна корневая оболочка, вы можете использовать sudo -s , sudo -i или sudo su .

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

и получить доступ к /root?!?

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

Но на самом деле в этом нет необходимости.

1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .