Изменить права на папки

Содержание

Как изменить Права Доступа в Linux

Изменить права на папки

VPS

access_time

8 декабря, 2020

hourglass_empty

4мин. чтения

В этом руководстве вы научитесь изменять права доступа в Linux / Unix и устанавливать нового владельца файла/папки через командную строку. Существует 2 базовые команды, которые могут быть использованы для данных целей: chmod и chown.

Прокачайте ваш Linux сервер, воспользовавшись скидками на VPS-хостинг в Hostinger!

К предложению

Перед тем, как вы начнете это руководство, вам понадобится следующее:

  • Доступ к командной строке

Шаг 1 – Как изменить права доступа в Linux через командную строку

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

ТипОбъяснение
Владелец (owner)Пользователь, создавший и владеющий данным файлом или папкой.
Группа (group)Все пользователи, члены одной группы.
Другие (other)Все другие пользователи в системе, не являющиеся ни владельцами, ни членами группы.

Команда ls -l, может быть использована для отображения прав доступа и владельца. К примеру, команда ls -l file1.txt отобразит:

-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

  • “-rwxr–rw-“ –  эта часть строки показывает права доступа. Здесь 4 главные буквы на которые вам надо обратить внимание: r,w,x,d. d означает, что тип файла — это каталог. В нашем примере, такой буквы нет (она стояла бы первой в строке), здесь вместо нее стоит символ “-“ (который в основном означает “нет”). Буква x означает разрешение на выполнение файла или папки (это разрешение необходимо для входа в папку). Буква w означает разрешение на запись файла или папки (редактирование, удаление и т.д.) И наконец последняя буква r, которая означает чтение. Если у вас есть права на чтение файла, вы можете прочесть содержимое файла, но не сможете предпринять другие действия (к примеру, вы можете прочитать код скрипта, но не сможете выполнить его).
  • 1 – число хард связи. Проще говоря, хард связь это дополнительное имя для существующего файла.
  • user user – это значение показывает владельца файла и его группу.
  • 0 – это значение показывает размер файла.
  • Jan 19 12:59 – отображает дату последнего изменения.
  • file1.txt – предоставляет имя файла или папки.

Хорошо, теперь давайте вернемся к команде chmod. Это команда позволяет нам изменить права доступа к файлу или папке. Мы научим вас, как это сделать просто складывая номера. Каждое из прав доступа имеет свой собственный номер:

  • r (чтение) – 4
  • w (запись) – 2
  • x (выполнение) – 1

К примеру, если мы хотим изменить права доступа к файлу file1.txt на эти:

-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

Мы должны написать следующую команду:

chmod 746 file1.txt

Каждый номер в этой команде представляет собой права для одного из типов пользователей (владелец, группа и другие). Первый номер 7. Теперь, используя объяснение числовых значений выше, единственный вариант для получения числа 7 — сложение чисел 4, 2 и 1, получаем 4+2+1=7.

Проще говоря, это означает ВСЕ права доступа (чтение, запись, выполнение — rwx). Первый номер устанавливает права доступа для владельца файла.

Второй номер 4, который означает права доступа -r (чтение), устанавливает права доступа для группы владельца.

Третий номер 6, используя тот же способ, что и с первым номером, 4+2=6, дает группе другие, права на чтение (4) и запись (2) файла. Третья часть в команде (file1.txt) – это имя файла для которого мы изменяем права доступа.

Еще один пример:

chmod 777 file2.txt

эта команда даст все права для каждого типа пользователей (владелец, группа и другие).

Вот список самых наиболее распространённых прав доступа для файлов:

ЗначениеЦифровое значениеОбъяснение
-rw——-600Владелец может читать и записывать файл.
-rw-r–r–644Владелец может читать и записывать файл, группа и другие могут только читать.
-rw-rw-rw-666Владелец, группа и другие могут читать и записывать.
-rwx——700Владелец может читать, записывать и выполнять, группа и другие не имеют никаких прав доступа.
-rwx–x–x711Владелец может читать, записывать и выполнять, группа и другие могут только выполнять.
-rwxr-xr-x755Владелец может читать, записывать и выполнять, группа и другие могут читать и выполнять.
-rwxrwxrwx777Все типы пользователей могут читать, записывать и выполнять.

