Не могли бы вы вкратце объяснить основные концепции и инструменты командной строки, используемые для управления правами доступа к файлам?
command-line
permissions
chmod
guillermooo
источник
источник
chown guillermooo
не должно ли это бытьchown guillermooo filename
?Файловые права
Ubuntu унаследовал концепцию разрешений от Unix, когда для файлов или каталогов существует три задачи, которые мы можем разрешить или запретить:
( Обход каталога по сути означает использование его как части имени пути. Дополнительные пояснения см. В https://unix.stackexchange.com/a/13891 или https://unix.stackexchange.com/questions/21251 .)
Кроме того, у нас есть три случая, которым мы даем разрешение:
Теперь, чтобы получить комбинацию этих отсортированных, мы используем двоичную систему, где каждый бит определяет разрешение. Это может быть лучше всего показано в следующей таблице
Теперь, если мы хотим, например,
а) владелец файла (= пользователь) имеет г EAD, ш обряда и е х ecute разрешения,
б) к файлу группа предоставлена г Свинец и е х ecute разрешение, и
в) все остальные должны иметь только г доступ EAD.
Тогда полученное разрешение файла будет:
Чтобы получить это в восьмеричных числах, например. для
chmod
команды или когда нам нужно понять сообщение об ошибке, нам нужно заполнить таблицу выше, как показано ниже:Каждый номер разрешения необходимо добавить для суммирования для пользователя (4 + 2 + 1 = 7), группы (4 + 0 + 1 = 5) и других (4 + 0 + 0 = 4). Полученное число тогда:
Теперь у нас есть две опции для изменения битов разрешения
chmod
:или намного проще с
Обе команды будут делать то же самое.
Если мы хотим, чтобы файлы были исполняемыми как программы, нам придется изменить это разрешение.
Обратите внимание, что нам также придется изменить разрешение каталога, в котором может находиться этот исполняемый файл. Только если установлены оба бита файла и исполняемый файл каталога, нам будет разрешено запускать этот файл как программу.
При копировании файла в наш дом он теряет свои разрешения, которые будут заменены нашими собственными разрешениями по умолчанию (если мы не копируем с использованием расширенных параметров, например, параметра архива).
Также обратите внимание, что файл может наследовать свое разрешение от точки монтирования, соответственно. варианты монтирования. Это важно при монтировании дисков в формате Windows, которые не поддерживают разрешения Unix.
Пользователи и группы
Вскоре мы понимаем, что это была только половина истории. Нам также нужно разобраться с вещами. Для этого у каждого файла или папки есть определенный владелец и определенное членство в группе.
Каждый раз, когда мы создаем файл, мы будем его владельцем, и также будет использоваться его группа. С помощью
ls -l
мы можем видеть разрешения, владельца и группу, как видно из следующего примера вывода:Если мы не являемся владельцем файла, мы получим
Permission denied
ошибку. Только root может изменить это для всех файлов. Вот почему мы должны использоватьsudo
при редактировании разрешения файлов, которые не являются нашими. Для этого есть две встроенные командыchown
для пользователей иchgrp
групп.Чтобы изменить владельца файла с любого на кого-либо,
takkat
мы можем выполнить эту команду:Чтобы изменить группу файла на
takkat
мы выпускаемПрочитайте man-страницы команд для более подробной информации и опций. Есть также это хорошее более сложное руководство, рекомендованное для дальнейшего чтения:
Также найдите несколько связанных вопросов здесь:
источник