Опираясь на опыт работы в Windows, часто пробую что-то делать по аналогии и в Linux. В пределах домашней папки и можно выполнить много действий. В файловой системе можно в основном просматривать файлы и папки, а на изменение не хватает прав. Рассмотрим подробней свойства файлов. Правой кнопкой на файл и выбираем Свойства:
Просмотр атрибутов в графическом режиме
Вкладка «Общие» весьма напоминает соответствующую вкладку в свойствах файла в Windows. Но есть одна недоработка разработчиков Астры: путь «Домашняя/Загрузки/EncryptPad-0_5_0_1.AppImage» неудобен для использования в Терминале, правильный путь «/home/school9/Загрузки/EncryptPad-0_5_0_1.AppImage». Название «Домашняя» Терминалом не воспринимается.
Вкладка «Дискреционные атрибуты» напоминает вкладку «Безопасность» в Windows. Далее смотрим с точки зрения Linux:
Пользователь (владелец файла) — school9, для которого основная группа school9. Далее права (галочки): Чтение — да, Запись — да, Выполнение — да. Группа имеет те же права. Пока пользователь один нас интересует только первая строчка. Всегда есть ещё один пользователь root, имеющий все права на все файлы, даже если он не активирован. От его имени выполняются многие команды с помощью sudo.
Если применить сокращения r — read (читать, чтение), w — write (писать, запись), x — execute (выполнять, выполнение), нет прав — “-“, то итог по атрибутам файла такой: Пользователь: rwx Группа: rwx Остальные: —
Ещё пример с файлом из файловой системы:
Пользователь root. Файл не исполняемый. Просматривать файл могут все. Можно изменять этот файл от имени root.
Аналогично можно посмотреть атрибуты каталогов, но для них Чтение, Запись, Выполнение истолковываются по-другому.
Просмотр атрибутов в Терминале
Рассмотрим те же самые моменты через Терминал. Переходим в ту же папку Загрузки и командой ls -l выводим содержимое каталога с подробной информацией (заодно посмотрим, как работает команда ls с опцией -l:
Первая группа, выделенная красным прямоугольником , содержит информацию об атрибутах файлов (каталогов). Первый символ в каждой строке означает: “-” это просто файл, “d” — директория (каталог, папка). Бывают и другие варианты. Следующие символы показывают права пользователей. Второй красный прямоугольник показывает пользователя — владельца файла.
Для примера и сравнения со свойствами файла в графическом режиме рассмотрим вторую строчку (EncryptPad-0_5_0_1.AppImage):
— означает файл. Далее rwx rwx — означает Пользователь имеет права на Чтение (r), Запись (w), Выполнение (x), основная группа пользователя, именуемая school9, имеет права также rwx (бывает и иначе), у остальных нет прав. После имени группы идёт размер файла в байтах, далее дата изменения файла. Для каталога показан размер без его содержимого.
Ещё раз по поводу прав доступа.
Для файлов:
r — чтение разрешено; w — запись разрешена; x — запуск файла разрешен; “ — “ — действие запрещено.
Для каталогов:
r — просмотр разрешен, например, командой ls;
w — перемещение, удаление и другие действия с файлами данного каталога разрешены;
x — возможность выполнения некоторых действий с файлами каталога и обращения к подкаталогам.
Один пример на изменение атрибутов в графическом режиме.
Взял из архива внутри Образовательного репозитория файл EncryptPad-0_5_0_1.AppImage и попробовал его запустить. Ожидал, что запустится как обычная портабельная программа. Не получилось. Без проблем запускал такой же файл, взятый из другого источника. Сравнив свойства, увидел отсутствие галочек в атрибутах в столбике Выполнение:
Поставил, сохранил и всё заработало.
Сейчас я понимаю, почему мне удалось сохранить атрибуты — пользователь имел права на изменение файла, значит, мог изменять и свойства (атрибуты) файла.