2

Я только что установил свой первый рабочий стол Linux (64-битная Ubuntu 12.04) и играю с ним:

myUser@myMachine:~$ cd /opt/
myUser@myMachine:/opt$ mkdir lemmiwinks
mkdir: cannot create directory `lemmiwinks': Permission denied
myUser@myMachine:/opt$

Это работает, если я сначала попробую sudo как root:

myUser@myMachine:/opt$ sudo mkdir lemmiwinks
[sudo] password for myUser: 
myUser@myMachine:/opt$ ls
lemmiwinks
myUser@myMachine:/opt$ 

Что тут происходит? Почему я должен использовать sudo для получения доступа к /opt (или к любым другим каталогам, не /home/myUser ?

Как мне создать и дать разрешения новым пользователям, которые могут получить доступ к /opt? Могу ли я сделать это и для myUser? Заранее спасибо!

4 ответа4

6

Каталог /opt, скорее всего, принадлежит пользователю root, который является суперпользователем в системе. В моей системе Ubuntu Linux, которая будет очень похожа на вашу, это так, когда я делаю длинный список для /opt как пользователь без полномочий root:

~ $ ls -l /|grep opt
drwxr-xr-x   8 root root  4096 Jan  6  2012 opt

Разрешения linux, как правило, имеют три категории разрешений: для владельца, группы пользователей, которые также имеют специальные разрешения для этого каталога / файла, и, наконец, для всех остальных.

В первом разделе этого списка выше «drwxr-xr-x» показаны разрешения, затем «корневой корень» показывает владельца (root) и группу (root), затем размер и дату, за которыми следует имя (opt)

Исходя из этого, drwxr-xr-x сначала показывает тип ресурса, в этом случае 'd' для каталога, а затем права чтения | записи | выполнения (rwx) для каждого из владельца, группы и других в этом порядке.

Таким образом, в этом случае владелец (root) имеет права на чтение, запись и выполнение для /opt, но члены группы (root) имеют только права на чтение и выполнение, как и другие.

Это отсутствие разрешений на запись для группы и других (часть r-xr-x), которые не позволяют запускать в качестве «myUser» новый каталог в /opt

/opt обычно является местом, где установлено стороннее программное обеспечение, поэтому неясно, почему вы хотите, чтобы новые пользователи могли писать в /opt, так как они могли бы, например, изменить другое программное обеспечение в /opt.

Все пользователи могут по умолчанию, учитывая права rx для всех на /opt, как показано, получить доступ к /opt и читать из него, но не записывать в него.

Однако, если вы действительно хотите, чтобы «новые пользователи» могли писать в /opt, у вас есть по крайней мере несколько вариантов:

  • вы можете изменить права доступа для всех на /opt на rwx (не рекомендуется); или же
  • вы можете изменить принадлежность группы /opt к чему-то еще, скажем, «optgroup» и сделать права доступа группы rwx (оставив всех остальных на rx), а затем добавить новых пользователей в созданную вами группу «optgroup»;

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

Подробнее о разрешениях для файлов Linux см. По адресу http://www.tuxfiles.org/linuxhelp/filepermissions.html.

5

sudo - это то же самое, что щелкать OK в Windows 7 или UAC Vista. Вы предоставляете себя по требованию администратора.

Чтобы предоставить другим пользователям доступ к папкам (редактировать, создавать и т.д.), Просто предоставьте им уровень доступа, который вы хотите им предоставить, или администратора. Придется и sudo.

Вы можете отключить sudo, всегда работая с повышенными правами, но это не рекомендуется. Частью безопасности Linux, OS X и Windows 6+ является то, что вы никогда не должны работать от имени администратора. Когда вы получаете запрос на повышение прав, вы должны знать, что вы запросили операцию, а затем одобрить или отклонить соответственно. Без этого у вас может быть странное программное обеспечение, установленное или работающее без вашего явного разрешения или ведома. Это может быть вредоносная программа, вирус или просто плагин для слова, или ваш браузер, который вы не хотите запускать или устанавливать. Кроме того, как только что-то нашло способ работать в системе без явного разрешения, некоторые вредоносные программы могут использовать эту информацию низкоуровневого поиска для эскалации себя или другого программного обеспечения. Взлом с помощью социальной инженерии, например, может начаться на этом уровне доступа.

Кроме того, Windows такая же, по умолчанию у вас есть полный доступ к% UserProfile% *, но нет другого пользователя или корня C:\ без повышения и разрешения операции.

2

Вы должны быть суперпользователем (root), чтобы связываться с системными файлами и папками так же, как вы должны давать административные разрешения для того же в Windows. sudo означает superuser do , но вы можете использовать su для использования терминала (и каждой программы, с которой вы его запускаете) в качестве пользователя root, поэтому вам не нужно вводить sudo перед каждой командой высокого уровня. exit чтобы вернуться к myUser . Я не уверен в вашем дистрибутиве, но в Debian также есть корневой терминал, который для ваших намерений и целей имеет тот же эффект, что и использование su .

Вот так все работает. Linux всегда задумывался как многопользовательская система, так что вы можете думать об этом как о следствии этого, но это также для вашего же блага, поскольку использование учетной записи root для повседневной работы может плохо закончиться.

1

Какой-то цвет:

/opt/ filesystem обычно используется для сторонних пакетов. Полный пакет устанавливается в /opt/packagename или где-либо еще. Это немного отличается от, скажем, /usr или /usr /local, где куча файлов перемешана.

Итак, почему /opt/ заблокирован? В общем случае общие двоичные области заблокированы. Если я ненавижу Боба, я не хочу устанавливать «официальный» пакет, который уничтожает его домашнюю директорию.

Другая причина - дисковое пространство. Если я системный администратор, я не хочу, чтобы кто-то устанавливал вещи, которые могут сломать мой компьютер. Вы доверяете всем, кто может написать /opt что они не сломают другие вещи? Могут ли пользователи писать слишком много и переполнять раздел /opt? Или даже случайно удалить другие файлы и сломать другие приложения?

Если вы хотите дать людям доступ к /opt , я бы сделал группу UNIX, Idunno optadm или что-то подобное, и сделал бы эту группу разрешенной для /opt, а затем предоставил бы определенным пользователям членство в этой группе, если вы доверяете им, чтобы они не слишком много делали. , Также убедитесь, что /opt находится в своем собственном разделе. Вы не хотите, чтобы кто-то играл в /opt, чтобы вы ломали другие части системы, потому что они устанавливали какую-то игру.

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