Почему нет разрешений, таких как Android или iOS?

просто используйте find здесь:

find (...your filters ...) -exec optipng -o7 '{}' +

обратите внимание, что + попытаются использовать как можно больше результатов find в качестве аргумента для optipng , что прекрасно, поскольку эта программа принимает несколько файлов в качестве аргументов. Обратите внимание, что функция + работает только в том случае, если она является последним аргументом команды -exec . Альтернатива

find (...filters...) -exec optipng -o7 '{}' \;

Будет выполняться optipng один раз за результат и, таким образом, будет намного медленнее.

Побочное примечание: {} в find обозначает имя файла, полученное в результате поиска, -exec позволит выполнить команду.

-121--83214-

Виртуальные машины AIX доступны в облаке:

www.siteox.com/cart.php или lparbox.com/

-121--123059-

Вот портативный способ:

java -version 2>&1 | PATH=`getconf PATH` awk -F '"' '/version/ {print $2}'

В отличие от обычных предложений, которые пытаются угадать правильное расположение в зависимости от реализации Unix, он использует команду getconf PATH , которая возвращает путь к командам, совместимым с POSIX.

26
27.03.2018, 13:47
6 ответов

Когда вы устанавливаете некоторые программы, вы можете установить их в своем собственном пользовательском пространстве (i. е. self -содержится в вашем домашнем каталоге ), а не в системе -. Таким образом, у вас не запрашиваются привилегии суперпользователя, потому что они вам не нужны для установки программы для собственного использования одним пользователем. Программа, установленная таким образом, действительно не сможет получить доступ к файлам, которым не предоставлено разрешение «не -владелец, не -члены группы могут читать это» при отсутствии повышения привилегий.

2
27.01.2020, 19:39

То, что вам нужно, предоставляется приложениями Flatpack. Это очень похоже на приложения для iOS, Android или Windows Store.

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

https://blogs.gnome.org/alexl/2017/01/20/the-flatpak-security-model-part-2-who-needs-sandboxing-anyway/

Every flatpak application contains a manifest, called metadata. This file describes the details of the application, like its identity (app-id) and what runtime it uses. It also lists the permissions that the application requires.

By default, once installed, an application gets all the permissions that it requested. However, you can override the permissions each time you call flatpak run or globally on a per-application basis by using flatpak override (see manpages for flatpak-run and flatpak-override for details). The handling of application permissions are currently somewhat hidden in the interface, but the long term plan is to show permissions during installation and make it easier to override them.

Я также не использовал альтернативу Ubuntu, Snappy, чтобы узнать, предоставляет ли она такую ​​функцию, видимую в графическом интерфейсе.

9
27.01.2020, 19:39

Здесь две вещи:

  • при установке программы стандартными средствами (системный установщик типа apt/apt -получить на Ubuntu )она обычно устанавливается в какой-то каталог, где она доступна всем пользователям (/usr/ бин... ). Этот каталог требует привилегий для записи, поэтому вам потребуются специальные привилегии во время установки.

  • когда вы используете программу, она работает с вашим идентификатором пользователя и может читать или писать только там, где программы, выполняемые с вашим идентификатором, могут читать или писать. В случае Gimp вы обнаружите, например, что вы не можете редактировать стандартные ресурсы, такие как кисти, потому что они находятся в общем /usr/share/gimp/и что вам нужно сначала скопировать их. Это также показано в Edit>Preferences>Folders, где большинство папок идут парами: системная, доступная только для чтения -, и пользовательская, в которую можно записывать.

31
27.01.2020, 19:39

By installing a program on Ubuntu am I explicitly giving that program full permission to read/write anywhere on my drive and full access to the internet?

Да, если вы используете sudoили аналогичный, вы даете установщику полное разрешение на чтение/запись любого места на вашем диске. Это в основном то же самое. Существует также флаг setuid, который может установить установщик, который также дает программе полные права после установки.

Даже если мы игнорируем программу установки и если программа не имеет setuid (, программы очень редко используют setuid ), когда вы запускаете программу, она получает полный доступ ко всему, что может получить доступ к вашей учетной записи. Например, если вы вошли в свой онлайн-банкинг, он гипотетически может отправить все ваши средства в Нигерию.

Why no permissions like Android or iOS?