Наиболее распространенные права доступа для каталогов:

ЗначениеЦифровое значениеОбъяснение
drwx——700Только владелец может читать и записывать в этом каталоге.
drwxr-xr-x755Владелец, группа и другие могут читать каталог, но только владелец может изменять содержимое.

Существуют и другие способы изменения прав доступа в Linux, используя команду chmod. Но нашей персональной рекомендацией станет, изучение одной из этих команд и её использование (в этом случае способ с номерами). Если вы хотите узнать больше о других путях изменения прав доступа, вы можете прочитать об этом здесь.

Шаг 2 – Изменение владельца файла или папки через командную строку

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

chown [владелец/группа владельца] [имя файла]

К примеру, если у нас есть файл “demo.txt” и мы хотим изменить владельца на “jerry” и группу владельца на “clients”, нам необходима эта команда:

chown jerry:clients demo.txt

Как вы видите, мы отделили владельца и группу владельца символом “:” (двоеточие). Если мы хотим поменять только владельца файла, используем этот код:

chown jerry demo.txt

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

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

chown :clients demo.txt

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

Шаг 3 – Использование дополнительных опций с командами chmod и chown

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

ВАЖНО! Будьте очень осторожны с этой опцией, если вы используете ее неправильно, вы можете изменить права доступа и владельца ВСЕХ файлов в вашей системе, что приведет к ошибкам в работе и трате огромного количества времени на откат изменений.

Другие опции для “chmod” и “chown”:

  • “-f” – тихая или силовая опция. При использовании данной опции скроет большинство сообщений об ошибках.
  • “-v” – делает диагностику каждого файла затронутого командой.
  • “-c” – схожа с опцией -v, но предоставляет информацию только в случае реальных изменений.

Заключение

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

Источник: https://www.hostinger.ru/rukovodstva/kak-izmenit-prava-dostupa-v-linux

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

Изменить права на папки

 »  Безопасность  »  Права доступа к файлам и папкам

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

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

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

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

Что такое права доступа

Права доступа состоят из двух категорий — Действия и Группы пользователей.

Действия:

  • Чтение — разрешен доступ к файлу только для его просмотра,
  • Запись — разрешено изменение файла,
  • Исполнение — разрешен доступ к файлу для запуска программ или скриптов, записанных в этом файле.

Группы пользователей:

  • Пользователь — владелец сайта,
  • Группа — другие пользователи сайта, у которых есть доступ к файлам, которые выбрал Пользователь.
  • Мир — любой другой пользователь, у которого есть доступ к Интернету.

Права доступа состоят из 3-х цифр:

  • Первая цифра — доступ Пользователя к действиям над файлом,
  • Вторая цифра — доступ Группы к действиям с файлом,
  • Третья цифра — доступ Мира к файлу.

Каждой цифре соответствует действие или несколько действий:

  • 0 — нет доступа,
  • 1 — исполнение,
  • 2 — запись,
  • 3 — запись и исполнение,
  • 4 — чтение,
  • 5 — чтение и исполнение,
  • 6 — чтение и запись,
  • 7 — чтение, запись и исполнение.

Например, право доступа 644 означает, что у Пользователя есть право читать и записывать в файл информацию, у Группы есть право просматривать файл, и у Мира есть право просматривать файл.

Самое меньшее право, которое можно дать файлу — 444, то есть Пользователь, Группа и Мир могут только читать содержимое файла.

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

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

  • Пользователь — Чтение (4), Запись (2), Исполнение (1), 4 + 2 + 1 = 7
  • Группа — Чтение (4), Запись (2), 4 + 2 = 6
  • Мир — только Чтение (4).

Права доступа к этому файлу будут 764.

Если вы смотрите на файлы через FTP или SSH, права доступа выглядят по-другому, :

Буквы означают действия: r = read (чтение), w = write (запись), x = execute (исполнение).

d означает директория; «—» означает отсутствие прав (или отсутствие директории, т.е. файл).

