Разное

Chown ubuntu: Команда chown Linux | Losst

Содержание

Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask) / Хабр

Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300.

От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания.

Итак, поехали.


Чтобы получить доступ к файлам в Linux, используются разрешения. Эти разрешения назначаются трем объектам: файлу, группе и другому объекту (то есть всем остальным). В этой статье вы узнаете, как применять разрешения.

Статья начинается с обзора основных понятий, после чего обсуждаются специальные разрешения (Special permissions) и списки контроля доступа (ACL). В конце этой статьи рассматривается настройка прав доступа по умолчанию через umask, а также управление расширенными атрибутами пользователя.

Управление владением файлами

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

Отображение владельца файла или каталога

В Linux у каждого файла и каждого каталога есть два владельца: пользователь и группа.

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

Это происходит в следующем порядке:

  1. Оболочка проверяет, являетесь ли вы владельцем файла, к которому вы хотите получить доступ. Если вы являетесь этим владельцем, вы получаете разрешения и оболочка прекращает проверку.
  2. Если вы не являетесь владельцем файла, оболочка проверит, являетесь ли вы участником группы, у которой есть разрешения на этот файл. Если вы являетесь участником этой группы, вы получаете доступ к файлу с разрешениями, которые для группы установлены, и оболочка прекратит проверку.
  3. Если вы не являетесь ни пользователем, ни владельцем группы, вы получаете права других пользователей (Other).

Чтобы увидеть текущие назначения владельца, вы можете использовать команду ls -l. Эта команда показывает пользователя и группу-владельца. Ниже вы можете увидеть настройки владельца для каталогов в каталоге /home.

[root@server1 home]# ls -l
total 8
drwx------. 3  bob            bob            74     Feb   6   10:13 bob
drwx------. 3  caroline       caroline       74     Feb   6   10:13 caroline
drwx------. 3  fozia          fozia          74     Feb   6   10:13 fozia
drwx------. 3  lara           lara           74     Feb   6   10:13 lara
drwx------. 5  lisa           lisa           4096   Feb   6   10:12 lisa
drwx------. 14 user           user           4096   Feb   5   10:35 user

С помощью команды ls вы можете отобразить владельца файлов в данном каталоге. Иногда может оказаться полезным получить список всех файлов в системе, в которых в качестве владельца указан данный пользователь или группа. Для этого вы можете использовать find. Аргумент find -user может быть использован для этой цели. Например, следующая команда показывает все файлы, у которых в качестве владельца указан пользователь linda:

find / -user linda

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

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

find / -group users

Изменение владельца

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

chown кто что

Например, следующая команда меняет владельца каталога /home/account на пользователя linda:

chown linda /home/account

Команда chown имеет несколько опций, одна из которых особенно полезна: -R. Вы можете догадаться, что она делает, потому что эта опция доступна и для многих других команд. Это позволяет вам рекурсивно устанавливать владельца, что позволяет вам установить владельца текущего каталога и всего, что находится ниже. Следующая команда меняет владельца для каталога /home и всего, что находится под ним, на пользователя lisa:

Сейчас владельцы выглядят так:

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 account account 62 Sep 25 21:41 account
drwx------. 2 lisa    lisa    62 Sep 25 21:42 lisa

Выполним:

[root@localhost ~]# chown -R lisa /home/account
[root@localhost ~]#

Теперь пользователь lisa стал владельцем каталога account:

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 lisa account 62 Sep 25 21:41 account
drwx------. 2 lisa lisa    62 Sep 25 21:42 lisa

Изменение владельца группы

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

Следующая команда изменяет какого-либо владельца группы /home/account на группу account:

chown .account /home/account

Вы можете использовать chown для изменения владельца пользователя и/или группы несколькими способами. Вот несколько примеров:

  • chown lisa myfile1 устанавливает пользователя lisa владельцем файла myfile1.
  • chown lisa.sales myfile устанавливает пользователя lisa владельцем файла myfile, а так же устанавливает группу sales владельцем этого же файла.
  • chown lisa:sales myfile то же самое, что и предыдущая команда.
  • chown .sales myfile устанавливает группу sales владельцем файла myfile без изменения владельца пользователя.
  • chown :sales myfile то же самое, что и предыдущая команда.

Вы можете использовать команду chgrp, чтобы изменить владельца группы. Рассмотрим следующий пример, где вы можете с помощью chgrp установить владельцем каталога account группу sales:

chgrp .sales /home/account

Как и в случае с chown, вы можете использовать опцию -R с chgrp, а также рекурсивно менять владельца группы.

Понимание владельца по умолчанию

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

Чтобы показать текущую эффективную первичную группу, пользователь может использовать команду groups:

[root@server1 ~]# groups lisa
lisa : lisa account sales

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

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

lisa@server1 ~]$ groups
lisa account sales
[lisa@server1 ~]$ newgrp sales
[lisa@server1 ~]$ groups
sales lisa account
[lisa@server1 ~]$ touch file1
[lisa@server1 ~]$ ls -l
total 0
-rw-r--r--. 1 lisa sales 0 Feb 6 10:06 file1

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

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

Управление основными правами

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

Понимание прав на чтение, запись и выполнение

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

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

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

Как вы, вероятно, можете догадаться, разрешение на запись, если оно применяется к файлу, позволяет записывать в файл. Иначе говоря, позволяет изменять содержимое существующих файлов. Однако он не позволяет создавать или удалять новые файлы или изменять права доступа к файлу. Для этого вам нужно дать разрешение на запись каталогу, где вы хотите создать файл. В каталогах это разрешение также позволяет создавать и удалять новые подкаталоги.

Разрешение на выполнение — это то, что вам нужно для выполнения файла. Оно никогда не будет установлено по умолчанию, что делает Linux практически полностью невосприимчивым к вирусам. Только кто-то с правами записи на каталог может применять разрешение на выполнение.

Ниже обобщается использование основных разрешений:

Использование chmod

Для управления правами используется команда chmod. При использовании chmod вы можете устанавливать разрешения для пользователя (user), группы (group) и других (other). Вы можете использовать эту команду в двух режимах: относительный режим и абсолютный режим. В абсолютном режиме три цифры используются для установки основных разрешений.

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

chmod 755 /somefile

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

Если вы хотите изменить разрешения относительно текущих разрешений, вы можете использовать chmod в относительном режиме. При использовании chmod в относительном режиме вы работаете с тремя индикаторами, чтобы указать, что вы хотите сделать:

  1. Сначала вы указываете, для кого вы хотите изменить разрешения. Для этого вы можете выбрать между пользователем (u), группой (g) и другими (o).
  2. Затем вы используете оператор для добавления или удаления разрешений из текущего режима или устанавливаете их абсолютно.
  3. В конце вы используете r, w и x, чтобы указать, какие разрешения вы хотите установить.

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

