Вывести список файлов имеющих доступ для групп пользователей по чтению awk

Обновлено: 06.07.2024

Подробное объяснение команд инструментов awk, sort и uniq в оболочке

Каталог статей

инструменты awk

Формат команды, используемый awk, одинарные кавычки и фигурные скобки "<>" используются для установки действий по обработке данных. Awk может обрабатывать целевой файл напрямую или читать сценарий через «-f» для обработки целевого файла.

awk option ‘mode or condition ’ file 1 file 2 // фильтровать и выводить содержимое файла condition

awk -f script file file 1 file 2 // вызвать инструкции редактирования из сценария, фильтровать и выводить содержимое

Awk имеет тенденцию разделять строку на несколько «полей», а затем обрабатывать ее, и по умолчаниюРазделитель полей - пробел или табуляция. Результат выполнения awk можно распечатать и отобразить с помощью функции печати. В процессе использования команды awk вы можете использовать логический оператор «&&», что означает «и», «||» означает «или», а «!» Означает «нет»; вы также можете выполнять простые математические операции, такие как +, -, *, /,%, ^ представляют собой сложение, вычитание, умножение, деление, остаток и степень соответственно.

Используйте команду awk, чтобы узнать имя пользователя, идентификатор пользователя, идентификатор группы и другие столбцы / etc / passwd


Awk считывает информацию из входного файла или стандартного ввода.Как и sed, информация считывается построчно. Разница в том, что awk рассматривает строку в текстовом файле как запись и рассматривает определенную часть (столбец) в строке как поле (домен) в записи. Awk заимствует метод, аналогичный позиционным переменным в оболочке, используя $ 1, $ 2, $ 3 . для последовательного указания различных полей в строке (записи). Кроме того, awk использует $ 0 для обозначения всей строки (записи). Указываются разные поля Разделение символов. Разделителем по умолчанию для awk является пробел. Awk позволяет вам указать разделитель в виде «-F разделитель» в командной строке.

Схема принципа работы awk:


Awk содержит несколько специальных встроенных переменных (которые можно использовать напрямую) следующим образом:

FS: укажите разделитель полей для каждой строки текста, по умолчанию используется пробел или позиция табуляции (табуляция).

NF: количество полей в текущей обрабатываемой строке. // Ссылается на столбец

NR: номер строки (порядковый номер) строки, обрабатываемой в данный момент. // Относится к строке

$ 0: все содержимое строки текущей обрабатываемой строки.

$ n: n-е поле (n-й столбец) текущей обрабатываемой строки.

FILENAME: имя обрабатываемого файла.

RS: разделение записей данных, по умолчанию - \ n, то есть по одной записи на строку.

Операционная команда записывается внутри фигурных скобок <>, вне скобок, в одинарных кавычках

Вывести все нечетные строки


Вывести все четные строки

Вывод нечетных / четных строк awk является абсолютным

Выходные нечетные / четные строки Sed являются относительными

1. Вывод текста построчно

// Выводим весь контент, эквивалентный cat test.txt


// Выводим весь контент, эквивалентный cat test.txt


awk ‘NR 1,NR 3’ test.txt

// Выводим содержимое с первой по третью строки


// Выводим содержимое с первой по третью строки


awk ‘NR 1||NR 3’ test.txt

// вывод первой и третьей строк


// Выводим содержимое всех нечетных строк


// Выводим содержимое всех четных строк


// Выводим строки, начинающиеся с корня


awk ‘/nologin$/’ /etc/passwd

// выводим строки, заканчивающиеся на nologin


awk ‘BEGIN ; //bin/bash$/;END ’ /etc/passwd

// Подсчитываем количество строк, заканчивающихся на / bin / bash, что эквивалентно grep -c "/ bin / bash $" / etc / passwd


// Подсчитываем количество абзацев текста, разделенных пустыми строками


2. Вывод текста по полю

// Выводим третье поле в каждой строке (разделенное пробелами или табуляцией)


// Выводим первое и третье поля в каждой строке


// Выводим теневую запись пользователя, пароль которого пуст



// Выводим теневую запись пользователя, пароль которого пуст



// Выводим первое поле строки через двоеточие, а седьмое поле содержит / bash