Модель безопасности -, означающая, что система безопасности спроектирована -в Linux, очень старая. Он унаследован от Unix, который восходит к 1960-м годам. В то время не было Интернета, и большинство сотрудников отдела пользовались одним и тем же компьютером. Большинство ваших программ исходило от крупных компаний, которым доверяли. Таким образом, система безопасности была разработана для защиты пользователей друг от друга, а не для защиты пользователей от программ, которые они запускают.

В настоящее время он изрядно устарел. Android основан на Linux, но работает за счет создания отдельной «учетной записи пользователя» для каждого приложения, а не для каждого пользователя. Я не знаю, что использует iOS. Усилия, подобные Flatpak, в настоящее время пытаются перенести то же самое на рабочий стол Linux.

23
27.01.2020, 19:39

Android использует рыночную модель безопасности, :различные приложения поступают от разных (полу-доверенных )поставщиков и должны быть изолированы от защищенных ресурсов и друг от друга. Большинство приложений распространяются -на основе прибыли :, они продаются (платное ПО ), показывают платную рекламу или «монетизируют» своих пользователей, продавая их данные третьим лицам. Существует высокая мотивация заниматься незаконным доступом к данным, даже если их поймают.

Большинство приложений в Debian, Red Hat и подобных «классических» дистрибутивах Linux распространяются в виде исходного кода. :После того, как приложения с открытым исходным кодом набирают достаточное количество оборотов, они вручную выбираются для включения сопровождающими дистрибутива. Существует небольшая мотивация для незаконного доступа к данным — потенциальная выгода не оправдывает усилий.

Стоит отметить, что передовая модель безопасности Android является одной из причин, по которой она завоевала такую ​​популярность, легко вытеснив iOS на мобильных рынках. Современные настольные дистрибутивы Linux не просто «другие», они на самом деле сильно отстают от времени с точки зрения своих моделей безопасности и распространения.

Некоторые дистрибутивы Linux предлагают улучшения в своей системе распространения программного обеспечения :централизованные сторонние репозитории программного обеспечения (AUR ),специализированные форматы пакетов для распространения стороннего -программного обеспечения (AppImage, Snappy, Flatpack ), системы вторичного репозитория (Docker ). К сожалению, со временем эти улучшения не получили должного развития. :AppImage был изобретен в 2004 г., первая версия AUR была выпущена в 2005 г., однако ни один из современных дистрибутивов Linux официально не принял их функции более чем через 10 лет.

4
27.01.2020, 19:39

When I install a program like GIMP or LibreOffice on Linux I'm never asked about permissions.

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

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

После установки программное обеспечение по умолчанию будет настроено для запуска обычными пользователями и позволит читать файлы данных. Это все, что нужно.

By installing a program on Ubuntu, am I explicitly giving that program full permission to read/write anywhere on my drive and full access to the internet?

Не та программа. Что происходит, так это то, что учетная запись пользователя принадлежит к разным группам, и разные группы предоставляют доступ к разным ресурсам.

Модель безопасности в Linux заключается в том, что ваша учетная запись пользователя имеет определенные права, а группы, к которым принадлежит ваша учетная запись, имеют определенные права. Для доступа к любой части файловой системы требуются привилегии суперпользователя, которые обычно не предоставляются пользователям. Даже когда вы используете sudo , вы не получаете всех прав.

Обычные учетные записи пользователей обычно имеют доступ к необходимым им ресурсам, например к Интернету.

Theoretically, could GIMP read or delete any directory on my drive, not requiring a sudo-type password?

Любой каталог или файл, на доступ к которым у вас как у пользователя есть права доступа, может быть доступен запускаемому вами приложению, поскольку оно обычно наследует ваши права. Обычно вошедший в систему пользователь по умолчанию обычно не имеет права изменять большинство критических системных файлов или общих файлов.

I'm only curious if it's technically possible, not if it's likely or not. Of course, I know it's not likely.

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

Я бы, наверное, посоветовал дополнительную литературу, чтобы разобраться с правами доступа в Linux.

Модель безопасности Android развивается, чтобы соответствовать потребностям пользователей, которые не только ничего не понимают в базовой модели безопасности ОС, но и почти ничего не понимают в компьютерах.

Модель Linux (, которая мне, откровенно говоря, нравится больше ), предназначена для того, чтобы позволить пользователям (и администраторам в частности )осуществлять больший контроль над безопасностью в системе (в пределах, если это им позволено. разрешения ).

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

3
27.01.2020, 19:39

Теги

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