- Изменить владельца и права доступа на файлы и папки в Linux/BSD
- Команда chown в Linux
- Синтаксис
- Примеры
- Рекурсивно массово меняем права на папки и файлы
- Команда Chown в Linux
- Chown Command in Linux (File Ownership)
- В этом руководстве мы покажем вам, как использовать chown команду на практических примерах.
- Как пользоваться chown
- Как сменить владельца файла
- Как изменить владельца и группу файла
- Как изменить группу файла
- Как изменить владельца символических ссылок
- Как рекурсивно изменить владельца файла
- Использование справочного файла
- Вывод
- Как изменить Права Доступа в Linux
- Введение
- Что вам понадобится
- Шаг 1 – Как изменить права доступа в Linux через командную строку
- Шаг 2 – Изменение владельца файла или папки через командную строку
- Шаг 3 – Использование дополнительных опций с командами chmod и chown
- Заключение
Изменить владельца и права доступа на файлы и папки в Linux/BSD
Изменить владельца и права доступа на файлы и папки в Linux и *BSD системах
Представленная ниже информация будет полезная начинающим Linux и *BSD системным администраторам. По большому счету, в любой операционной системе, будь то Linux, Windows или FreeBSD, корректная работа приложений, сервисов и безопасность системы в целом напрямую зависит от прав доступа на файлы и папки. Используя ниже приведённые средства, можно решить практически 90% проблем, возникающих при настройке прав доступа.
Сменить владельца для всех папок и файлов. Для этих целей в Unix используется команда chown. Она обладает рядом параметров:
- Опции. Например, для того, чтобы изменения коснулись не только данной директории, но и всех поддиректорий, нужно применить команду рекурсивно, т.е. с параметром “-R”.
- Владелец или группа владельцев (“user:group” или “user”).
- Пути до папок / файлов, к которым нужно применить команду. Например, “/mnt/pool1/dts1/backup”.
Таким образом, команда для смены смены владельца (и группы владельцев) для директорий и всех вложенных папок и фалов будет выглядеть так:
sudo chown -R user:group /home/user/dir/
Изменить права доступа на файл или папку в Linux и *BDS системах можно командой chmod. Стоит отметить, что в Unix имеются свои особенности в работе данной команды и принципа разделения прав. Так, кроме владельца файла или папки, можно настроить, какие операции может выполнять этот самый владелец и группа, а также все остальные пользователи. В Unix идёт разделение возможностей следующим способом – владелец, группа владельцев и другие. Также присутствует следующее разделение прав:
- Право на запуск файла (для папок – проход по директории).
- Право на изменение файла (создание и удаление файлов и папок в директории)
- Право на чтение файла (для папок – это право на просмотр содержимого директории)
Для удобства использования и запоминания, используется следующая кодировка:
Складывая данные цифровые обозначения мы получим набор прав, предоставляемый владельцу/группе/другим. Разберем данную информацию на примере:
Изменять файл имеет право только владелец, группа владельцев может читать, остальные – ничего не могут, соответственно команда будет такой:
chmod 640 /media/fileshare/file.txt
Создавать файлы в папке могут все, но видит их только владелец:
chmod 622 /media/fileshare/messages/
Чтобы все могли запускать какую-либо программу, но никто, кроме владельца, не мог её редактировать:
chmod 711 /media/share/exec
Для изменения прав на все вложенные файлы и папки (т.е. рекурсивно) используется опять же ключ “-R”.
Выполняя данные операции, стоит понимать – изменять права на файлы и директории могут только администраторы и владелец этих папок и файлов.
Изменение прав только на файлы или только на папки – команда find. При этом файлы обозначаются как file (f), а директории, соответственно – d. Например:
Нашли ошибку в тексте? Выделите фрагмент текста и нажмите Ctrl+Enter
Источник
Команда chown в Linux
В операционной системе Линукс множество пользователей и групп. При создании файла тот администратор, от чьего имени он был образован, становится его владельцем, который находится в собственной группе, но также может объединяться с другими.
Утилита сhown (ее название произошло от сочетания слов «change» и «mode») позволяет изменять владельца или группу у папок и файлов.
Когда меняется владелец, он получает возможность использовать иные возможности доступа и ограничить его для остальных администраторов. Подобное разрешение можно задавать при помощи чисел и символов.
Синтаксис
Рассмотрим синтаксис команды.
- USER (имя пользователя или идентификатор нового владельца)
- GROUP (название новой группы или ее индекс)
- FILE(s) (наименование одного или нескольких файлов, каталогов, ссылок).
- -c, —changes (подробный отчет о любых произошедших изменениях).
- -f, —silent, —quiet (сокращение данных, удаление сообщений о возможных неполадках).
- —dereference (поменять права для файла, помеченного символической ссылкой).
- -v, —verbose (используется для описания действий и вывода подробных данных о каждом обработанном файле).
- -h, —no-dereference (изменить полномочия касаемо символических ссылок, но оставить неизменными файлы, на которые они указывают).
- —from (изменить пользователя только для тех файлов, владельцем которых являются он и группа).
- -R, —recursive (последовательная обработка всех подкаталогов).
- -H (если передана символическая ссылка на каталог, перейти по ней).
- -L (переходить по всем символическим ссылкам на каталоги).
- -P (не переходить по символическим ссылкам на каталоги) (по умолчанию).
Примеры
Для первого примера изменим владельца «root» папки «katalog» на «ya». Для этого запустим команду без опций, укажем имя пользователя и путь к каталогу.
chown ya /root/katalog
- ya — имя пользователя;
- /root/katalog — полный путь до каталога katalog.
Меняем владельца и группу одновременно.
Чтобы изменить сразу владельца и группу необходимо применить двоеточие без промежуточных пробелов. Синтаксис данной процедуры такой: USER:GROUP KATALOG.
Для примера изменим владельца и group для каталога «katalog» на «ya» и «nogroup».
chown ya:nogroup /root/katalog
Тоже самое сделаем для документа «dokument».
chown ya:nogroup dokument
Бывают ситуации, когда нужно поменять только группу. Для этого, впереди нужно добавить «:». Поменяем группу документа «dokument» на «nogroup».
chown :nogroup dokument
Рекурсивно массово меняем права на папки и файлы
Чтобы последовательно (алгоритмически) проводить работу со всеми файлами и каталогами, используется аргумент -R (–recursive). Для удобства предварительно зайдем в целевую директорию с помощью команды cd.
Массово поменяем владельца и группу директории «primercataloga» включая вложенные папки и файлы.
Источник
Команда Chown в Linux
Chown Command in Linux (File Ownership)
В этом руководстве мы покажем вам, как использовать chown команду на практических примерах.
Команда chown позволяет изменить владельца пользователя и / или группы для данного файла, каталога или символической ссылки.
В Linux все файлы связаны с владельцем и группой, и им назначены права доступа для владельца файла, членов группы и других.
Как пользоваться chown
Прежде чем перейти к использованию chown команды, давайте начнем с обзора основного синтаксиса.
В chown выражении команды принимает следующий вид:
- USER — Если указан только пользователь, указанный пользователь станет владельцем данных файлов, владение группой не изменится.
- USER: — Когда за именем пользователя следует двоеточие : , а имя группы не указывается, пользователь становится владельцем файлов, а принадлежность группы файлов изменяется на группу входа пользователя.
- USER:GROUP — Если указаны и пользователь, и группа (без пробелов между ними), пользовательское владение файлами изменяется на данного пользователя, а групповое владение изменяется на данную группу.
- :GROUP — Если пользователь не указан, а перед группой стоит двоеточие : , то только группа, владеющая файлами, будет изменена на данную группу.
- : Если задано только двоеточие : , без указания пользователя и группы, никаких изменений не производится.
По умолчанию в случае успеха chown не выводит никаких данных и возвращает ноль.
Используйте ls -l команду, чтобы узнать, кому принадлежит файл или к какой группе принадлежит файл:
Обычные пользователи могут изменять группу файла только в том случае, если они владеют файлом и только в группе, членом которой они являются. Административные пользователи могут изменять групповое владение всеми файлами.
Как сменить владельца файла
Чтобы изменить владельца файла, используйте chown команду, за которой следует имя пользователя нового владельца и целевой файл в качестве аргумента:
Например, следующая команда изменит владельца файла с именем file1 на нового владельца с именем linuxize :
Чтобы изменить владельца нескольких файлов или каталогов, укажите их в виде списка через пробел. Команда ниже меняет владельца файла с именем file1 и каталогом dir1 на нового владельца с именем linuxize :
Числовой идентификатор пользователя (UID) можно использовать вместо имени пользователя. Следующий пример изменит владельца файла с именем file2 на нового владельца с UID 1000 :
Если в качестве имени пользователя существует числовой владелец, то владение будет перенесено в имя пользователя. Чтобы избежать этого префикса, идентификатор с помощью + :
Как изменить владельца и группу файла
Чтобы изменить владельца и группу файла, используйте chown команду, за которой следует новый владелец и группа, разделенные двоеточием ( : ) без промежуточных пробелов и целевого файла.
Следующая команда изменит владельца файла с именем file1 на нового владельца с именем linuxize и группой users :
Если вы опустите имя группы после двоеточия ( : ), группа файла изменится на группу входа указанного пользователя:
Как изменить группу файла
Чтобы изменить только группу файла, используйте chown команду с двоеточием ( : ) и именем новой группы (без пробелов между ними) и целевой файл в качестве аргумента:
Еще одна команда, которую вы можете использовать для изменения групповой принадлежности файлов — это chgrp .
Как изменить владельца символических ссылок
Когда рекурсивный параметр не используется, chown команда изменяет групповое владение файлами, на которые указывают символические ссылки , а не сами символьные ссылки .
Например, если вы попытаетесь изменить владельца и группу символической ссылки, на symlink1 которую указывает ссылка /var/www/file1 , chown изменит владельца файла или каталога, на который указывает символическая ссылка:
Скорее всего, вместо смены целевого владельца вы получите ошибку «невозможно разыменовать symlink1: Permission denied».
Ошибка возникает из-за того, что по умолчанию в большинстве дистрибутивов Linux символические ссылки защищены, и вы не можете работать с целевыми файлами. Эта опция указана в /proc/sys/fs/protected_symlinks . 1 значит включен и 0 отключен. Мы рекомендуем не отключать защиту символических ссылок.
Чтобы изменить групповое владение самой символической ссылкой, используйте -h параметр:
Как рекурсивно изменить владельца файла
Чтобы рекурсивно работать со всеми файлами и каталогами в данном каталоге, используйте параметр -R ( —recursive ):
Если каталог содержит символические ссылки, передайте -h опцию:
Другими параметрами, которые можно использовать при рекурсивном изменении владельца каталога, являются -H и -L .
Если аргумент, переданный chown команде, является символической ссылкой, указывающей на каталог, эта -H опция заставит команду пройти по ней. -L указывает chown на прохождение каждой символической ссылки в каталог, который встречается. Обычно вы не должны использовать эти параметры, потому что вы можете испортить вашу систему или создать угрозу безопасности.
Использование справочного файла
—reference=ref_file Опция позволяет изменить пользователя и группы владельца указанные файлы , чтобы быть такими же , как в указанном отпечатком ( ref_file ). Если ссылочный файл является символической ссылкой, chown будут использоваться пользователь и группа целевого файла.
Вывод
chown утилита командной строки Linux / UNIX для изменения владельца файла и / или группы
Чтобы узнать больше о chown команде, посетите страницу руководства chown или введите man chown свой терминал.
Источник
Как изменить Права Доступа в Linux
Введение
В этом руководстве вы научитесь изменять права доступа в 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
Мы должны написать следующую команду:
Каждый номер в этой команде представляет собой права для одного из типов пользователей (владелец, группа и другие). Первый номер 7. Теперь, используя объяснение числовых значений выше, единственный вариант для получения числа 7 — сложение чисел 4, 2 и 1, получаем 4+2+1=7. Проще говоря, это означает ВСЕ права доступа (чтение, запись, выполнение — rwx). Первый номер устанавливает права доступа для владельца файла. Второй номер 4, который означает права доступа -r (чтение), устанавливает права доступа для группы владельца. Третий номер 6, используя тот же способ, что и с первым номером, 4+2=6, дает группе другие, права на чтение (4) и запись (2) файла. Третья часть в команде (file1.txt) – это имя файла для которого мы изменяем права доступа.
Еще один пример:
эта команда даст все права для каждого типа пользователей (владелец, группа и другие).
Вот список самых наиболее распространённых прав доступа для файлов:
Значение | Цифровое значение | Объяснение |
---|---|---|
-rw——- | 600 | Владелец может читать и записывать файл. |
-rw-r–r– | 644 | Владелец может читать и записывать файл, группа и другие могут только читать. |
-rw-rw-rw- | 666 | Владелец, группа и другие могут читать и записывать. |
-rwx—— | 700 | Владелец может читать, записывать и выполнять, группа и другие не имеют никаких прав доступа. |
-rwx–x–x | 711 | Владелец может читать, записывать и выполнять, группа и другие могут только выполнять. |
-rwxr-xr-x | 755 | Владелец может читать, записывать и выполнять, группа и другие могут читать и выполнять. |
-rwxrwxrwx | 777 | Все типы пользователей могут читать, записывать и выполнять. |
Наиболее распространенные права доступа для каталогов:
Значение | Цифровое значение | Объяснение |
---|---|---|
drwx—— | 700 | Только владелец может читать и записывать в этом каталоге. |
drwxr-xr-x | 755 | Владелец, группа и другие могут читать каталог, но только владелец может изменять содержимое. |
Существуют и другие способы изменения прав доступа в Linux, используя команду chmod. Но нашей персональной рекомендацией станет, изучение одной из этих команд и её использование (в этом случае способ с номерами). Если вы хотите узнать больше о других путях изменения прав доступа, вы можете прочитать об этом здесь.
Шаг 2 – Изменение владельца файла или папки через командную строку
chown – команда используется для смены владельца файла или папки. Самый стандартный синтаксис для этой команды:
К примеру, если у нас есть файл “demo.txt” и мы хотим изменить владельца на “jerry” и группу владельца на “clients”, нам необходима эта команда:
Как вы видите, мы отделили владельца и группу владельца символом “:” (двоеточие). Если мы хотим поменять только владельца файла, используем этот код:
Мы просто убрали группу владельца и вписали нового владельца файла, в таком случае группа владельца останется без изменений.
Другой схожий пример, если мы хотим поменять только группу владельца:
В этом случае, группа владельца изменится на clients (владелец останется прежним).
Шаг 3 – Использование дополнительных опций с командами chmod и chown
Одна из основных опций работающая с обеими командами это -R, которая означает рекурсивный. Эта опция позволяет вам менять права доступа и владельца файла, заданной папки и ВСЕХ других файлов внутри нее.
ВАЖНО! Будьте очень осторожны с этой опцией, если вы используете ее неправильно, вы можете изменить права доступа и владельца ВСЕХ файлов в вашей системе, что приведет к ошибкам в работе и трате огромного количества времени на откат изменений.
- “-f” – тихая или силовая опция. При использовании данной опции скроет большинство сообщений об ошибках.
- “-v” – делает диагностику каждого файла затронутого командой.
- “-c” – схожа с опцией -v, но предоставляет информацию только в случае реальных изменений.
Заключение
В этом руководстве вы научились, как изменить права доступа Linux и узнали команды для смены владельца папки или файла. Знание данных команд поможет вам в более удобном управлении вашим сервером. Если вы хотите продолжить изучение по данной теме, проверьте эти руководства:
Источник