" Означает: include, ключ для включения должен использовать "" двойные кавычки.

// Выводим первое и второе поля строки, которая содержит 8 полей, а первое поле содержит nfs


// Выводим все строки, в которых седьмое поле не соответствует ни / bin / bash, ни / sbin / nologin


3. Вызов команд оболочки через конвейер и двойные кавычки.

// Вызов команды wc -l для подсчета количества пользователей, использующих bash, что эквивалентно grep -c "bash $" / etc / passwd


// Вызов команды w и ее использование для подсчета количества онлайн-пользователей


// Вызов имени хоста и вывод текущего имени хоста



// Вызов имени хоста и вывод текущего имени хоста

инструмент сортировки (сортировка)

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

Синтаксис команды сортировки:

Обычно используемые варианты включают:

-f: игнорировать регистр

-b: игнорировать пробелы перед каждой строкой

-M: Сортировать по месяцам

-n: сортировать по номеру

-r: обратная сортировка

-u: эквивалент uniq, что означает, что отображается только одна строка с одинаковыми данными

-t: указать разделитель, использовать [Tab] для разделения по умолчанию

-o <выходной файл>: выгрузить отсортированные результаты в указанный файл

-k: указать область сортировки

1. Сортировать по первой букве (та же первая буква будет сравнивать вторую букву)

Отсортируйте учетные записи в файле / etc / passwd: sort / etc / passwd


2. Сортировка по знаку и обратная сортировка

Отсортируйте третий столбец в файле / etc / passwd в обратном порядке: sort -t ‘:’ -rk 3 / etc / passwd


3. Отсортируйте и сохраните как файл.

Отсортируйте третий столбец в файле / etc / passwd и сохраните вывод в файл user.txt.

sort -t ‘:’ -k 3 /etc/passwd -o user.txt



инструмент uniq (дедупликация)

Uniq обычно используется вместе с командой сортировки, чтобы сообщать или игнорировать повторяющиеся строки в файле.

GNU/Linux как любая Unix-подобная операционная система является многопользовательской. Это значит, что в системе могут работать одновременно или по-очереди несколько или множество пользователей. У каждого из них должно быть собственное файловое пространство, доступ к которому других пользователей ограничен.

Отсюда вытекает, что у любого файла в Linux должны быть специальные атрибуты – права на доступ. Эти атрибуты должны сообщать, кто имеет право работать с файлом.

Выделяют три категории пользователей, которым могут предоставляться права на файл:

Сам владелец (u – user) объекта – конкретный пользователь, чье имя числится в атрибутах файла как имя владельца этого файла. Обычно если пользователь создает файл, то он автоматически записывается как его владелец.

Группа (g – group), к которой принадлежит владелец файла. Когда в Linux создается пользователь, то для него создается одноименная группа. Однако средствами администрирования системы можно объединять пользователей в различные группы. При этом конкретный пользователь может входить в состав нескольких групп. Группы позволяют предоставлять права доступа к ресурсам сразу нескольким людям, но при этом ограниченному кругу лиц.

Все остальные (o – other) – это все те, кто не является владельцем файла и не принадлежит к группе владельца файла. То есть любой посторонний пользователь.

Права на файл могут изменять только владелец этого файла и суперпользователь.

Чтение, запись, выполнение

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

Право на запись (w – write) позволяет изменять файл, то есть дописывать в него информацию или заменять ее другой.

Право на исполнение (x – execution) имеет смысл не для всех файлов, хотя может быть установлено для любого. Это право позволяет исполнять файл как программу, при этом в файле должны быть записаны инструкции для процессора, то есть файл должен быть исполняемой программой.

Буквенная запись прав доступа

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

Первые три записи – это права владельца , вторые три записи – права группы , последняя тройка – права на файл для всех остальных . Если обозначить каждое право соответствующей буквой, и все права всем предоставляются, то получится такая запись:

Мы уже видели нечто подобно в выводе команды ls -l . В первом столбце, после символа типа файла указываются права доступа к файлу в буквенной нотации.

Если какое-либо право не предоставляется той или иной категории, то вместо буквы ставится знак минус. Например, на скрине выше файл text.txt все могут читать, но изменять – только владелец.

Запись прав доступа с помощью чисел

