Как работают права доступа к файлам?

Это реально работает! /etc/modprobe.d/blacklist.conf добавить черный список acer_wmi

, чтобы сделать это, напишите sudo vi /etc/modprobe.d/blacklist.conf

, затем введите пароль [!d2 ]

перейти к чистой строке и нажать клавишу вставки, это позволит включить режим ввода в vi

записать

черный список acer_wmi

затем нажать клавишу esc несколько раз.

, тогда напишите: wq! затем прессуйте

(для того, чтобы сначала сохранить файл вверх, после перезагрузки acer_wmi)

reboot

1
задан 5 April 2018 в 23:31

1 ответ

Предупреждение. Изменение прав доступа к файлам и каталогам потенциально опасно и может сделать вашу систему непригодной. Когда вы выполняете рекурсивно с правами root на неправильном пути, мы можем подойти к точке, откуда нам придется переустанавливать Ubuntu. Поэтому рекомендуется не изменять разрешения вне директорий HOME и выполнять рекурсивные команды, так как root следует избегать, когда это возможно.

Разрешения для файлов

Ubuntu унаследовал концепцию разрешений от Unix, когда для файлов или каталогов есть три задачи, которые мы можем разрешить или запретить:

r (read ) файл / каталог может быть открыт для доступа на чтение. w (write) файл / каталог может быть открыт для доступа для записи / редактирования. Файл x (execute) может выполняться по мере прохождения каталога program /.

(Перемещение каталога по существу означает использование его как части имени пути. См. https://unix.stackexchange.com/a/13891 или https://unix.stackexchange.com/questions/21251 для дополнительных объяснений.)

Кроме того, мы имеем три случая, которым мы предоставляем разрешение:

r (read) файл / каталог может быть открыт для доступа к чтению. r (группа), которому принадлежит файл, получает разрешение. w (write) file / directory может быть открыт для доступа для записи / редактирования.

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

    Permission | Binary | Octal  | User  | Group | Other |
    ======================================================
      r        |  100   |   4    |       |       |       |
      w        |  010   |   2    |       |       |       |
      x        |  001   |   1    |       |       |       |
    =======================================================
    Number

Теперь, если мы хотим, например,

a) владелец файла (= пользователь) прочитал, написал и выполнил b) группа файлов предоставила разрешения на чтение и выполнение, а c) все остальные должны иметь доступ только для чтения.

Тогда получившееся разрешение файла будет:

 u   g   o
rwx r-x r--

To введите это в восьмеричные числа, например. для команды https://unix.stackexchange.com/a/13891 или когда нам нужно понять сообщение об ошибке, нам нужно заполнить таблицу выше:

    Permission | Binary | Octal  | User  | Group | Other |
    ======================================================
      r        |  100   |   4    |   4   |   4   |   4   |
      w        |  010   |   2    |   2   |   0   |   0   |
      x        |  001   |   1    |   1   |   1   |   0   |
    ======================================================
    Numbers add to                   7       5       4     
[d38 ] Каждый номер разрешения должен быть добавлен для подведения итогов для пользователя (4 + 2 + 1 = 7), группы (4 + 0 + 1 = 5) и других (4 + 0 + 0 = 4). В результате получилось следующее:

 u   g   o
 7   5   4

Теперь у нас есть две возможности изменить биты разрешения с chmod:

chmod u+rwx g+rx o+r filename

или гораздо проще с

[ f6]

Обе команды будут делать то же самое.

Предупреждение. Изменение разрешений файлов и каталогов потенциально опасно и может сделать вашу систему непригодной. Когда вы выполняете рекурсивно с правами root на неправильном пути, мы можем подойти к точке, откуда нам придется переустанавливать Ubuntu. Поэтому рекомендуется не изменять разрешения вне директорий HOME и выполнять команды рекурсивно, так как root следует избегать, когда это возможно.

Разрешение по умолчанию для вновь созданного файла в нашем доме будет 664 (-rw-rw-r -).

r (группа), которой принадлежит файл, предоставляется. Когда копируя файл в наш дом, он потеряет свои разрешения, которые будут заменены нашими собственными разрешениями по умолчанию (если только мы не скопируем с использованием дополнительных опций, например, вариант архива). Файл x (execute) может выполняться по мере прохождения каталога program /.

Пользователи и группы

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

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

-rw-rw-r--  1 takkat takkat    4096 Sep 12 20:25 test
Нам разрешено изменять разрешения, группы или права собственности на файл, который является нашим.

Каждый раз, когда мы создаем файл, мы будем владельцем файла, и группа файлов также будет нами. С помощью ls -l мы можем видеть разрешения, право собственности и группу, как видно из следующего примера вывода:

Если мы не являемся владельцем файла, мы получим ошибку Permission denied. Только root может изменить это для всех файлов. Вот почему мы должны использовать sudo при редактировании разрешений файлов, которые не являются нашими. Для этого есть две встроенные команды chown и https://unix.stackexchange.com/questions/21251 для групп.

sudo chown takkat testfile

To измените владельца файла с кем-либо на takkat, мы можем выполнить эту команду:

sudo chgrp takkat testfile

Чтобы изменить группу файлов на takkat, мы выдаем

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

Прочтите manpages команд для более детали и варианты. Кроме того, это более подробное руководство, рекомендуемое для дальнейшего чтения:

Изменение прав доступа и прав на папку Что такое " umask " и как это работает? Как я могу получить разрешения на восьмеричные файлы из командной строки? Как использовать chmod в разделе NTFS (или FAT32)? 'chmod u + x' versus 'chmod + x' Как я могу стать владельцем файла, который исходит от другого компьютера / пользователя?
24
ответ дан 29 May 2018 в 13:07

Другие вопросы по тегам:

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