В этом случае у первых трех папок стоят права 700, у всех остальных файлов — права 700, кроме файла wp-config.php, у которого права доступа 600.

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

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

Минимальные права, рекомендованные Кодексом Вордпресс:

  • Файлы — 644
  • Папки — 755
  • wp-config.php — 400 или 440 (если сервер относится к Пользователю или Группе)

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

  1. Корневая папка сайта — /сайт.ru/public_html/ — 750
  2. .htaccess — /сайт.ru/public_html/.htaccess — 640
  3. wp-admin/ — /сайт.ru/public_html/wp-admin — 750
  4. wp-admin/js/ — /сайт.ru/public_html/wp-admin/js/ — 750
  5. wp-admin/index.php — /сайт.ru/public_html/wp-admin/index.php — 640
  6. wp-content/ — /сайт.ru/public_html/wp-content — 750
  7. wp-content/themes/ — /сайт.ru/public_html/wp-content/themes — 750
  8. wp-content/plugins/ — /сайт.ru/public_html/wp-content/plugins — 750
  9. wp-includes/ — /сайт.ru/public_html/wp-includes — 750

Права доступа к файлам есть только на Linux и Unix серверах, на серверах Windows их нет.

Как изменить права доступа

1. Можно автоматически установить права доступа ко всем файлам и папкам в файле wp-config.php:

  • Не забудьте изменить права доступа к файлу wp-config.php на 400 или 440.

2. Зайдите в файл-менеджер на хостинг-панели:

Нажмите правой кнопкой на папке или файле, выберите Изменить атрибуты:

На других хостингах может быть другой интерфейс, но делается аналогично.

3. Другой способ изменить права доступа — через FTP клиент. Подключитесь к своему серверу, выберите нужный файл, нажмите правую кнопку мыши:

Выберите права

Поставьте галочки, числовое значение изменится автоматически, и наоборот.

4. Еще один способ — изменить права доступа через SSH. Откройте терминал, введите эти команды.

Для папок:

find /путь/к/вашей/папке/ -type d -exec chmod 755 {} \;

Для файлов:

find /путь/к/вашему/файлу/ -type f -exec chmod 644 {} \;

Замените /путь/к/вашей/папке/ и /путь/к/вашему/файлу/ на свой адрес. В этом примере папка получила права доступа 755, файл получил права доступа 644.

Надеюсь, статья была полезна, оставляйте комментарии.

Источник: https://techbear.ru/prava-dostupa-k-faylam-i-papkam/

Права на файлы и папки

Изменить права на папки

У каждого файла и папки есть 3 атрибута (права) доступа:

  1. Право на чтение (обозначается буквой «r» от английского «read»).
  2. Право на редактирование и запись в файл (обозначается буквой «w» от английского «write»).
  3. Право на исполнение (запуск) скрипта (обозначается буквой «x» от английского «eXecute»). На виртуальном хостинге право на исполнение применимо только к папкам и CGI-скриптам. Для обычных файлов (HTML-страницы, картинки, PHP скрипты и т.п.) право на исполнение не будет применяться.

Для папок эти атрибуты означают:

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

Существует несколько способов записи прав доступа: буквенная и цифровая записи. Ниже приведены соответствия двух типов записи:

Цифровая записьБуквенная записьПрава
«0»Ничего не разрешено
1–xИсполнение
2-w-Запись
3-wxЗапись и исполнение
4r–Чтение
5r-xЧтение и исполнение
6rw-Чтение и запись
7rwxЧтение, запись и исполнение

Категории пользователей

Для каждого файла (и папки) существует 3 категории пользователей:

  1. Владелец файла (папки).
  2. Группа пользователей, в которую входит владелец.
  3. Все остальные пользователи.

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

Если используется цифровая запись, первая цифра определяет права владельца, вторая — права группы, третья — права всех остальных пользователей.

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

Примеры прав доступа в цифровой и буквенной записях и пояснения к ним:

ЦифроваяБуквеннаяВладелецГруппаВсе остальные
755rwxr-xr-xполный доступчтение и исполнениечтение и исполнение
644rw-r–r–запись и чтениетолько чтениетолько чтение
555r-xr-xr-xчтение и исполнениечтение и исполнениечтение и исполнение