Записывать права доступа можно не только с помощью букв. Если положительное значение права (когда доступ есть) обозначать единицей, а отрицательное (доступа нет) – нулем, то получим такую картину для файла, который могут все читать, но изменять только владелец:

Именно с помощью нулей и единиц хранятся данные в памяти компьютера, в том числе атрибуты доступа. Под права выделяются 9 бит в атрибутах файла, каждый бит хранит ноль или единицу.

Однако запись из девяти символов достаточно длинная. Чтобы ее сократить, используют преобразование двоичных чисел в восьмеричные. Триады нулей и единиц двоичной системы как раз составляют значения от 0 до 7 в восьмеричной системе счисления. Поэтому права доступа трех категорий (владельца, группы, остальных) можно выразить как три независимых друг от друга числа от 0 до 7-ми.

Не все числа имеют смысл. Трудно представить файл, который можно изменять, но нельзя прочитать. Часто используемые числа, которые полезно запомнить: 4 – только чтение, 5 – чтение и выполнение, 6 – чтение и запись, 7 – все права.

Права доступа к каталогам

Каталог в Linux – это особый тип файла, смысловым содержанием которого является список других файлов.

Каталоги имеют те же биты прав, что и остальные файлы. Однако то, что эти права означают, в случае каталогов накладывает определенную специфику.

Право на чтение в случае каталога означает лишь возможность узнавать список содержащихся в нем файлов. При этом что-то узнать о свойствах файлов (размере, датах, правах) не получится.

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

Однако право на выполнение для каталога не дает права изменять имена файлов в этом каталоге. Ведь таким образом мы меняли бы данные самого каталога, а для этого нужно право на изменение самого каталога.

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

На скрине создается каталог и в нем файл. С помощью команды chmod (рассматривается в следующем уроке) у каталога убираются права на чтение и запись для всех. После этого мы не можем просматривать его содержимое с помощью команды ls. Однако можем обращаться к находящемуся в нем файлу. Также можно перейти в каталог, то есть сделать его текущим (на скрине не показано).

Если каталог можно изменять (право на запись), то можно изменять состав файлов в нем, то есть можно удалять, переименовывать файлы, создавать новые. Причем все это возможно даже с файлами, доступ к которым запрещен для данной категории. Это создает дополнительную опасность, которая "лечится" вводом для каталогов дополнительного t-бита. При его наличии пользователь может выполнять файловые операции только со своими файлами.

Отметим пару вытекающих из вышесказанного особенностей:

Доступ к конкретному файлу зависит от наличия доступа на исполнение к каталогам на протяжении всего пути.

Изменять существующие файлы можно, не имея доступа на запись в каталог, достаточно иметь доступ на запись самого файла.

Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.

В данной статье подробно рассмотрим права доступа к каталогам и файлам в Linux. А также расскажу о том, как можно изменить права и владельца на файлы и директории в Linux.

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

Просмотр прав доступа на файлы и каталоги в Linux.

Прежде, чем двигаться далее, советую прочитать первую статью (если Вы этого не сделали, конечно) данного цикла про навигацию в терминале.

Для статьи я создал несколько файлов и каталогов в домашней папке.

Для того, чтобы просмотреть права доступа на файлы и каталоги в нужной директории, переходим в неё и выполняем команду:

Просмотр прав доступа на файлы и каталоги в Linux

Как видно, для наших файлов и каталогов вывелась подробная информация.

Слева отображены права доступа на файл и директорию вида:

Чуть ниже подробно разберём это "непонятную" надпись, а пока двигаемся дальше.

Для того, чтобы просмотреть права доступа на определенный файл, нужно ввести следующую команду:

Вот как это выглядит:

Просмотр прав доступа на файлы и каталоги в Linux

Для того, чтобы просмотреть права доступа на определенный каталог, вводим следующую команду:

Выглядит это следующим образом:

Просмотр прав доступа на файлы и каталоги в Linux

Для того, чтобы просмотреть права доступа на директории и файлы рекурсивно внутри каталога, нужно ввести следующую команду, перейдя в нужный каталог:

либо ввести каталог:

Выглядит это следующим образом:

Просмотр прав доступа на файлы и каталоги в Linux

Расшифровка "символьной формы" прав доступа на каталоги и файлы в Linux.