chmod +x somefile

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

chmod g+w,o-r somefile

При использовании chmod -R o+rx /data вы устанавливаете разрешение на выполнение для всех каталогов, а также для файлов в каталоге /data. Чтобы установить разрешение на выполнение только для каталогов, а не для файлов, используйте chmod -R o+ rX /data.

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

Расширенные права

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

Понимание расширенных прав SUID, GUID и sticky bit

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

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

Рассмотрим, например, ситуацию, когда пользователю необходимо сменить пароль. Для этого пользователь должен записать свой новый пароль в файл /etc/shadow. Однако этот файл недоступен для записи пользователям, не имеющим прав доступа root:

root@hnl ~]# ls -l /etc/shadow
----------. 1 root root 1184 Apr 30 16:54 /etc/shadow

Разрешение SUID предлагает решение этой проблемы. В утилите /usr/bin/passwd это разрешение применяется по умолчанию. Это означает, что при смене пароля пользователь временно получает права root, что позволяет ему записывать в файл /etc/shadow. Вы можете видеть разрешение SUID с ls -l как s в позиции, где обычно вы ожидаете увидеть x для пользовательских разрешений:

[root@hnl ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 32680 Jan 28 2010 /usr/bin/passwd

Разрешение SUID может выглядеть полезным (и в некоторых случаях так оно и есть), но в то же время оно потенциально опасно. При неправильном применении вы можете случайно раздать права доступа root. Поэтому я рекомендую использовать его только с максимальной осторожностью.

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

Второе специальное разрешение — это идентификатор группы (SGID). Это разрешение имеет два эффекта. При применении к исполняемому файлу, он дает пользователю, который исполняет файл, разрешения владельца группы этого файла. Таким образом, SGID может выполнить более или менее то же самое, что SUID. Однако для этой цели SGID практически не используется.

Как и в случае с разрешением SUID, SGID применяется к некоторым системным файлам в качестве настройки по умолчанию.

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

Это не всегда очень полезно, особенно потому, что у пользователей Red Hat/CentOS в качестве основной группы задана группа с тем же именем, что и у пользователя, и из которых пользователь является единственным участником. Таким образом, по умолчанию файлы, которые создает пользователь, будут групповыми для общего доступа.

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

Ситуация по умолчанию состоит в том, что когда любой из этих пользователей создает файл, основная группа становится владельцем. Поэтому по умолчанию linda не может получить доступ к файлам, созданным lori, и наоборот. Однако, если вы создаете общий каталог группы (скажем, /groups/account) и убедитесь, что разрешение SGID применено к этому каталогу и что учет группы установлен как владелец группы для этого каталога, все файлы, созданные в этом каталоге и во всех его подкаталогах, также получают account группы как владельца группы по умолчанию.

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

Разрешение SGID показывается в выводе ls -ld как s в позиции, где вы обычно находите разрешение на выполнение группы:

[root@hnl data]# ls -ld account
drwxr-sr-x. 2 root account 4096 Apr 30 21:28 account

Третий из специальных разрешений — sticky bit. Это разрешение полезно для защиты файлов от случайного удаления в среде, где несколько пользователей имеют права на запись в один и тот же каталог. Если применяется закрепленный sticky bit, пользователь может удалить файл, только если он является пользователем-владельцем файла или каталога, в котором содержится файл. По этой причине он применяется в качестве разрешения по умолчанию для каталога /tmp и может быть полезен также для каталогов общих групп.

Без sticky bit, если пользователь может создавать файлы в каталоге, он также может удалять файлы из этого каталога. В общедоступной групповой среде это может раздражать. Представьте себе пользователей linda и lori, которые оба имеют права на запись в каталог /data/account и получают эти разрешения благодаря участию в группе account. Поэтому linda может удалять файлы, созданные lori, и наоборот.

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

  • Пользователь является владельцем файла;
  • Пользователь является владельцем каталога, в котором находится файл.

При использовании ls -ld, вы можете видеть sticky bit как t в позиции, где вы обычно видите разрешение на выполнение для других:

[root@hnl data]# ls -ld account/
drwxr-sr-t. 2 root account 4096 Apr 30 21:28 account/

Применение расширенных прав

Чтобы применить SUID, SGID и sticky bit, вы также можете использовать chmod. SUID имеет числовое значение 4, SGID имеет числовое значение 2, а sticky bit имеет числовое значение 1.

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

chmod 2755 /somedir

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

  1. Для SUID используйте chmod u+s.
  2. Для SGID используйте chmod g+s.
  3. Для sticky bit используйте chmod +t, а затем имя файла или каталога, для которого вы хотите установить разрешения.

В таблице обобщено все, что важно знать об управлении специальными разрешениями.

Пример работы со специальными правами

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

  1. Откройте терминал, в котором вы являетесь пользователем linda. Создать пользователя можно командой useradd linda, добавить пароль passwd linda.
  2. Создайте в корне каталог /data и подкаталог /data/sales командой mkdir -p /data/sales. Выполните cd /data/sales, чтобы перейти в каталог sales. Выполните touch linda1 и touch linda2, чтобы создать два пустых файла, владельцем которых является linda.
  3. Выполните su — lisa для переключения текущего пользователя на пользователя lisa, который также является членом группы sales.
  4. Выполните cd /data/sales и из этого каталога выполните ls -l. Вы увидите два файла, которые были созданы пользователем linda и принадлежат группе linda. Выполните rm -f linda*. Это удалит оба файла.
  5. Выполните touch lisa1 и touch lisa2, чтобы создать два файла, которые принадлежат пользователю lisa.
  6. Выполните su — для повышения ваших привилегий до уровня root.
  7. Выполните chmod g+s,o+t /data/sales, чтобы установить бит идентификатора группы (GUID), а также sticky bit в каталоге общей группы.
  8. Выполните su — linda. Затем выполните touch linda3 и touch linda4. Теперь вы должны увидеть, что два созданных вами файла принадлежат группе sales, которая является владельцем группы каталога /data/sales.
  9. Выполните rm -rf lisa*. Sticky bit предотвращает удаление этих файлов от имени пользователя linda, поскольку вы не являетесь владельцем этих файлов. Обратите внимание, что если пользователь linda является владельцем каталога /data/sales, он в любом случае может удалить эти файлы!

Управление ACL (setfacl, getfacl) в Linux

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

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

Понимание ACL

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

Утилита tar не поддерживает ACL. Чтобы убедиться, что настройки ACL не будут потеряны при создании резервной копии, используйте star вместо tar. star работает с теми же параметрами, что и tar; он просто добавляет поддержку настроек ACL.

Вы также можете создать резервную копию ACL с помощью getfacl, которую можно восстановить с помощью команды setfacl. Чтобы создать резервную копию, используйте getfacl -R /directory > file.acls. Чтобы восстановить настройки из файла резервной копии, используйте setfacl —restore=file.acl.

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

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

Подготовка файловой системы для ACL

Перед началом работы с ACL может потребоваться подготовить файловую систему для поддержки ACL. Поскольку метаданные файловой системы необходимо расширять, не всегда есть поддержка по умолчанию для ACL в файловой системе. Если при настройке списков ACL для файловой системы вы получаете сообщение «operation not supported», возможно, в вашей файловой системе отсутствует поддержка ACL.

Чтобы это исправить, вам нужно добавить опцию acl mount в файле /etc/fstab, чтобы файловая система была смонтирована с поддержкой ACL по умолчанию.

Изменение и просмотр настроек ACL с помощью setfacl и getfacl

Чтобы установить ACL, вам нужна команда setfacl. Чтобы увидеть текущие настройки ACL, вам нужен getfacl. Команда ls -l не показывает никаких существующих ACL; он просто показывает + после списка разрешений, который указывает, что списки ACL применяются и к файлу.

Перед настройкой списков ACL всегда полезно показать текущие настройки ACL с помощью getfacl. Ниже на примере вы можете увидеть текущие права доступа, как показано с помощью ls -ld, а также как показано с getfacl. Если вы посмотрите достаточно внимательно, вы увидите, что показанная информация точно такая же.

[root@server1 /]# ls -ld /dir
drwxr-xr-x. 2 root root 6 Feb 6 11:28 /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

В результате выполнения команды getfacl ниже видно, что разрешения показаны для трех разных объектов: пользователя, группы и других. Теперь давайте добавим ACL, чтобы дать права на чтение и выполнение и группе sales. Команда для этого setfacl -m g:sales:rx /dir. В этой команде -m указывает, что текущие настройки ACL необходимо изменить. После этого g:sales:rx сообщает команде установить ACL для чтения и выполнения (rx) для группы (g) sales. Ниже вы можете увидеть, как выглядит команда, а также вывод команды getfacl после изменения текущих настроек ACL.

[root@server1 /]# setfacl -m g:sales:rx /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
group:sales:r-x
mask::r-x
other::r-x

Теперь, когда вы понимаете, как установить групповой ACL, легко понять ACL для пользователей и других пользователей. Например, команда setfacl -m u:linda:rwx /data дает разрешения пользователю linda в каталоге /data, не делая его владельцем и не изменяя назначение текущего владельца.

Команда setfacl имеет много возможностей и опций. Один вариант особенно важен, параметр -R. Если используется, опция делает настройку ACL для всех файлов и подкаталогов, которые в настоящее время существуют в каталоге, где вы устанавливаете ACL. Рекомендуется всегда использовать эту опцию при изменении списков ACL для существующих каталогов.

Работа с ACL по умолчанию

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

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

Это важно знать. Если вы хотите использовать ACL для настройки доступа нескольких пользователей или групп к одному и тому же каталогу, вы должны установить ACL дважды. Сначала используйте setfacl -R -m, чтобы изменить ACL для текущих файлов. Затем используйте setfacl -m d:, чтобы позаботиться обо всех новых элементах, которые также будут созданы.

Чтобы установить ACL по умолчанию, вам просто нужно добавить опцию d после опции -m (порядок имеет значение!). Поэтому используйте setfacl -m d:g:sales:rx /data, если вы хотите, чтобы группа sales имела доступ на чтение и выполнение всего, что когда-либо будет создано в каталоге /data.

При использовании списков ACL по умолчанию также может быть полезно установить ACL для других. Обычно это не имеет особого смысла, потому что вы также можете изменить разрешения для других, используя chmod. Однако, что вы не можете сделать с помощью chmod, это указать права, которые должны быть предоставлены другим пользователям для каждого нового файла, который когда-либо будет создан. Если вы хотите, чтобы другие не получали никаких разрешений на что-либо, созданное в /data, например, используйте setfacl -m d:o::- /data.

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

Пример управления расширенными правами с использованием ACL

В этом примере вы продолжите работу с каталогами /data/account и /data/sales, которые вы создали ранее. В предыдущих примерах вы гарантировали, что группа sales имеет разрешения на /data/sales, а группа account имеет разрешения на /data/account.

Сначала убедитесь, что группа account получает разрешения на чтение в каталоге /data/sales, а группа sales получает разрешения на чтение в каталоге /data/account.

Затем вы устанавливаете списки ACL по умолчанию, чтобы убедиться, что для всех новых файлов правильно установлены разрешения для всех новых элементов.

  1. Откройте терминал.
  2. Выполните setfacl -m g:account:rx /data/sales и setfacl -m g:sales:rx /data/account.
  3. Выполните getfacl, чтобы убедиться, что права доступа были установлены так, как вы хотели.
  4. Выполните setfacl -m d:g:account:rwx,g:sales:rx /data/sales, чтобы установить ACL по умолчанию для каталога sales.
  5. Добавьте ACL по умолчанию для каталога /data/account, используя setfacl -m d:g:sales:rwx,g:account:rx /data/account.
  6. Убедитесь, что настройки ACL действуют, добавив новый файл в /data/sales. Выполните touch /data/sales/newfile и выполните getfacl /data/sales/newfile для проверки текущих разрешений.

Установка прав по умолчанию с помощью umask

Выше вы узнали, как работать с ACL по умолчанию. Если вы не используете ACL, есть параметр оболочки, который определяет права по умолчанию, которые вы получите: umask (обратная маска). В этом разделе вы узнаете, как изменить разрешения по умолчанию с помощью umask.

Вы, наверное, заметили, что при создании нового файла устанавливаются некоторые разрешения по умолчанию. Эти разрешения определяются настройкой umask. Этот параметр оболочки применяется ко всем пользователям при входе в систему. В параметре umask используется числовое значение, которое вычитается из максимальных разрешений, которые могут быть автоматически установлены для файла; максимальная настройка для файлов — 666, а для каталогов — 777.

Однако некоторые исключения относятся к этому правилу. Вы можете найти полный обзор настроек umask в таблице внизу.

Из цифр, используемых в umask, как и в случае числовых аргументов для команды chmod, первая цифра относится к разрешениям пользователя, вторая цифра относится к разрешениям группы, а последняя относится к разрешениям по умолчанию, установленным для других. Значение umask по умолчанию 022 дает 644 для всех новых файлов и 755 для всех новых каталогов, созданных на вашем сервере.

Полный обзор всех числовых значений umask и их результатов в таблице ниже.

Простой способ увидеть, как работает параметр umask, выглядит следующим образом: начните с разрешений по умолчанию для файла, установленного на 666, и вычтите umask, чтобы получить действующие разрешения. Сделайте то же самое для каталога и его разрешений по умолчанию 777.

Есть два способа изменить настройку umask: для всех пользователей и для отдельных пользователей. Если вы хотите установить umask для всех пользователей, вы должны убедиться, что параметр umask учитывается при запуске файлов среды оболочки, как указано в /etc/profile. Правильный подход — создать сценарий оболочки с именем umask.sh в каталоге /etc/profile.d и указать umask, который вы хотите использовать в этом сценарии оболочки. Если в этом файле изменяется umask, он применяется ко всем пользователям после входа на сервер.

Альтернативой настройке umask через /etc/profile и связанные файлы, где он применяется ко всем пользователям, входящим в систему, является изменение настроек umask в файле с именем .profile, который создается в домашнем каталоге каждого пользователя.

Настройки, примененные в этом файле, применяются только для отдельного пользователя; следовательно, это хороший метод, если вам нужно больше детализации. Мне лично нравится эта функция, чтобы изменить значение umask по умолчанию для пользователя root на 027, тогда как обычные пользователи работают с umask по умолчанию 022.

Работа с расширенными атрибутами пользователя

Это заключительный раздел о правах в Linux.

При работе с разрешениями всегда существует связь между объектом пользователя или группы и разрешениями, которые эти объекты пользователя или группы имеют для файла или каталога. Альтернативный метод защиты файлов на сервере Linux — работа с атрибутами.

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

Как и в случае с ACL, для атрибутов файла может потребоваться включить параметр mount.

Это опция user_xattr. Если вы получаете сообщение «operation not supported» при работе с расширенными атрибутами пользователя, обязательно установите параметр mount в файле /etc/fstab.

Многие атрибуты задокументированы. Некоторые атрибуты доступны, но еще не реализованы. Не используйте их; они ничего вам не принесут.

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

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

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

a Этот атрибут позволяет добавлять, но не удалять файл.

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

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

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

I Этот атрибут включает индексирование для каталога, в котором он включен. Это обеспечивает более быстрый доступ к файлам для примитивных файловых систем, таких как Ext3, которые не используют базу данных B-tree для быстрого доступа к файлам.

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

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

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

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

Если вы хотите применить атрибуты, вы можете использовать команду chattr. Например, используйте chattr +s somefile, чтобы применить атрибуты к somefile. Нужно удалить атрибут? Тогда используйте chattr -s somefile, и он будет удален. Чтобы получить обзор всех атрибутов, которые в настоящее время применяются, используйте команду lsattr.

Резюме

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

Если вам понравился этот перевод, то прошу написать об этом в комментариях. Будет больше мотивации делать полезные переводы.

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

Вместо «Только кто-то с административными правами на каталог может применять разрешение на выполнение.» исправил на «Только кто-то с правами записи на каталог может применять разрешение на выполнение.», что будет более правильным.

За замечания спасибо berez.

Заменил:

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

На:

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

Спасибо за замечание CryptoPirate

Команда Chown в Linux | ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

 

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

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

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

chown [OPTIONS] USER[:GROUP] FILE(s)

 

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

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

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

 

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

Чтобы изменить только группу файла, используйте команду 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.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

chown рекурсивно меняем права папок и файлов

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

Утилита сhown (ее название произошло от сочетания слов «change» и «mode») позволяет изменять владельца или группу у папок и файлов.

Когда меняется владелец, он получает возможность использовать иные возможности доступа и ограничить его для остальных администраторов. Подобное разрешение можно задавать при помощи чисел и символов.

Синтаксис

Рассмотрим синтаксис команды.

chown [OPTIONS] USER[:GROUP] FILE(s)

  • 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» включая вложенные папки и файлы.

cd /root

chown -R ya:nogroup *

команда chown в Linux с примерами

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

  • С каждым пользователем связаны некоторые свойства, такие как идентификатор пользователя и домашний каталог. Мы можем добавлять пользователей в группу, чтобы упростить процесс управления пользователями.
  • Группа может иметь ноль или более пользователей. Указанный пользователь может быть связан с «группой по умолчанию». Он также может быть членом других групп в системе.

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

  • Чтение: это разрешение позволяет пользователю читать файлы и в каталогах, оно позволяет пользователю читать каталоги и подкаталоги, хранящиеся в нем.
  • Запись: это разрешение позволяет пользователю изменять и удалять файл. Также он позволяет пользователю изменять его содержимое (создавать, удалять и переименовывать в нем файлы) для каталогов. Если разрешение на выполнение не дано для каталогов, изменения действительно влияют на них.
  • Выполнить: разрешение на запись в файл позволяет выполнить его. Например, если у нас есть файл с именем php.sh, поэтому, если мы не дадим ему разрешение на выполнение, он не запустится.

Типы файлов Permissions:

  • Пользователь: Этот тип разрешения файла влияет на владельца файла.
  • Группа: Этот тип разрешения файла влияет на группу, которой принадлежит файл. Вместо групповых разрешений, пользовательские разрешения будут применяться, если пользователь-владелец находится в этой группе.
  • Другое: эти типы прав доступа к файлам влияют на всех остальных пользователей системы.

Примечание. Для просмотра разрешений мы используем:

ls -l  

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

Синтаксис:

chown [OPTION]… [OWNER][:[GROUP]] FILE…
chown [OPTION]… –reference=RFILE FILE…

Пример: чтобы изменить владельца файла:

chown owner_name file_name

В нашем случае у нас есть файлы следующим образом:

Теперь, если я использую file1.txt в моем случае, для смены владельца я буду использовать следующий синтаксис:

chown master file1.txt

где мастер — другой пользователь в системе. Предположим, что если вы пользователь с именем user1 и хотите сменить владельца на root (где ваш текущий каталог — user1). используйте «sudo» перед синтаксисом.

sudo chown root file1.txt

Параметры:

Примеры:

  1. Чтобы изменить владение группой В нашем случае я использую группу 1 как группу в системе. Для смены владельца мы будем использовать
    chown :group1 file1.txt

    Вы можете видеть, что права доступа группы изменились на group1 из root, если вы используете опцию -v, она сообщит об этом. Нам просто нужно добавить «:», чтобы изменить группу.

  2. Чтобы изменить владельца и группу: Снова выберите master в качестве пользователя и group1 в качестве группы в системе.
    chown master:group1 greek1

    Здесь greek1 — это файл.

  3. Чтобы изменить владельца только с определенного владельца: предположим, что мы хотим изменить владельца с основного на корневой, где текущий владелец должен быть только основным.
    chown --from=master root greek1

  4. Чтобы изменить группу из определенной группы:
    chown --from=:group1 root greek1

    Здесь группа greek1 изменена на root.

  5. Чтобы скопировать право собственности на один файл в другой:
    chown --reference=greek1 greek2

  6. Чтобы изменить владельца нескольких файлов:
    chown master:group greek2 greek3 

Рекомендуемые посты:

команда chown в Linux с примерами

0.00 (0%) 0 votes

chown — команда изменения владельца файлов и папок в linux

Как упоминалось и не раз, например, в → этой статье про права на файл, что в linux всё является файлом, а у файла есть владелец и группа. При работе с файлами и папками может потребоваться сменить владельца и/или группу. Например, при смене пользователя или его домашнего каталога. Или для того, чтобы заблокировать доступ пользователю к папке и файлам, лежащим в ней. Или наоборот, когда нужно дать права пользователю или группе пользователей в определённое место на диске.

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

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

root@server:~# chown --help
Usage: chown [OPTION]... [OWNER][:[GROUP]] FILE...
  or:  chown [OPTION]... --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: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/chown>
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 не так часто востребованы и используются, поэтому пока не буду с ними разбираться.

Пример использования в видео-инструкции:

Заберите ссылку на статью к себе, чтобы потом легко её найти 😉

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Команда chmod в Linux. Linux статьи

Команда chmod, команда chown и команда chgrp.

Команда chmod

Команда chmod предназначена для изменения прав доступа файлов и директорий в Linux. Название команды произошло от словосочетания «change mode».

Синтаксис команды chmod следующий:

chmod разрешения имя_файла

Разрешения можно задавать двумя способами:

  • Числом
  • Символами

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

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

Пример:

chmod 764 myfile

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

  • Первая цифра используется для указания прав доступа для пользователя.
  • Вторая цифра для группы.
  • Третья для всех остальных.

В таблице ниже приводятся все возможные комбинации разрешений rwx и соответсвующие им числа (которые используются в команде chmod):

ЧислоРазрешенияСимвольное обозначение
0разрешения отсутствуют
1x — запуск—x
2w — изменение-w-
3x+w — запуск+изменение-wx
4r — чтениеr—
5r+x — чтение+запускr-x
6r+w — чтение+изменениеrw-
7r+w+x — чтение+изменение+запускrwx

Рассмотрим использование команды chmod с записью прав доступа числом на примере. Установим для файла права доступа 764:

chmod 764 myfile

Это означает (см. таблицу выше), что для файла myfile мы устанавливаем права доступа 764, которые означают:

  • 7 — права для владельца-пользователя. Владелец файла может читать, изменять и запускать файл (r+w+x).
  • 6 — права для группы. Пользователи, которые принадлежат группе могут читать и изменять файл (r+w).
  • 4 — права для всех остальных. Все остальные могут только читать файл (r).

Если записать 764 с помощью символов (см. таблицу), то мы получим: «rwxrw-r-».

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

Числовое
обозначение
«rwx»-обозначениеОписание
400-r———Владелец файла может только читать файл. Для всех остальных все действия с файлом запрещены.
644-rw-r—r—Все пользователи могут читать файл. Владелец может изменять файл.
660-rw-rw—-Владелец и группа могут читать и изменять файл. Для всех остальных все действия с файлом запрещены.
664-rw-rw-r—Все могут читать файл. Владелец и группа могут изменять.
666-rw-rw-rw-Все могут читать и изменять файл.
700-rwx——Владелец может читать, изменять и запускать файл. Для всех остальных все действия с файлом запрещены.
744-rwxr—r—Все могут читать файл. Владелец может также изменять и запускать файл.
755-rwxr-xr-xВсе могут читать и запускать файл. Владелец может также изменять файл.
777-rwxrwxrwxВсе пользователи могут читать, изменять и редактировать файл.
Запись прав доступа символами

Примеры:

chmod +x myfile1
chmod g=rw myfile2
chmod u-w myfile3

Как вы можете видеть, в данном формате права доступа задаются символами rwx, но в синтаксисе используются и другие вспомогательные символы, например, математические операции «+» и «» и такие символы как, например, «g» или «u».

Общий синтаксис можно записать примерно так:

chmod (владелец)(математическая операция)(разрешения) имя_файла

Обозначения для владельцев файла следующие:

ОбозначениеОписание
uВладелец-пользователь.
gГруппа.
oВсе остальные.
aВообще все.

Математические операции означают следующее:

ОператорОписание
+Добавляет к текущим правам доступа новое разрешение.
Удаляет из текущих прав доступа определенное разрешение.
=Устанавливает полностью новые разрешения (предыдущие перезаписываются новыми).

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

Рассмотрим примеры:

  • chmod +x myfile1

    В данном случае мы не используем обозначения для владельцев, а значит разрешения устанавливаются для всех пользователей. «+x» означает — установить разрешение на запуск (x) файла для всех пользователей. Это эквивалентно выполнению команды: chmod a+x myfile1.

  • chmod g=rw myfile2

    Здесь используется обозначение g и символ равенства «=». Это означает, что для группы мы устанавливаем права доступа на чтение и запись файла (rw).

  • chmod u-w myfile3

    Для владельца файла (u) мы удаляем разрешение на изменение (w) файла.

  • chmod ug+x myfile2

    Разрешаем владельцу (u) и группе (g) запускать файл (x).

  • chmod u+x,g-w,o-r myfile3

    Это как раз тот случай, когда мы перечисляем владельцев через запятую и устанавливаем для них разрешения. Для владельца файла (u) мы разрешаем запуск файла, для группы (g) мы запрещаем изменять файл, для всех остальных (o) мы запрещаем читать файл.

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

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

chmod -R 644 Mydir

И еще один момент. Если пользователь не является владельцем файла, но ему нужно изменить права доступа у данного файла, то команду chmod необходимо выполнять с использованием sudo, например:

sudo chmod 644 file
Видео-обзор команды chmod

Команда chown — изменение владельца и группы

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

Для изменения владельца файла используется следующий синтаксис:

chown новый_владелец имя_файла

Например, установим для файла myfile нового владельца vasya:

chown vasya myfile

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

chown новый_владелец:новая_группа имя_файла

Например, установим для файла myfile нового владельца vasya и группу sambashare:

chown vasya:sambashare myfile

Команда chgrp — изменение группы

Есть еще одна команда — chgrp. Она позволяет изменить только группу. Например:

chgrp sambashare myfile

Резюме

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

Разрешения задаются для владельца, группы и для всех остальных.

Есть три вида разрешений — r — чтение, w — изменение, x — запуск.

Чтобы изменить разрешения у файла используется команда chmod.

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

Чтобы изменить группу используется chgrp.

Ubuntu Manpage: chown — изменение владельца файла и группы

Предоставлено: coreutils_8.21-1ubuntu5_amd64

 
НАИМЕНОВАНИЕ
       chown - изменить владельца файла и группу

 
ОБЗОР
         chown  [ ОПЦИЯ ] ... [ ВЛАДЕЛЕЦ ] [:  [ ГРУППА ]]  ФАЙЛ  ...
         chown  [ OPTION ] ...  --reference = RFILE   FILE ...

 
ОПИСАНИЕ
       Эта страница руководства документирует GNU-версию  chown .  chown  изменяет пользователя и / или группу
       право собственности на каждый данный файл. Если указан только владелец (имя пользователя или числовой идентификатор пользователя),
       этот пользователь становится владельцем каждого данного файла, и группа файлов не изменяется. Если
       после владельца следует двоеточие и имя группы (или числовой идентификатор группы) без пробелов
       между ними также изменяется групповое владение файлами.Если двоеточие, но нет
       имя группы следует за именем пользователя, этот пользователь становится владельцем файлов и группы
       файлов изменяется на группу входа этого пользователя. Если даны двоеточие и группа, но
       владелец опускается, изменяется только группа файлов; в этом случае  chown  выполняет
       та же функция, что и  chgrp . Если задано только двоеточие или весь операнд пуст,
       ни владелец, ни группа не меняются.

 
ОПЦИИ
       Измените владельца и / или группу каждого ФАЙЛА на ВЛАДЕЛЬЦА и / или ГРУППУ.С  - ссылка ,
       измените владельца и группу каждого ФАЙЛА на RFILE.

         -c ,  - изменения 
              как подробный, но сообщать только при внесении изменений

         -f ,  - тихий ,  - тихий 
              подавлять большинство сообщений об ошибках

         -v ,  -verbose 
              выводить диагностику для каждого обработанного файла

         - разыменование 
              влияют на референт каждой символической ссылки (это значение по умолчанию), а не на
              сама символическая ссылка

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

         - от  =  CURRENT_OWNER : CURRENT_GROUP
              изменять владельца и / или группу каждого файла, только если его текущий владелец и / или группа
              соответствуют указанным здесь.Любой из них может быть опущен, и в этом случае совпадение не будет
              требуется для пропущенного атрибута

         - без сохранения корня 
              не обрабатывать '/' специально (по умолчанию)

         - сохранить-корень 
              не работают рекурсивно с '/'

         - ссылка  =  RFILE 
              использовать владельца и группу RFILE вместо указания значений OWNER: GROUP

         -R ,  - рекурсивный 
              рекурсивно работать с файлами и каталогами

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

         -H , если аргумент командной строки является символической ссылкой на каталог, пройти по нему

         -L  пройти каждую символическую ссылку на обнаруженный каталог

         -P  не переходить по символическим ссылкам (по умолчанию)

         --help  отобразить эту справку и выйти

         - версия 
              вывести информацию о версии и выйти

       Владелец не меняется, если отсутствует.Группа не изменяется, если отсутствует, но изменяется на группу входа
       если подразумевается ":" после символического ВЛАДЕЛЬЦА. OWNER и GROUP могут быть числовыми, а также
       символический.

 
ПРИМЕРЫ
       chown root / u
              Измените владельца / u на "root".

       корень chown: Staff / u
              Точно так же, но также измените свою группу на «персонал».

       chown  -hR  root / u
              Измените владельца / u и подфайлов на «root».

 
АВТОР
       Написано Дэвидом Маккензи и Джимом Майерингом.
ОТЧЕТЫ ОШИБКИ
       Сообщайте об ошибках chown на [email protected]
       Домашняя страница GNU coreutils: 
       Общая справка по использованию программного обеспечения GNU: 
       Сообщайте об ошибках перевода chown на 

 
АВТОРСКОЕ ПРАВО
       Авторские права © 2013 Free Software Foundation, Inc. Лицензия GPLv3 +: GNU GPL версии 3 или
       позже .
       Это бесплатное программное обеспечение: вы можете изменять и распространять его. НЕТ ГАРАНТИИ,
       в пределах, разрешенных законом.

 
СМОТРЕТЬ ТАКЖЕ
       чавн (2)

       Полная документация для  chown  поддерживается в виде руководства в формате Texinfo. Если  info  и  chown 
       программы правильно установлены на вашем сайте, команда

                информация   coreutils   'chown   invocation' 

       должен предоставить вам доступ к полному руководству.

.

Справка по команде Linux chown и примеры

Обновлено: 04.05.2019, Computer Hope

В Unix-подобных операционных системах команда chown изменяет владельца файлов и каталогов в файловой системе.

Этот документ описывает GNU / Linux версию chown .

Что такое «владение» файлом?

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

Существует три основных типа прав доступа к файлам:

  • Разрешения пользователя . Эти разрешения применяются к одному пользователю, у которого есть особый доступ к файлу. Этого пользователя называют владельцем .
  • Группа разрешений. Они применяются к одной группе пользователей, у которых есть доступ к файлу. Это группа владельцев .
  • Прочие разрешений. Они применимы ко всем остальным пользователям системы.Эти пользователи известны как , другие или в мире .

Когда файл создается, его владельцем является пользователь, который его создал, а группа-владелец — текущая группа пользователя.

chown может изменить эти значения на другие.

Синтаксис

  chown  [ -c  |  --изменения ] [ -v  |  - вербальный ] [ -f  |  - бесшумный  |  --quiet ] [ --dereference ]
      [ -h  |  --no-dereference ] [ --preserve-root ]
      [ --from =   currentowner  :   currentgroup ] [ --no-preserve-root ]
      [ -R  |  - рекурсивный ] [ --preserve-root ] [ -H ] [ -L ] [ -P ]
      { новый собственник  |  --reference =   ref-file }  file ... 
  chown --help  
  chown - версия  

Указание нового владельца

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

 [ пользователь  [:   группа ]] 

В частности, есть пять способов отформатировать новый владелец :

новый владелец форма Описание
пользователь Имя пользователя, которому принадлежит файл.В этой форме двоеточие («: ») и группа опущены. Группа-владелец не изменяется.
пользователь : группа Пользователь и группа для владения файлом, разделенные двоеточием, без пробелов между ними.
: группа Группа, которой принадлежит файл. В этой форме пользователь опущен, а группе должно предшествовать двоеточие.
пользователь : Если группа опущена, но двоеточие следует за пользователем , владелец меняется на пользователя , а группа-владелец изменяется на группу входа в систему пользователя .
: Указание двоеточия без пользователя или группы допускается, но право собственности не будет изменено. Эта форма не вызывает ошибки, но ничего не меняет.

Указания по использованию

  • пользователь и группа может быть указана по имени или по номеру.
  • Только root может изменить владельца файла. Владелец не может передать право собственности, если владелец не является пользователем root или не использует sudo для выполнения команды.
  • Группа-владелец файла может быть изменена владельцем файла, если владелец принадлежит к этой группе. Группа-владелец файла может быть изменена пользователем root на любую группу. Члены группы-владельца, кроме владельца, не могут изменить группу-владельца файла.
  • Группа-владелец также может быть изменена с помощью команды chgrp . chgrp и chown используют один и тот же системный вызов и функционально идентичны.
  • Определенные прочие операции с файлами могут выполняться только владельцем или пользователем root. Например, только владелец или root может вручную изменить «atime» или «mtime» (время доступа или время изменения) файла с помощью команды touch .
  • Из-за этих ограничений вам почти всегда нужно запускать chown от имени пользователя root или с sudo .

Опции

Опция Описание
-c ,
— изменения
Аналогично режиму —verbose , но отображает только информацию о файлах, которые были фактически изменены.Например:

 сменил владельца 'dir / dir1 / file1' с hope: neil на hope: hope 
-v ,
-verbose
Показать подробную информацию для каждого обработанного файла. Например:

 сменил владельца 'dir / dir1 / file1' с hope: neil на hope: hope владение 'dir / dir1' сохранено как надежда: hope 
-f ,
— тихий ,
— тихий
Тихий режим.Не отображать вывод.
— разыменование Разыменовать все символические ссылки. Если файл является символической ссылкой, измените владельца указанного файла, а не саму символическую ссылку. Это поведение по умолчанию.
-h ,
— без разыменования
Никогда не разыменовывайте символические ссылки. Если файл является символической ссылкой, измените владельца символической ссылки, а не файла, на который указывает ссылка.
—from = текущий собственник : текущая группа Измените владельца или группу каждого файла, только если его текущий владелец или группа соответствуют currentowner и / или currentgroup .Любой из них может быть опущен, и в этом случае совпадение для другого атрибута не требуется.
— без сохранения корня Не обрабатывайте / (корневой каталог) каким-либо особым образом. Это поведение по умолчанию. Если в команде ранее была указана опция —preserve-root , эта опция отменит ее.
—reference = ref-file Используйте владельца и группу файла ref-file , вместо того, чтобы указывать владение с новым владельцем .
-R ,
— рекурсивный
Рекурсивно работать с файлами и каталогами. Войдите в каждый соответствующий каталог и работайте со всем его содержимым.

Опции

Следующие параметры изменяют способ обхода иерархии, если указан параметр -R или —recursive .

Опция Описание
— сохранить корень Никогда не работайте рекурсивно с корневым каталогом /.

Если —recursive не указан, эта опция не действует.

-H Если файл, указанный в командной строке, является символической ссылкой на каталог, просмотрите его и также работайте с этими файлами и каталогами.
-L Перейти по всем символьным ссылкам в каталогах.
-P Не переходить по символическим ссылкам; работают с самими символическими ссылками.Это поведение по умолчанию.

Если указано более одного из -H , -L или -P , действует только последний вариант.

Опции

Эти параметры отображают информацию о программе и не могут использоваться с другими параметрами или аргументами.

Опция Описание
— справка Вывести краткое справочное сообщение и выйти.
— версия Показать информацию о версии и выйти.

Статус выхода

chown завершает работу со статусом 0 для успеха. Любое другое число указывает на неудачную операцию.

Зачем менять владельца файла?

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

Гипотетические сценарии

Вот несколько примеров, когда вы можете использовать chown :

 sudo chown myuser myfile.txt 
 sudo chown notme: notmygroup myfile.txt 
 sudo chown -R myuser: mygroup другие файлы 

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

Группы в Linux

В Linux пользователь может быть членом нескольких групп, но у него есть только одна «текущая группа». Текущая группа пользователя — это идентификатор группы пользователя или GID .

Когда пользователь создает новый файл, владельцем файла устанавливается UID пользователя (идентификатор пользователя) и GID (идентификатор группы).Поэтому, когда пользователь carla начинает писать новый документ, файл принадлежит carla, а также ее текущей группе. Она может изменить групповое владение файлом с помощью chown , но только root может использовать chown для смены владельца на кого-то другого.

Кроме того, каждый пользователь имеет настраиваемую группу входа в систему , которая может быть любой из групп пользователей. Поэтому, когда carla входит в систему, ее группа входа является ее текущей группой. Группу входа в систему можно изменить с помощью команды usermod , используя параметр -g .

 sudo usermod -g newlogingroup carla 

Пользователь может изменить текущую группу с помощью команды newgrp . Изменение происходит в подоболочке и сохраняется до закрытия подоболочки. Даже если carla изменит свою текущую группу на newgrp , она будет сброшена на ее группу входа при следующем входе в систему.

Вы можете проверить свою текущую группу, используя команду id с опцией -g :

 id -g 
 1001 

Это ваш числовой GID (номер вашей текущей группы).Чтобы увидеть имя, укажите опцию -n :

 id -ng 
 надежда 

Чтобы просмотреть все свое членство в группе, используйте заглавную букву G :

 id -nG 
 надежда sudo neil libvirtd группа пользователей vboxusers 

По умолчанию у каждого пользователя Linux есть частная группа, в которой этот пользователь является единственным участником. Поэтому, когда учетная запись пользователя jeff создается с помощью команды adduser , также создается группа с именем jeff .Группа jeff — это группа входа в систему по умолчанию для Джеффа, в которой только один участник (jeff).

Группы в других операционных системах

Другие операционные системы используют chown , но их группы могут работать по-другому.

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

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

Примеры

Просмотр права собственности

Перед тем, как использовать chown , вы можете проверить текущее право собственности на файл. Вы можете просмотреть владельца файла, разрешения и другую важную информацию с помощью команды ls , используя параметр -l :

 ls -l myscript.sh 
 -rwxrw-r-- 1 надежда надеждаузеры 12 ноя 5 13:14 myscript.sh 

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

Вот что означает информация:

.

Ubuntu Manpage: chown — изменение владельца файла и группы

Предоставлено: coreutils_8.13-3ubuntu3_amd64

 
НАИМЕНОВАНИЕ
       chown - изменить владельца файла и группу

 
ОБЗОР
         chown  [ ОПЦИЯ ] ... [ ВЛАДЕЛЕЦ ] [:  [ ГРУППА ]]  ФАЙЛ  ...
         chown  [ OPTION ] ...  --reference = RFILE   FILE ...

 
ОПИСАНИЕ
       Эта страница руководства документирует GNU-версию  chown .  chown  изменяет пользователя и / или группу
       право собственности на каждый данный файл. Если указан только владелец (имя пользователя или числовой идентификатор пользователя),
       этот пользователь становится владельцем каждого данного файла, и группа файлов не изменяется. Если
       после владельца следует двоеточие и имя группы (или числовой идентификатор группы) без пробелов
       между ними также изменяется групповое владение файлами.Если двоеточие, но нет
       имя группы следует за именем пользователя, этот пользователь становится владельцем файлов и группы
       файлов изменяется на группу входа этого пользователя. Если даны двоеточие и группа, но
       владелец опускается, изменяется только группа файлов; в этом случае  chown  выполняет
       та же функция, что и  chgrp . Если задано только двоеточие или весь операнд пуст,
       ни владелец, ни группа не меняются.

 
ОПЦИИ
       Измените владельца и / или группу каждого ФАЙЛА на ВЛАДЕЛЬЦА и / или ГРУППУ.С  - ссылка ,
       измените владельца и группу каждого ФАЙЛА на RFILE.

         -c ,  - изменения 
              как подробный, но сообщать только при внесении изменений

         - разыменование 
              влияют на референт каждой символической ссылки (это значение по умолчанию), а не на
              сама символическая ссылка

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

         - от  =  CURRENT_OWNER : CURRENT_GROUP
              изменять владельца и / или группу каждого файла, только если его текущий владелец и / или группа
              соответствуют указанным здесь.Любой из них может быть опущен, и в этом случае совпадение не будет
              требуется для пропущенного атрибута

         - без сохранения корня 
              не обрабатывать `/ 'специально (по умолчанию)

         - сохранить-корень 
              не работают рекурсивно с `/ '

         -f ,  - тихий ,  - тихий 
              подавлять большинство сообщений об ошибках

         - ссылка  =  RFILE 
              использовать владельца и группу RFILE вместо указания значений OWNER: GROUP

         -R ,  - рекурсивный 
              рекурсивно работать с файлами и каталогами

         -v ,  -verbose 
              выводить диагностику для каждого обработанного файла

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

         -H , если аргумент командной строки является символической ссылкой на каталог, пройти по нему

         -L  пройти каждую символическую ссылку на обнаруженный каталог

         -P  не переходить по символическим ссылкам (по умолчанию)

         --help  отобразить эту справку и выйти

         - версия 
              вывести информацию о версии и выйти

       Владелец не меняется, если отсутствует.Группа не изменяется, если отсутствует, но изменяется на группу входа
       если подразумевается символом ":" после символического ВЛАДЕЛЬЦА. OWNER и GROUP могут быть числовыми, а также
       символический.

 
ПРИМЕРЫ
       chown root / u
              Измените владельца / u на "root".

       корень chown: Staff / u
              Точно так же, но также измените свою группу на «персонал».

       chown  -hR  root / u
              Измените владельца / u и подфайлов на «root».

 
АВТОР
       Написано Дэвидом Маккензи и Джимом Майерингом.
ОТЧЕТЫ ОШИБКИ
       Сообщайте об ошибках chown на [email protected]
       Домашняя страница GNU coreutils: 
       Общая справка по использованию программного обеспечения GNU: 
       Сообщайте об ошибках перевода chown на 

 
АВТОРСКОЕ ПРАВО
       Авторские права © 2011 Free Software Foundation, Inc. Лицензия GPLv3 +: GNU GPL версии 3 или
       позже .
       Это бесплатное программное обеспечение: вы можете изменять и распространять его. НЕТ ГАРАНТИИ,
       в пределах, разрешенных законом.

 
СМОТРЕТЬ ТАКЖЕ
       чавн (2)

       Полная документация для  chown  поддерживается в виде руководства в формате Texinfo. Если  info  и  chown 
       программы правильно установлены на вашем сайте, команда

                информация   coreutils   'chown   invocation' 

       должен предоставить вам доступ к полному руководству.

.

Linux: команда chown


В этом руководстве Linux объясняется, как использовать команду chown Linux с синтаксисом и аргументами.

НАЗВАНИЕ

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

ОБЗОР

chown [ OPTION ] … [ OWNER ] [: [ GROUP ]] FILE
chown [ OPTION ] … —reference = RFILE ФАЙЛ

ОПИСАНИЕ

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

ОПЦИИ

Измените владельца и / или группу каждого ФАЙЛА на ВЛАДЕЛЬЦА и / или ГРУППУ. С — ссылка измените владельца и группу каждого ФАЙЛА на RFILE.

-c , — изменения
как подробный, но сообщать только при внесении изменений
— разыменование
влияет на референт каждой символической ссылки (это значение по умолчанию), а не на саму символическую ссылку
-h , -без ссылки
влияет на каждую символическую ссылку вместо любого файла, на который есть ссылка (полезно только в системах, которые могут изменять владельца символической ссылки)
— от = CURRENT_OWNER : CURRENT_GROUP
изменяет владельца и / или группу каждого файла, только если его текущий владелец и / или группа соответствуют указанным здесь.Любой из них может быть опущен, и в этом случае совпадение для пропущенного атрибута

не требуется.

— без сохранения корня
не обрабатывать `/ ‘специально (по умолчанию)
— сохранить-корень
не работают рекурсивно на `/ ‘
-f , — тихий , — тихий
подавляет большинство сообщений об ошибках
— ссылка = RFILE
использовать владельца и группу RFILE, а не указывать значения OWNER: GROUP
-R , — рекурсивный
рекурсивно работают с файлами и каталогами
-v , -verbose
выводит диагностику для каждого обработанного файла

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

-H
, если аргумент командной строки является символической ссылкой на каталог, пройти по нему
-L
пройти каждую символическую ссылку на обнаруженный каталог
не переходить по символическим ссылкам (по умолчанию)
— справка
отобразить эту справку и выйти из
— версия
вывести информацию о версии и выйти из

Владелец не меняется при отсутствии.Группа не изменяется, если отсутствует, но изменяется на группу входа в систему, если это подразумевается символом «:» после символического ВЛАДЕЛЬЦА. OWNER и GROUP могут быть как числовыми, так и символическими.

ПРИМЕРЫ

Чаун корень / u
Измените владельца / u на «root».
корень chown: Staff / u
Аналогично, но также измените его группу на «Staff».
chown -hR root / u
Измените владельца / u и подфайлов на «root».

.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *