Почему ни один файловый менеджер не запрашивает более высокого разрешения, если это необходимо? [закрыто]

14

Я только что ответил на другой вопрос начинающих о «Не могу написать ....... проверить права».

Конечно, я знаю, как использовать chown / chmod; Я все равно работаю с командной строкой. Но средний потребитель этого не делает.

Так что же мне говорить людям без опыта GNU / Linux?

Работать как root? Я знаю, например, Nemo имеет функциональность «открыть как корень». Но просто нет! Я не думаю, что это хорошая идея для среднего пользователя. Это очень опасно. Затем пользователь создает файл в root-file-manager и задается вопросом, почему он не может удалить или изменить этот файл. И так далее.

Скажите ему, чтобы узнать, как использовать chown / chmod? И вот мы - ботаник-только-линукс, где все так сложно. Это то, как мы делаем вещи; но это не хороший вариант для среднего потребителя.

Почему не помогает файловый менеджер?

Ненавижу это говорить, но посмотрите, как Windows справляется с этим. По умолчанию это пользовательские права. А если файловому менеджеру нужно больше - он просто спрашивает пользователя.

Это не может быть сложно реализовать. Если операция завершается с ошибкой разрешения - попробуйте выполнить с помощью gksudo.

И да: я действительно неопытен со всем открытым исходным миром.

Мои вопросы:

  1. Есть ли причины, по которым это не сделано
  2. Кто-нибудь реализовывал что-то подобное?
  3. Вы сообщаете об этом как об ошибке (Ubuntu или, например, Gnome)?
  4. Это то, что я мог бы попытаться реализовать сам?
AnnoSiedler
источник
4
Почему вы хотите скопировать поведение Windows в систему Linux? Это просто две разные операционные системы и тоже отличаются. В Linux вы работаете как обычный пользователь и обычно не нуждаетесь в rootпривилегиях, если вы не работаете с правами администратора. В этом случае вы должны работать в качестве администратора и держать оба мира разделенными. Вы можете установить программное обеспечение в своем домашнем каталоге, настроить собственные параметры среды .bashrcи .profileт. Д.
Thomas
2
Я, должно быть, что-то упускаю, но почему вы считаете: «Я знаю, например, что у Nemo есть функциональность,« открытая как root ». Но просто нет! Я не думаю, что это хорошая идея для обычного пользователя. Это далеко не опасно». , но в то же время «посмотрите, как Windows справляется с этим. По умолчанию это разрешение пользователя. А если файловому менеджеру нужно больше - он просто спрашивает пользователя » - хорошая идея? Que?
Джейкоб Влейм
5
Чтобы закрыть избирателей: серьезно? Это отличный вопрос, и на него уже есть очень хороший ответ. Скорее всего, впереди. Если есть какие-либо технические причины для неосуществления этого очевидного улучшения, тогда можно дать ответ.
Андреа
2
@ Arronic в том-то и дело, что во многих случаях таких инструментов с графическим интерфейсом нет. Даже в macOS есть больше вариантов графического интерфейса для настройки брандмауэра, SSH-сервера и так далее. Таким образом, вопрос ОП: почему?
Андреа
3
Если Linux на рабочем столе для нетехнических людей собирается куда-то пойти, ему нужно полностью устранить необходимость когда-либо работать в файловом менеджере как root, когда-либо. Я не могу думать о том, что обычный пользователь должен делать в файловом менеджере от имени root (конечно, есть много вещей, которые он в настоящее время должен сделать). Тогда эта проблема решается довольно легко. ИМХО, если пользователи создают корневые файлы в своих домашних каталогах, что-то уже серьезно не так.
Muzer

Ответы:

14
  1. Есть ли причины, по которым это не сделано

Там нет никаких конкретно. Я могу назвать несколько предполагаемых причин, но они будут в основном спекуляцией.

  1. Кто-нибудь реализовывал что-то подобное?

Не совсем. Существует nautilus-adminрасширение, которое позволит вам открыть каталог в новом окне с привилегиями корневого уровня, а затем вы можете изменить права доступа к файлам / каталогам по своему усмотрению из контекстного меню-> Свойства-> Разрешения.

  1. Вы сообщаете об этом как об ошибке (Ubuntu или, например, Gnome)?

Отчет об ошибке ? Нет. Запрос на добавление? Потенциально да. Вы можете отправить это как запрос на добавление в команду Nautilus (файловый менеджер) на Launchpad , но я подозреваю, что с 90% уверенностью они укажут вам nautilus-adminрасширение, которое я упомянул выше.

Установите его с помощью sudo apt-get install nautilus-admin.

  1. Это то, что я мог бы попытаться реализовать сам?

Да, если ваш файловый менеджер позволяет добавлять в него скрипты. Файловый менеджер по умолчанию для Ubuntu (Nautilus) позволяет добавлять в него скрипты, так что вы можете сделать что-то вроде этого:

#!/bin/bash
# adds read permissions for file for all users
zenity --password | sudo -S -p ""  chmod +r  "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" || zenity --error --text "Command failed"

Поместите это в ~/.local/share/nautilus/scripts, сделайте исполняемым с chmod, и тогда это будет доступно через щелчок правой кнопкой мыши на файле. Конечно, это минимальный пример, чтобы показать точку. Если вам нужно полноценное приложение, которое позволяет использовать более сложные функции, такие как выбор разрешений для изменения, ну, для этого могут потребоваться дополнительные команды и, возможно, такой язык, как Python, с более мощными наборами инструментов GUI.

Но просто нет! Я не думаю, что это хорошая идея для среднего пользователя. Это очень опасно. Затем пользователь создает файл в root-file-manager и задается вопросом, почему он не может удалить или изменить этот файл. И так далее.

Ну ... это не проблема компьютера - это проблема пользователя. Мы не можем исправить пользователя, не желающего учиться правильно управлять своим компьютером и не принимая на себя ответственность за свои действия.

Пользователи должны понимать, что разделение прав собственности на файлы существует по определенной причине. Вы не можете одновременно изменять права доступа к файлу и не ожидать, что это повлияет на безопасность

Сергей Колодяжный
источник
4
Отличный ответ, однако проблема остается: графический интерфейс большинства дистрибутивов по умолчанию не позволяет пользователю «графически судо», когда это необходимо. Либо пользователь должен вручную разблокировать корневую учетную запись (плохо), либо он должен прибегнуть к командной строке. Например, я разработчик, мне нравится CLI ... Но я также думаю о своей семье и друзьях, которых нет. Иногда, когда они используют Linux, они обращаются ко мне за помощью, и 80% времени это что-то вроде привилегированного пользователя. : /
Андреа
Благодарность; особенно сценарий довольно полезен. Запрос о функции сообщается как ошибка (с учетом того, что это запрос функции), не так ли?
AnnoSiedler
@AnnoSiedler в широком смысле да; Лучше, если вы
добавите в заголовок
16
«Ну ... это не проблема компьютера - это проблема пользователя. Мы не можем исправить то, что пользователь не хочет учиться правильно управлять своим компьютером и не брать на себя ответственность за свои действия ». Нет. Люди, поднимающие руки вверх и обвиняющие пользователей, именно поэтому все становится запутанным или нелогичным. UX-дизайн - это действительно важная вещь, о которой разработчики программ должны заботиться, думать, работать, другими словами, брать на себя ответственность и ответственность. Это не ошибка пользователей - это техническое ограничение, или проблема безопасности, или, может быть, это плохой UX, который нужно исправить.
KRyan