Будем использовать в качестве примера в этом пункте.

Это символьная форма прав доступа в Linux. Давайте разберем её подробно.

Первый символ обозначает тип данных.

Данный символ может быть следующим:

В большинстве случаев это будет:

- обычный файл;
d директория/каталог/папка (directory);
l символическая ссылка (link).

Но может быть следующим:

b файл блочного устройства (block);
c файл символьного устройства;
s доменное гнездо (socket);
p именованный канал (pipe).

Следовательно, в нашем случае это директория (каталог, папка).

Следующие 9 символов обозначают права доступа.

Данные 9 символов состоят из трех групп:

  • Первая группа из трех символов обозначает права доступа владельца файла или директории (u - user).
  • Вторая группа из трех символов обозначает права доступа на файл или директорию для системной группы (g - group).
  • Третья группа из трех символов обозначает права доступа на файл или директорию для всех остальных (o - other).

У этих трёх групп одинаковая комбинация символов, то есть:

Что же они обозначают?

Очень легко запомнить:

r read, то есть, право доступа на чтение файла или директории.
w write, то есть, право на изменение и удаление файла или директории.
x eXecute, то есть, право на запуск файла как программы или вход в директорию.

Всегда располагаются в таком порядке:

Если вместо какого-то символа идёт тире (минус), к примеру:

то это значит, что отсутствуют права на изменение и удаление файла или директории.

то это обозначает, что отсутствуют права на изменение и запуск файла или директории. Доступен только просмотр.

Таким образом, из нашего примера:

Как видите, ничего сложного нет.

Определение владельца и группы файла или директории.

Но у Вас может возникнуть закономерный вопрос о том, а как же узнать, кто именно является владельцем файла и какая группа?

Те же самые команды из первого пункта:

Определение владельца и группы файла или директории

Как видно на скриншоте:

  • в третей колонке идет имя владельца файла;
  • в четвертой колонке идет название группы.

Следовательно, если пользователь не владелец файла, но входит в группу, то у него будут права на файл или директорию этой самой группы.

В Nautilus (файловом менеджере Ubuntu), можно нажать правой кнопкой мыши на файле, открыть свойства, перейти на вкладку "Права" и увидеть:

Определение владельца и группы файла или директории

Здесь в графическом режиме видны права доступа, владелец и группа. И если Вы являетесь владельцем файла или директории, то Вы можете изменять права доступа.

Подробно разобрали просмотр прав доступа на файлы и каталоги Linux.

Теперь приступим к их изменению в терминале.

Изменение прав доступа на файлы и каталоги в Linux в символьном режиме.

Для того, чтобы изменить права доступа, воспользуйтесь следующим шаблоном:

Вместо persons нужно использовать совокупность символов или один из:

u user, пользователь, владелец файла или директории.
g group, группа файла или директории.
o other, все другие.
a all, то есть, все вместе взятые - владелец, группа и все остальные.

Этот символ обозначает субъект, которому будут назначены, удалены или изменены права.

Вместо Operator, может быть один из следующих символов:

+ "плюс", добавляем нужные права.
- "минус", удаляем нужные права.
= "равно", устанавливаем нужные права.

Этот символ обозначает оператор, от которого зависит, будут ли добавлены, удалены или установлены нужные права, которые последуют за оператором.

Вместо Rights перечисляем символы прав доступа:

r read - чтение.
w write - запись.
x eXecute - выполнение.

Важно замечание.

Здесь идёт цепочка из трёх перечисленных символов, но в определённом порядке rwx. Но при этом, не нужно указывать тире для пропуска. Примеры: rwx, rw, wx, rx, r, w, x.

Вместо имяфайлаилиимядиректории указываем путь к файлу или директории.

Для рекурсивного изменения прав в каталоге используется параметр -R.

То есть, если нужно изменить права всех файлов и папок внутри указанной нами директории, то после chmod просто указываем параметр -R. Выглядит это следующим образом:

Важно.

Если Вы не являетесь владельцем файла или директории или у вас нет прав на изменение файла, то нужно будет использовать права суперпользователя:

Приступим к практике. Разберём примеры.

1. Убираем права для группы на изменение файла:

Убираем права для группы на изменение файла