Какие права следует выставлять

Обычно корректными правами для папок являются «755», а для файлов — «644», но возможны исключения, о которых должен знать разработчик сайта. Также информацию по используемым атрибутам доступа можно найти в документации или на тематических форумах используемой вами CMS.

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

Изменить права доступа к файлу или папке можно двумя способами: в панели управления хостингом и по SSH.

Изменение прав в панели управления хостингом

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

  1. 2. Перейдите в раздел «Менеджер файлов» — «WWW». Выберите необходимый файл/папку из списка.
  2. 3.

    Кликните по папке или файлу и нажмите Атрибуты:

  3. 4.

    В открывшемся окне установите необходимые права:

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

    Для сохранения изменений нажмите Ок.

  1. 2.

    В разделе «Файлы» перейдите в Диспетчер файлов. Далее перейдите к необходимой папке или файлу:

  2. 3.

    Чтобы изменить права отдельных папки или файла, кликните в столбце «Permissions» и задайте необходимые. Для сохранения нажмите Save:

  3. 4.

    Для массового изменения нажмите Выбрать все а затем Разрешения:

    В появившемся окне установите необходимые права и нажмите Change Permissions:

  1. 1.

    Перейдите в корневой каталог вашего сайта:

  2. 2.

    Возле нужного файла нажмите на иконку меню и выберите пункт «Изменить права»:

  3. 3.

    В открывшемся окне установите необходимые права и нажмите Применить:

Готово, права на файлы/папки будут изменены.

Изменение прав по SSH

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

  1. 1.
  2. 2.

    Выполните команду:

    chmod 755 /var/www/file_name

    Где /var/www/file_name — полный путь до вашего файла (/полный-путь-до-корневой-папки-сайта/сам-файл).

Готово, права на файлы/папки будут изменены.

Чтобы рекурсивно настроить доступ ко всем папкам и файлам на вашем сайте:

  1. 1.
  2. 2.

    Выполните команды:

    find /dir_name -type d -exec chmod 755 {} \; find /dir_name -type f -exec chmod 644 {} \;

    Где dir_name — полный путь до корневой папки сайта (Как узнать корневую папку сайта).

    Первая команда изменит права для всех директорий внутри указанной на 755. Вторая — для файлов внутри указанной директории на 644.

Готово, права на файлы/папки будут изменены.

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

А затем назначить права 755 только на папки:

find /dir_name -type d -exec chmod 755 {} \;

Где dir_name — полный путь до корневой папки сайта (Как узнать корневую папку сайта).

Как изменить права на файлы и каталоги на хостинге для ASP.NET?

Чтобы изменить права доступа к файлам или каталогам на ASP.NET:

  1. 1.
  2. 2.

    Перейдите в корневой каталог вашего сайта:

  3. 3.

    Возле нужного файла нажмите на иконку меню и выберите пункт «Изменить права»:

  4. 4.

    В открывшемся окне поставьте галочки напротив нужных групп и прав для этих групп. Кликните ОК:

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

Помогла ли вам статья?

Источник: https://www.REG.ru/support/hosting-i-servery/kak-razmestit-sayt-na-hostinge/kak-izmenit-prava-na-fayly-i-papki

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

Изменить права на папки

В операционной системе 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 выполните такую команду, в папке где находится этот файл:

ls -l

За права файлов в 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 вы можете заставить программу применять изменения ко всем файлам и каталогам рекурсивно.

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

  • u – владелец файла;
  • g – группа файла;
  • o – другие пользователи.

Действие может быть одно из двух, либо добавить – знак “+”, либо убрать – знак – “-“.

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

chmod ugo+rwx test5

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

chmod go-rwx test5

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

chmod g+rx test5

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

chmod o+r test5

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

chmod u+s test6

А для test7 – SGID:

chmod g+s test7

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

ls -l

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

Выводы

Источник: https://losst.ru/prava-dostupa-k-fajlam-v-linux

Изменение прав на файлы или папки в Linux

Изменить права на папки

Работая в Linux (равно как и во FreeBSD и Windows), нужно не забывать о правах доступа на файлы и папки. Часто это касается директории Web серверов на OS Linux когда необходимо правильно выставить права на директории и файлы с точки зрения безопасности. Выставлять права отдельно на каждый файл или папки не совсем правильное решение когда этих файлов и папок десятки, а то и сотни.

Ниже приведенные примеры помогут удобно и быстро выставить права файлов или папок в кратчайшие сроки.

Изменить владельца для папки и всех файлов лежащих в этой папке

Чтобы сменить владельца, в Unix используется команда chown. Первая группа параметров данной команды — опции. Для того, чтобы изменения коснулись не только данной директории, но и всех поддиректорий, нужно применить команду рекурсивно — с параметром «-R».

Вторая группа параметров — это владелец и группа владельцев, разделённые двоеточием (можно не устанавливать группу — тогда это просто логин владельца) — «user:group» или «user».

Третья же группа параметров — это пути до папок / файлов, к которым нужно применить команду. Например, «/home/user/dir/».

Итак, команда смены владельца и группы владельцев для директории и всех поддиректорий с файлами будет выглядеть так:
sudo chown -R user:group /home/user/dir/

Sudo говорит о том, что команда будет исполняться с повышенными привилегиями — обычный пользователь не способен изменить ни владельца, ни группу.

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

Помимо владельца, можно настроить, что же может этот самый владелец и группа, а также все остальные. В Unix идёт разделение возможностей именно таким образом — есть 3 группы прав: владелец, группа владельцев и другие. И права, что можно присвоить каждой группе:

  • Право на запуск файла. Оно же — право на проход по директории (если устанавливаем права на директории).
  • Право на изменение файла. Оно же — право на создание и удаление файлов и папок в директории (опять же, если устанавливается для папки).
  • И право на чтение файла. Для папок — это право на просмотр содержимого папки.

Кодируются эти права следующим образом: запуск — 1, изменение — 2, чтение — 4. Складывая их мы получим набор прав, предоставляемый владельцу/группе/другим.

Права на доступ изменяются командой chmod.

Примеры:

  • Изменять файл имеет право только владелец, группа владельце может читать, остальные — ничего не могут: chmod 640 /media/share/file.txt
  • Создавать файлы в папке могут все, но видит их только владелец: chmod 622 /media/share/messages/
  • Есть программа, которая не хочет запускаться — не хватает прав на исполнение. Нужно, чтобы все могли её запустить, но никто, кроме владельца, не мог её редактировать: chmod 711 /media/share/exec

Для рекурсивного изменения прав используется опять же ключ «-R». Например, chmod -R 700 /home/user — доступ к файлам и папкам /home/user останется только у владельца.

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

Изменение прав только на файлы или только на папки

Вышеприведённый пример рекурсивного изменения прав на файлы и папки в /home/user/ не так уж и хорош, как может показаться. Мы сделали, чтобы теперь и обычные файлы могли запускаться.

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

Если бы мы поставили права 600 — мы бы потеряли доступ к подпапкам и файлам, лежащим в них, ибо без права «на исполнение» (оно же — «право перехода по папке»), мы бы не смогли до них добраться.

Так что мухи — отдельно, котлеты — отдельно: зададим права сначала для одних, потом — для других. В этом нам поможет команда find.

find /home/user -type f -exec chmod 600 {} \;

Немного магии, но если присмотреться, всё понятно: найти в /home/user все объекты, типа file (f) и выполнить для них chmod 600.

Или же для директорий:

find /home/user -type d -exec chmod 700 {} \;

Крайне полезны могут быть утилиты find, grep для поиска и фильтрации работы команд. chown и chmod также умеют больше, чем здесь описано. Есть ещё chattr — для смены атрибутов папок и файлов (про атрибуты — в другой раз). Все выше перечисленные утилиты имеют хорошую документацию.

Запись опубликована в рубрике Linux, OS, Unix. Добавьте в закладки постоянную ссылку.

Источник: https://it-example.ru/%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%B0%D0%B2-%D0%BD%D0%B0-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B-%D0%B8%D0%BB%D0%B8-%D0%BF%D0%B0%D0%BF%D0%BA%D0%B8-%D0%B2-linux/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.