Команда chown test1 test2 выполняет следующие действия. Chown — команда изменения владельца файлов и папок в linux. Как изменить владельца и группу файла

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

В этой статье мы покажем вам, как использовать команду chown с помощью простых примеров.

Синтаксис команды Chown

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

Выражения команд chown имеют следующий вид:

Chown USER[:GROUP] FILE(s)

  • USER это имя пользователя или идентификатор пользователя (UID) нового владельца,
  • GROUP имя новой группы или идентификатор группы (GID) и
  • FILE(s) имя одного или нескольких файлов, каталогов или ссылок.

Используйте команду ls -l, чтобы узнать, кому принадлежит файл или какая группа.

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

Как изменить владельца файла

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

Chown USER FILE

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

Chown andreyex file1

Чтобы изменить право собственности на несколько файлов или каталогов, укажите их как список, разделенный пробелами. Например, приведенная ниже команда изменяет право собственности на файл с именем file1 и каталогом dir1 на нового владельца с именем andreyex:

Chown andreyex file1 dir1

Вместо имени пользователя можно использовать числовой идентификатор пользователя (UID). Следующий пример изменит право собственности на файл с именем file2 нового владельца с UID 1000:

Chown 1000 file2

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

Как изменить владельца и группу файла

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

Chown USER:GROUP FILE

Следующая команда изменит право собственности на файл с именем file1 на нового владельца с именем andreyex и группой users:

Chown andreyex:users file1

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

Chown andreyex: file1

Как изменить группу файла

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

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

Chown:GROUP FILE

Следующая команда изменит владеющую группу файла с именем, file1 чтобы www-data:

Chown:www-data file1

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

Чтобы рекурсивно работать со всеми файлами и каталогами в каталоге ввода, используйте параметр -r (–recursive):

Chown -R USER:GROUP DIRECTORY

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

Chown www-data: /var/www

Заключение

К настоящему моменту вы должны хорошо понимать, как использовать команду chown в Linux. Если вы хотите узнать больше о команде chown, посетите страницу chown man.

Изменить владельца и права доступа на файлы и папки в 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 идёт разделение возможностей следующим способом — владелец, группа владельцев и другие. Также присутствует следующее разделение прав:

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

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

  • запуск — 1
  • изменение — 2
  • чтение — 4

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

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

chmod 640 /media/fileshare/file.txt

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

chmod 622 /media/fileshare/messages/

Чтобы все могли запускать какую-либо программу, но никто, кроме владельца, не мог её редактировать:

chmod 711 /media/share/exec

Для изменения прав на все вложенные файлы и папки (т.е. рекурсивно) используется опять же ключ «-R».

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

Изменение прав только на файлы или только на папки — команда find . При этом файлы обозначаются как file (f), а директории, соответственно — d. Например:

chown [-fhv] [-R [-H | -L | -P]] владелец [:группа ] файл ... chown [-fhv] [-R [-H | -L | -P]] :группа файл ... Программа изменяет владельца и/или группу файла или директории, то есть UserID и GroupID для указанного файла. Если не указана опция -h , символические ссылки переданные в качестве аргументов, не изменяются

Возможно использование следующих опций: -H Если установлена опция -R , следовать по ссылкам из командной строки. (Ссылки найденные при обходе дерева каталогов не прослеживаются) -L Если опция -R установлена, следовать по всем символическим ссылкам. -P Если опция -R установлена, не следовать по ссылкам. Поведение по-умолчанию. -R Рекурсия. Изменить UserID и/или GroupID для всего дерева директорий и файлов начиная с указанной. Остерегайтесь совпадения с жесткой ссылкой на родительский каталог "..", при использовании шаблона ".*". -f Не сообщать о неудачной попытке изменить владельци и группу не менять код завершения операции, для сигнализирования о неудаче. -h Если файл является символической ссылкой, изменить UserID и/или GroupID только на саму ссылку. -v Режим вывода сообщений о ходе выполнения программы. Если опция указана более одного раза, chown выведет имя файла вслед за старыми и новыми UserID/GroupID . Опции -H , -L и -P , будут проигнорированы, если опция -R не установлена. Кроме того, все эти опции, переопределяет друг друга, и поведение команды chown , будет определятся опцией которая указана последней. Опции владелец и группа не являются обязательными, но должна быть указана хотя-бы одна из них. Если указывается только группа , перед ней ставится знак : (двоеточие). Параметр владелец файла, может быть представлен как в виде числового выражения UserID, так и в виде символического имени. Если имя пользователя совпадает с его UserID, операнд используется как "имя пользователя". То же самое относится к параметру группа . Принадлежность файла может быть изменена только суперпользователем, по соображениям безопасности. Программа chown возвращает 0 при удачном завершении и >0 в случае возникновения ошибки. СМОТРИТЕ ТАКЖЕ chgrp(1), find(1), chown(2), fts(3), symlink(7)

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

1. Как изменить права для таких файлов и папок

Командой chmod с помощью SSH-доступа. Например, следующей командой UNIX shell:

chmod -R 755 /var/www/isbircom/data/temp

будут установлены рекурсивно права 755 на все поддиректории и файлы директории /var/www/sitenamecom/data/temp

Если нужно изменить права только файлам, но не трогать папки, или наоборот, можно это реализовать следующими Unix командами:

find /www/ -type f -exec chmod 644 {} \; – изменяет только файлы

find /www/ -type d -exec chmod 755 {} \; – изменяет только папки

2. Как изменить владельца у файлов и папок

Командой chown в UNIX shell. Например командой:

chown -R admin:adminweb /var/www/sitenamecom/data/www/

будут установлены рекурсивно владельцем файлов и директорий пользователь admin и группа adminweb на все поддиректории и файлы директории /var/www/sitenamecom /data/www/

Если нужно изменить владельца только файлам, но не трогать папки, или наоборот, можно это реализовать следующими Unix командами:

find /www/ -type f -exec chown user:group {} \; – изменяет только файлы

find /www/ -type d -exec chown user:group {} \; – изменяет только папки

3. Есть ли возможность изменения приоритета прав у пользователя и apache

Нет так как стандартно web-сервер Apache запускается в Plesk из под пользователя и одноименной группы apache, по этому изменить этого нельзя. Для временого изменения прав на необходимые вам директории можно составить Cron-задание с той же командой UNIX shell.

Основа философии Linux - все объекты операционной системы - это файлы, для предоставления доступа к тем или иным возможностям системы мы просто даем доступ пользователю к нужным файлам или убираем. Я более подробно рассказывал обо всех правах в статье , здесь же скажу только что у каждого файла есть три группы прав: для владельца, группы и всех остальных.

При создании файла ему тот пользователь, от имени которого он был создан становится его владельцем, а группой устанавливается основная группа владельца. Но владельца файла и группу можно менять, для этого используются команды chown и chgrp. В этой статье будет рассмотрена команда chown linux, а также основные примеры её использования.

1. Синтаксис и опции

Синтаксис chown, как и других подобных команд linux очень прост:

$ chown пользователь опции /путь/к/файлу

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

  • -c, --changes - подробный вывод всех выполняемых изменений;
  • -f, --silent, --quiet - минимум информации, скрыть сообщения об ошибках;
  • --dereference - изменять права для файла к которому ведет символическая ссылка вместо самой ссылки (поведение по умолчанию);
  • -h, --no-dereference - изменять права символических ссылок и не трогать файлы, к которым они ведут;
  • --from - изменять пользователя только для тех файлов, владельцем которых является указанный пользователь и группа;
  • -R, --recursive - рекурсивная обработка всех подкаталогов;
  • -H - если передана символическая ссылка на директорию - перейти по ней;
  • -L - переходить по всем символическим ссылкам на директории;
  • -P - не переходить по символическим ссылкам на директории (по умолчанию).

Утилита имеет ещё несколько опций, но это самые основные и то большинство из них вам не понадобится. А теперь давайте посмотрим как пользоваться chown.

2. Использование chown

Например, у нас есть несколько папок dir и их владелец пользователь sergiy:

Давайте изменим владельца папки dir1 на root:

chown root ./dir1

Если вы хотите поменять сразу владельца и группу каталога или файла запишите их через двоеточие, например, изменим пользователя и группу для каталога dir2 на root:

chown root:root ./dir2

Если вы хотите чтобы изменения применялись не только к этому каталогу, но и ко всем его подкаталогам, добавьте опцию -R:

chown -R root:root ./dir3

chown --from=root:root www-data:www-data -cR ./

Основатель и администратор сайта сайт, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.