2. Убираем права на чтение у группы и всех остальных:

Убираем права для группы на изменение файла

3. Добавим для группы права на чтение и изменение:

Убираем права для группы на изменение файла

4. Изменим рекурсивно права на файлы и директории внутри нужной директории. Отменим, к примеру, все права у остальных пользователей и групп:

Убираем права для группы на изменение файла

Вы, наверное, зачастую видели команду:

Это значит, что мы даём права на выполнение данного файла как программы всем.

Это аналогично следующим командам:

То есть, если мы хотим изменить права файл или директорию для всех, мы можем не писать кому. Просто оператор и права.

Изменение прав доступа на файлы и каталоги в абсолютном режиме.

Есть более простой способ изменение прав доступа на файлы и каталоги в Linux. Это изменение прав доступа в числовом представлении.

Думаю, что многие из вас видели на форумах или сайтах о Linux советы по изменению прав, вида:

Вы их выполняли в терминале. А многие из вас задумывались, что это за "магические цифры". Но на самом деле никакая это не магия.

Давайте разберем, что же значат эти цифры.

Итак, у нас есть комбинация прав доступа на директорию:

А теперь делим на группы:

Теперь преобразуем в двоичном виде наши права доступа:

  • если есть символ, то это 1.
  • если тире (пропуск), то это 0.

Следовательно, наша комбинация будет выглядеть следующим образом:

А теперь переведем из двоичной в восьмеричную систему исчисления:

Вот и получили наше "магическое" число 775.

Более проще запомнить:

r это 4
w это 2
x это 1

Каждая цифра обозначает определенную группу:

  • Первая цифра - права для владельца,
  • вторая цифра - права для группы,
  • третья цифра - права для остальных.

Просто прибавляем цифры. К примеру, нам нужно чтение r и изменение w. Прибавляем 4+2, получаем 6.

Если хотим выдать полные права только владельцу файла, а остальным убрать все:

Изменение прав доступа на файлы и каталоги в абсолютном режиме

Вот так меняются права в абсолютном (числовом) режиме.

Изменение владельца и группы файла или каталога.

Для изменения владельца и группы файла или каталога есть команда chown.

Используется следующий шаблон выполнения данной команды chown:

Если хотим изменить только группу, то шаблон следующий:

Если хотим изменить только владельца, то шаблон следующий:

В принципе, ничего сложного.

Чтобы узнать имя текущего пользователя, используется команда:

Чтобы узнать в каких группах состоит текущий пользователь:

Получить список пользователей:

Получить группы конкретного пользователя (вместо user_name ввести имя пользователя):

В операционной системе Linux есть много отличных функций безопасности, но она из самых важных - это система прав доступа к файлам. Linux, как последователь идеологии ядра Linux в отличие от Windows, изначально проектировался как многопользовательская система, поэтому права доступа к файлам в linux продуманы очень хорошо.

И это очень важно, потому что локальный доступ к файлам для всех программ и всех пользователей позволил бы вирусам без проблем уничтожить систему. Но новым пользователям могут показаться очень сложными новые права на файлы в linux, которые очень сильно отличаются от того, что мы привыкли видеть в Windows. В этой статье мы попытаемся разобраться в том как работают права файлов в linux, а также как их изменять и устанавливать.

Основные права доступа к файлам в Linux

Изначально каждый файл имел три параметра доступа. Вот они:

  • Чтение - разрешает получать содержимое файла, но на запись нет. Для каталога позволяет получить список файлов и каталогов, расположенных в нем;
  • Запись - разрешает записывать новые данные в файл или изменять существующие, а также позволяет создавать и изменять файлы и каталоги;
  • Выполнение - вы не можете выполнить программу, если у нее нет флага выполнения. Этот атрибут устанавливается для всех программ и скриптов, именно с помощью него система может понять, что этот файл нужно запускать как программу.

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

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

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

Но со временем такой системы стало не хватать и было добавлено еще несколько флагов, которые позволяют делать файлы не изменяемыми или же выполнять от имени суперпользователя, их мы рассмотрим ниже:

Специальные права доступа к файлам в Linux

