Як мій Інтернет-браузер може записувати файли в мій файл "Завантаження", якщо дозволи за замовчуванням не дозволяють "писати"?


14

На терміналі я використав цю команду:

stat Downloads

У ньому зазначено, що дозволи для моєї папки завантажень були "drwxr-xr-x"

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


4
Я підозрюю, що якби ви входили, ls -ld Downloads то ви виявили б, що насправді є власником вашої папки "Завантаження". Отже, коли ви запускаєте веб-переглядач, ви, як власник каталогу, намагаєтесь щось помістити у цей каталог.
Чарльз Грін

Відповіді:


20

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

Оскільки ви є власником папки "Завантаження", ваш обліковий запис користувача (як правило, за замовчуванням) має повні права read / write / e xecute . Тому у вашому браузері є і їх.

Щоб уточнити вихід статистики(d rwx r-x r-x) :

  • Перша літера (тут d:) описує тип об’єкта файлової системи, який ви вивчаєте. dозначає, що ви показуєте права доступу до каталогу. Якщо ви вивчаєте файл, ви отримаєте -натомість. Є й інші можливості, наприклад, lдля посилання. Далі є (відповідно до коментаря @ Atsby) bдля блокових пристроїв, cдля символьних пристроїв, pдля труб та, можливо, навіть більше ...
    Дивіться * для примітки про дозволи довідок!
  • Перші три букви rwxозначають дозволи власника . Лист означає, що відповідний тип доступу надано, а "-" означає відмову. -> повний доступ
  • Три інші листи r-xпредставляють дозволи , які мають користувачі, які є членами групи власників . Це той самий "rwx" -формат, як вище. -> тільки читати та виконувати дозволи, не писати
  • Останні три листи r-xпредставляють дозволи будь-яких інших користувачів, які не є самим власником і не є членом групи власників. Ще той же "rwx" -формат. -> також лише читати та виконувати дозволи, не пишучи

* Дозволи дозволів:
Зверніть увагу, що дозволи дозволу на директорії мають різні значення, ніж дозволи на файли. Для каталогів ...
доступ читання (r) означає перелік файлів ( lsкоманда) ,
доступ до запису (w) означає зміну вмісту каталогів (створення, видалення, перейменування файлів) та
виконання доступу (x) означає введення каталогу ( cdкоманда або відкриття з файловим менеджером)


Розширені дозволи на виконання:

Іноді ви знаходите S, s, Tабо tде б очікувати x.

Існують дозволи SUID (Set User ID) та SGID (Set Group ID), які замінюють нормальні, xякщо файл завжди повинен виконуватися з дозволами його власника (SUID) або його групи власників (SGID). Для SUID xдозвіл користувача (перший блок) замінюється, для SGID замінюється xдозвіл групи (другий блок). З великої літери Sпозначається -(дозволу відмовлено), тоді як маленька sдорівнює x(дозвіл надано).

Якщо xтретій блок (дозволи інших користувачів) замінюється на T/ t, це означає, що встановлено "Sticky Bit" . На сьогоднішній день він в основному використовується для запобігання видалення файлу користувачами, які не є власниками, які мають дозволи на запис. Знову-таки, велика літера Tдорівнює -(без дозволу на виконання інших) без "Sticky Bit", а невелика tозначає доступ до виконання ( x) для інших.


Восьмі позначення:

Дозволи можуть бути представлені 3-4 цифрами (значення 0-8), які називаються восьмеричними позначеннями.
Зазвичай у вас є 3 або 4 цифри, перша цифра яких встановлена ​​на 0 (наприклад, 755або 0755).

  • Перша цифра (яку можна опустити, якщо вона дорівнює 0) представляє прапорці розширеного дозволу. Значення прапорців: SUID = 4, SGID = 2, Sticky = 1.
  • Друга цифра відображає стан прапорів дозволу власника (rwx; перший блок дозволів у форматі рядків). Значення прапора: r = 4, w = 2, x = 1.
  • Третя цифра представляє стан прапорів дозволів групи власників (rwx; другий блок дозволів у форматі рядків). Значення прапора: r = 4, w = 2, x = 1.
  • Четверта цифра представляє стан усіх інших дозволів прапорів (rwx; третій блок дозволів у форматі рядків). Значення прапора: r = 4, w = 2, x = 1.

Щоб обчислити значення цифри, просто підсумуйте значення прапорців усіх встановлених прапорів. Приклади: rwx = 4 + 2 + 1 = 7, rx = 4 + 0 + 1 = 5


Джерело та додаткові посилання:
http://www.zzee.com/solutions/linux-permissions.shtml
http://www.informit.com/articles/article.aspx?p=1822622&seqNum=6
Будь ласка, відвідайте ці посилання для більш детальної інформації , особливо про розширені дозволи.


1
+1, dозначає directory, до речі!
kos

@kos Спасибі, я додам це. Які б інші можливості були замість "d" у цьому місці?
Байт командир

Ні, якщо це не каталог, це справді файл, тож у вас завжди є dабо-
kos

3
@kos є й інші можливості, наприклад, lм'яке посилання, bблоковий пристрій, персональний cпристрій, pтруба ... це лише ті, про кого я знаю, їх, мабуть, більше
Atsby

@Atsby Ви маєте рацію, я говорив про те, lsколи дійсно використовувались ОПstat
kos
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.