Чому користувачі, які не є адміністраторами, не можуть встановити програмне забезпечення?


11

Це, мабуть, те, чого я не розумію, оскільки я звик до Windows і починаю лише з Ubuntu. Я знаю, що програмне забезпечення в Linux постачається в пакетах, чого я не розумію, чому не можуть користувачі, які не є адміністраторами, не встановлювали програмне забезпечення.

Я маю на увазі, що кожну програму керує конкретним користувачем, і цей користувач зможе запускати це додаток лише за допомогою своїх привілеїв, тому, якщо у нього немає прав адміністратора, програма також не зможе отримати доступ до несанкціонованих каталогів тощо.

Я хочу, щоб більшу частину часу працював на своєму ПК з користувачем, який не є адміністратором, оскільки це здається більш безпечним для мене, більшість часу я не потребую привілеїв адміністратора. і хоча я знаю, що віруси в Linux є рідкістю, я все ж вважаю, що найкраща практика - це працювати на комп’ютері в стані, коли ви самі не можете внести жодних змін у важливі файли, таким чином віруси також не можуть завдати шкоди жодним важливим файлам, але мені потрібно встановити програмне забезпечення для програмування та веб-дизайну тощо. Перш за все я не хочу весь час переключати користувачів. Але також для мене звучить безпечніше, що все, що робиться на ПК, буде зроблено через користувача, який не адміністратор.

Я буду радий дізнатися, які непорозуміння у мене тут, тому що щось тут не звучить правильно.

Відповіді:


16

Чому вас запитують пароль

Більшість програмного забезпечення призначені для дотику до чутливих файлів, тобто чутливих до безпеки ваших приватних даних або цілісності систем. Ось чому встановлення програмного забезпечення є потенційним ризиком і його слід перевірити користувачем, який знає, що робить. Навіть для програмного забезпечення з відкритим кодом, ви не можете бути впевнені, що з вашим новим аудіоплеєром не надійде жодного поганого коду, поки хтось не перевірить. І навіть тоді щось можна було не помітити або пакетами можна було маніпулювати по дорозі. Хто знає, що приховано в глибині програми? Один користувач повинен.

Ubuntu забезпечує зручний спосіб встановлення програмного забезпечення. Розробники програмного забезпечення можуть покластися на цей комфорт і зробити припущення, що синаптичний / програмний центр / apt дозволяє їм отримувати доступ до цих чутливих файлів. Canonical перевіряє сховище програмного забезпечення на наявність помилок та шкідливого коду. Але остаточна відповідальність за вами.

Якщо відповідному програмному забезпеченню не потрібен доступ до чутливих файлів, він (в принципі) може бути встановлений у домашній папці, хоча не у спосіб Ubuntu. Наприклад, вам доведеться самостійно зібрати вихідний код або запустити спеціальний сценарій встановлення. Окрім більших зусиль щодо цього, недоліком є ​​недопуск інших користувачів до вашої щойно встановленої програми (оскільки вони не мають права доступу до вашої домашньої папки). Їм потрібно буде встановити його вдруге. Тож цей спосіб установки не має сенсу у великому масштабі, а в невеликому масштабі зазвичай простіше набрати пароль, ніж встановлювати програмне забезпечення вручну.

Отже, тому Synaptic надає пароль і чому це добре, що це робить.


Судори

Якщо вам дуже потрібно, щоб інші користувачі встановлювали програмне забезпечення без пароля , ви можете додати їх до списку sudoers. Однак це призведе до великого ризику для безпеки . Якщо це вас не стосується, подумайте, що там є ботові мережі з великими ресурсами, щоб прорватися на ваш комп’ютер через Інтернет. Вони роблять це лише для того, щоб додати ваш комп'ютер до мережі та використовувати його з'єднання та обчислювальні потужності без вашого відома, щоб робити всілякі незаконні речі. Вони навіть не після того, як ваші особисті дані - це вам. Вони просто хочуть захопити ваш ПК. Все ще не стурбовані? Дійсно? Потім подивіться на наступну відповідь, яка є невеликим практичним описом у списку судовиків:

Як змусити Ubuntu назавжди запам'ятати пароль після першого разу

Прочитайте це уважно. Ви могли заблокувати себе із системи.

Страх закінчився

Тож тепер вас лякає і ви сприймаєте справу серйозно, я можу вам сказати, що це насправді не так вже й погано. Якщо ви довіряєте людям, які працюють на вашому комп’ютері, і у вас немає встановлених програм, які дозволяють віддалений доступ до вашої системи (наприклад, ssh- або ftp-сервер), відключити дані пароля насправді не так небезпечно. Просто не робіть цього, не розглядаючи найгірший випадок і не придумайте ваші приватні дані.


Погляньте на розгляд справи ( не робіть цього злегка - див. Текст та посилання вище ):

# in shell type these commands
sudo su       # in case you do something stupid, you'll have a root shell open
select-editor # (optional) will allow you to select text editor
visudo        # secure way to open sudoers list

Редактор відкриє ADD такий рядок:

confus confusion=(root) NOPASSWD:/usr/sbin/synaptic,/usr/bin/software-center

Синтаксис Пояснення: username machine=(usernameToRunCommandAs) command1,command2,.... Отже, наведений вище рядок дозволяє confus запускати синаптичний та програмний центр як корінь без запиту пароля. Ви все ще потрібно , щоб запустити його з sudo synapticабо gksudo synapticабо помістити псевдонім `псевдонім Synaptic =« Судо синаптичної »в вашому профілі оболонки.


ніж заплутатися, ти насправді змусив мене зрозуміти. приємно бачити таку приємну спільноту для linux :)
fiftyeight

2
Ласкаво просимо. Оскільки linux як проект з відкритим кодом покладається на людей, які вкладають у нього свою роботу без компенсації, ви знайдете багато корисних людей у ​​комуністиці.
con-f-use

4

Вони не можуть. Ось угода.

  1. Перший користувач, створений в Ubuntu, вважається спеціальним користувачем: це користувач з правами адміністрації. Це означає, що коли-небудь цей користувач захоче виконувати завдання адміністратора, йому буде запропоновано його пароль адміністратора. Ці завдання видаються, поставивши sudoперед командою.

  2. Усі інші користувачі (якщо ви самі їх не змінили) є звичайними користувачами і не можуть встановлювати програмне забезпечення програмного забезпечення у всьому світі, якщо адміністратор (1-й користувач) не дозволить їм це зробити. Звичайний користувач може розміщувати речі лише у власному будинку, і якщо вони хочуть, вони можуть зіпсувати свій домашній каталог.

Таким чином, 1 людина відповідає за систему.

Ви можете зробити більш ніж 1 користувача адміністратором (таким чином, щоб встановити програмне забезпечення), додавши цих користувачів у файл sudoers.

Крім того, вони можуть встановлювати програмне забезпечення у себе вдома, але це залежить від програмного забезпечення: іноді інсталятор хоче додати його до системи, а це заборонено. Ці установки, як правило, з джерела, тому це не найпростіший метод;)


2

В Ubuntu адміністратор має кореневі привілеї (часто його називають просто "root", як у "вам потрібно бути root").

Доступ до файлів можна розділити на три типи:

  • read (числове значення 4)
  • написати (числове значення 2)
  • виконати (числове значення 1)

Ці атрибути можна встановити у кожному файлі чи каталозі. Крім того, ці обмеження можна встановити на:

  • власник файлу
  • група файлу (користувачі можуть бути членом цієї групи)
  • всі інші користувачі, які не є власником і не в групі

Ці принципи формують основи дозволів для файлів Linux. У вікнах все можна виконати. Надайте, наприклад, розширення .cmdабо .exeрозширення. В Ubuntu вам потрібно додати виконавчий біт явно, інакше виникне помилка дозволу.

Коли користувач виконує програму, програма отримує доступ до файлів, як цей користувач, і ці права доступу до файлів починаються. За замовчуванням місця, де встановлені програми, привілейовані, пише лише власник. Цей власник - root. Усі інші користувачі можуть лише читати та виконувати програму, а не писати на неї. Ось чому вам потрібні привілеї root для встановлення програм.

Ubuntu має спеціальну програму під назвою sudo(SuperUser DO ...) для запуску програм з привілеями root. Це можна використовувати для встановлення програмного забезпечення. Під час запуску sudoпрограма запитує пароль користувача. Зауважте, що лише члени adminгрупи можуть запускати програми як root sudo.

У Windows ви зайшли на веб-сайт і завантажите інсталятор. Ubuntu працює з сховищем програмного забезпечення, в якому можна шукати програми та встановлювати їх. Ці програми переглядаються, перш ніж їх додавати в офіційні сховища, тож ви можете бути впевнені, що в програмах немає шкідливих намірів.


Ок, я розумію, тому не можуть користувачі якось інсталювати програмне забезпечення у свій домашній каталог і таким чином воно не торкається чутливих областей? Я маю на увазі, якщо вони дійсно хочуть, вони, ймовірно, можуть завантажити файли, необхідні для програми, і все одно помістити їх у свій домашній каталог, чи не може?
fiftyeight

Вони можуть встановлювати програмне забезпечення в домашній каталог. Їм просто потрібно скласти його самі і покласти туди бінарні файли. Звичайно, програмне забезпечення, встановлене таким чином, не зможе отримати доступ до захищених файлів в іншому місці. Хоча більшість програмного забезпечення побудовано таким чином, що йому потрібно отримати доступ до таких файлів.
con-f-use

Я оновив відповідь за допомогою "Ubuntu шляху" для встановлення програмного забезпечення. Можна встановити програмне забезпечення у вашому домашньому каталозі, але це дійсно залежить від того, що ви завантажили. SOmetimes, це архів із розширенням .tar.gzабо .tar.bz2. Їх часто можна витягнути безпосередньо в домашній каталог, але іноді потрібно скласти програму перед використанням. Якщо файл має .binабо .shрозширення, це часто виконуваний інсталятор, який залежить від використання. Пам'ятайте, що Ubuntu не використовує розширення файлів для визначення типу, він використовує його вміст.
Лекенштейн

2

Користувачі, які не є адміністраторами, не можуть встановлювати програмне забезпечення, оскільки пакунки виконуються як корінь під час їх інсталяції під час встановлення у привілейовані частини системи, запуск сценаріїв технічного обслуговування тощо.

В даний час немає можливості сказати системі "Встановити Firefox з цього .deb, але в домашній каталог користувача, щоб він був ізольований від решти системи"; ось чому в даний час це в основному справа про всі або нічого. (Тому також погано запускати сторонні файли .debs. Пакет та сценарії, що входять до нього, мають кореневий доступ до вашої системи)


1

Ви торкнулися великої різниці між windows та ubuntu. У Windows, коли ви ввійшли як адміністратор, програми будуть встановлені без запиту пароля. Це також дозволяє зловмисним програмам запускати свої програми. В системі Ubuntu (Linux) навіть під час входу в систему як адміністратор система завжди запитає ваш пароль при зміні системи. Тому зловмисне програмне забезпечення не може легко натрапити на вашу систему. Підводячи підсумки, запустіть Ubuntu як адміністратор. Якщо ви відкриєте інший обліковий запис користувача для своїх дітей, ніж надаєте їм лише звичайні права користувача, щоб вони не змогли накрутити систему.


Під "адміністратором" ви маєте на увазі користувача з правами sudo? Справжній адміністратор буде root.

Програмне забезпечення Windows не запитує пароль не тому, що ви обов'язково зареєстровані як адміністратор. але тому, що Windows просто не працює таким чином, тому, якщо ви повинні завантажити файл deb, який несвідомо містить небезпечний сценарій, і ви покладете свій пропуск для встановлення файлу, це може пошкодити систему так само, як і шкідливі програми Windows.
Урі Еррера

І навіть обліковий запис Windows "Адміністратор" насправді не є власником системного файлу, це СИСТЕМА. У цьому випадку це буде так: "Адміністратор", який є обліковим записом, який ви зробили після встановлення, і ROOT, що є істинним системним файлом. власник
Урі Еррера

0

Ви можете встановлювати програмне забезпечення як звичайний користувач, не адміністратор. Програмне забезпечення, встановлене звичайним користувачем, буде "належним" цим користувачем, а це означає, що фактично це розширення користувача - воно не має більше дозволів, ніж власник, хоча може мати меншу кількість дозволів на опція користувача.

Загальна практика полягає в тому, що користувач може створити каталог «бін» у своєму домашньому каталозі. Якщо / home / [user] / bin існує, він додається до початку шляху цього користувача. Ви можете розмістити виконувані файли в / home / [user] / bin, або в будь-якій іншій папці, до якої ви маєте записувати та виконувати доступ, та виконувати програму звідти.

Що звичайний користувач не може зробити, це встановити пакетну систему. Наприклад, звичайний користувач не може ставити виконувані файли в / usr / bin, а також не надавати їм прав, що перевищують власні дозволи користувача. Це, очевидно, з основних міркувань безпеки - наприклад, вам потрібні дозволи адміністратора для переформатування жорсткого диска, наприклад, і ви не хочете, щоб хтось це робив несанкціоновано.

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

Однак без дозволу адміністратора ви можете створювати сценарії оболонки, писати та компілювати вихідний код, завантажувати та компілювати "tarballs", які є пакетами вихідного коду для складних програм, або завантажувати виконувані файли, доки вони можуть використовуватися лише з дозволи постійного користувача. Деякі ігри з інді, такі як World of Goo або X-Plane 9, можна встановити і використовувати таким чином.


Перечитуючи питання, я не думаю, що моя відповідь є безпосередньо актуальною. Більш релевантною відповіддю було б те, що, якщо припустити, що звичайний обліковий запис користувача має права адміністратора, йому слід запропонувати пароль, перш ніж робити що-небудь, що вимагає прав суперпользователя, і це повинно бути досить безпечним, але він може просто створити другий обліковий запис користувача, який робить не мати дозволів адміністратора, якщо він віддає перевагу.
bgvaughan

Ваше питання було корисним насправді, дякую :)
fiftyeight
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.