Для того, чтобы позволить обычным пользователям выполнять программы от имени суперпользователя без знания его пароля была придумана такая вещь, как SUID и SGID биты. Рассмотрим эти полномочия подробнее.

  • SUID - если этот бит установлен, то при выполнении программы, id пользователя, от которого она запущена заменяется на id владельца файла. Фактически, это позволяет обычным пользователям запускать программы от имени суперпользователя;
  • SGID - этот флаг работает аналогичным образом, только разница в том, что пользователь считается членом группы, с которой связан файл, а не групп, к которым он действительно принадлежит. Если SGID флаг установлен на каталог, все файлы, созданные в нем, будут связаны с группой каталога, а не пользователя. Такое поведение используется для организации общих папок;
  • Sticky-bit - этот бит тоже используется для создания общих папок. Если он установлен, то пользователи могут только создавать, читать и выполнять файлы, но не могут удалять файлы, принадлежащие другим пользователям.

Теперь давайте рассмотрим как посмотреть и изменить права на файлы в Linux.

Как посмотреть права доступа к файлам в Linux

Конечно, вы можете посмотреть права доступа к файлам в Linux с помощью файлового менеджера. Все они поддерживают эту функцию, но так вы получите неполную информацию. Для максимально подробной информации обо всех флагах, в том числе специальных, нужно использовать команду ls с параметром -l. Все файлы из каталога будут выведены в виде списка, и там будут показаны все атрибуты и биты.

Чтобы узнать права на файл linux выполните такую команду, в папке где находится этот файл:

perm

За права файлов в linux тут отвечают черточки. Первая это тип файла, который рассмотрен в отдельной статье. Дальше же идут группы прав сначала для владельца, для группы и для всех остальных. Всего девять черточек на права и одна на тип.

Рассмотрим подробнее, что значат условные значения флагов прав:

  • --- - нет прав, совсем;
  • --x - разрешено только выполнение файла, как программы но не изменение и не чтение;
  • -w- - разрешена только запись и изменение файла;
  • -wx - разрешено изменение и выполнение, но в случае с каталогом, вы не можете посмотреть его содержимое;
  • r-- - права только на чтение;
  • r-x - только чтение и выполнение, без права на запись;
  • rw- - права на чтение и запись, но без выполнения;
  • rwx - все права;
  • --s - установлен SUID или SGID бит, первый отображается в поле для владельца, второй для группы;
  • --t - установлен sticky-bit, а значит пользователи не могут удалить этот файл.

В нашем примере, файл test1 имеет типичные разрешения для программ, владелец может все, группа только чтение и выполнение, а все остальные - только выполнение. Для test2 дополнительно установлен флаг SUID и SGID. А для папки test3 установлен Sticky-bit. Файл test4 доступный всем. Теперь вы знаете как посмотреть права на файл linux.

Как изменить права файла в Linux

Чтобы изменить права на файл в linux вы можете использовать утилиту chmod. Она позволяет менять все флаги, включая специальные. Рассмотрим ее синтаксис:

$ chmod опции категория действие флаг файл

Опции сейчас нас интересовать не будут, разве что только одна. С помощью опции -R вы можете заставить программу применять изменения ко всем файлам и каталогам рекурсивно.

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

Действие может быть одно из двух, либо добавить - знак "+", либо убрать - знак - "-". Что касается самих прав доступа, то они аналогичны выводу утилиты ls: r - чтение, w - запись, x - выполнение, s - suid/sgid, в зависимости от категории, для которой вы его устанавливаете, t - устанавливает sticky-bit. Например, всем пользователям полный доступ к файлу test5:

chmod ugo+rwx test5

Или заберем все права у группы и остальных пользователей:

chmod go-rwx test5

Дадим группе право на чтение и выполнение:

chmod g+rx test5

Остальным пользователям только чтение:

Для файла test6 установим SUID:

А для test7 - SGID:

Посмотрим что получилось:

perm1

Как видите, изменить права на файл в Linux очень просто. К тому же вы можете изменить основные права с помощью файлового менеджера.

Выводы

Вот и все, теперь вы знаете не только что такое права доступа к файлам в Linux, но и как их посмотреть, и даже как их изменить. Это очень важная тема, в которой действительно стоит разобраться новичкам, чтобы использовать свою систему более полноценно. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение хочу предложить неплохое видео про права доступа в Linux:

Читайте также: