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

Изменить владельца и права доступа на файлы и папки в 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. Например:

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

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

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

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

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

Команда ls -l , может быть использована для отображения прав доступа и владельца. К примеру, команда ls -l 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 на эти:

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

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–x 711 Владелец может читать, записывать и выполнять, группа и другие могут только выполнять.
-rwxr-xr-x 755 Владелец может читать, записывать и выполнять, группа и другие могут читать и выполнять.
-rwxrwxrwx 777 Все типы пользователей могут читать, записывать и выполнять.

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

Существуют и другие способы изменения прав доступа в 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” – делает диагностику каждого файла затронутого командой.

Иногда на хостинге по тем или иным причинам может возникнуть потребность в смене прав на папки и файлы. Например, если их владельцем оказался 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 и chmod.

CHOWN

Chown — от английского change own. И так, как вы знаете в Linux есть пользователи и группы. У каждого пользователя есть свои файлы, созданные или загруженные. Каждый пользователь находится в собственной группе и может быть объеден c другими пользователями в другие группы.

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

Если вы хотите поменять или сменить владельца (пользователя) файла тогда вам поможет команда:

Sudo chown userName text.txt

В данном примере мы присвоили файл text.txt пользователю userName.

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

Sudo chgrp groupName text.txt

Для того чтобы не вводить 2 разные команды делают так:

Sudo chown userName:groupName text.txt

Вначале указывается владелец файла, а после группа:

sudo chown имя_владельца : имя_группы text.txt

Если вам нужно поменять в директории владельца и группу, а там множество файлов и папок тогда используйте ключ -R:

Sudo chown -R userName:groupName /var/www/site/

CHMOD

И так мы знаем, что существуют пользователи, группы. Теперь поговорим о правах доступа. Для чего этого необходимо? Например у вас есть директория в которой находятся личные файлы. Чтобы вы, владелец , например могли редактировать, просматривать файлы, группа , только видеть данные, файлы, а остальные пользователи которые не входят ни в одну из групп и не являются владельцами, вообще не могли ничего сделать, вот поэтому и необходимы права доступа.

Права на файл могут обозначаться цифрами и буквами:

Значения прав в цифрах суммируются:

  • полные права (rwx) 7 = 4 + 2 +1
  • чтение и запись (rw-) 6 = 4 + 2 + 0
  • чтение и выполнение (r-x) 5 = 4 + 0 + 1
  • только чтение 4 (r—) = 4 + 0 + 0
  • только запись 2 (-w-) = 0 + 2 + 0
  • права отсутствуют (—) 0 = 0 + 0 + 0

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

Владелец Группа Остальные
u g o
права доступа буквы права доступа цифры
rwxrwxrwx 777 читают, записывают, выполняют все
rwxr-xr-x 755 читает, записывает, выполняет читать и запускать
rw-r—r— 644 чтение и запись только четние
r——— 400 читает только владец

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

Назначение прав доступа цифрами

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

Sudo chmod 755 text.txt

Для директорий необходимо после chmod добавить ключ -R .

Чуть ниже полезная команда, как массово поменять права во всех папках и под папках.

Для папок:

Find /ваш_путь -type d -exec chmod 755 {} \;

Для файлов:

Find /ваш_путь -type f -exec chmod 644 {} \;

Назначение прав доступа буквами

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

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

u user Владелец
g group

Помощь по команде chown в linux

Для того, чтобы сменить пользователя и/или группу у файла и/или папки в linux применяется команда chown . Как обычно, первым делом заглянем в подсказку операционной системы по этой команде:

Root@server:~# chown --help Usage: chown ... [:] FILE... or: chown ... --reference=RFILE FILE... Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE. -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed --dereference affect the referent of each symbolic link (this is the default), rather than the symbolic link itself -h, --no-dereference affect symbolic links instead of any referenced file (useful only on systems that can change the ownership of a symlink) --from=CURRENT_OWNER:CURRENT_GROUP change the owner and/or group of each file only if its current owner and/or group match those specified here. Either may be omitted, in which case a match is not required for the omitted attribute --no-preserve-root do not treat "/" specially (the default) --preserve-root fail to operate recursively on "/" --reference=RFILE use RFILE"s owner and group rather than specifying OWNER:GROUP values -R, --recursive operate on files and directories recursively The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) --help display this help and exit --version output version information and exit Owner is unchanged if missing. Group is unchanged if missing, but changed to login group if implied by a ":" following a symbolic OWNER. OWNER and GROUP may be numeric as well as symbolic. Examples: chown root /u Change the owner of /u to "root". chown root:staff /u Likewise, but also change its group to "staff". chown -hR root /u Change the owner of /u and subfiles to "root". GNU coreutils online help: Full documentation at: or available locally via: info "(coreutils) chown invocation"

Как быстро поменять пользователя файла и/или папки в linux

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

Chown user:group /patch/filename chown -R user:group /patch/foldername

В первой строчке произойдёт смена пользователя на user , группы на group у файла /patch/filename .

Во второй строчке в примере выше использована дополнительная опция -R , которая означает рекурсивную обработку. То есть у папки /patch/foldername произойдёт смена владельца и группы, но этим дело не закончится, все папки и файлы, лежащие в этой директории также будут подвергнуты процессу смены владельца и группы. Рекурсия бывает очень удобна при глобальных изменениях в группой политики в системе.

Остальные опции команды chown не так часто востребованы и используются, поэтому пока не буду с ними разбираться.

Windows 10