Как использовать команду Chown в Linux

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

Если вы откроете окно терминала на рабочем столе Linux и выполните команду ls -l, Вы увидите третий столбец слева, показывающий, кто является владельцем файлов и папок.

Снимок экрана: команда ls -l с указанием владельца.

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

Вы меняете владельца файла или папки с помощью Чаун команда. Chown означает смену владельца, и его довольно просто использовать. Давайте узнаем, как.

Слово предупреждения

Чтобы изменить владельца файлов и / или каталогов, вам нужно будет использовать Судо. Используя Судо (что означает Super User Do), вы можете запускать административные задачи, что означает, что вы можете работать с файлами и / или каталогами, которые вы обычно не сможете. Для этого используйте Судо с осторожностью.

Изменение владельца одного файла

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

  • Бетани
  • Джекоб

У пользователя Бетани есть файл с именем test что Джейкоб должен получить доступ. Если Бетани выдает команду ls -l, она отмечает, что она является владельцем файла. 

Скриншот владения тестовым файлом.

Чтобы jacob получил доступ к файлу, bethany необходимо сменить владельца.

Еще одно предупреждение

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

Чтобы Бетани сменила владельца файла test, чтобы он затем принадлежал jacob, она выдаст команду Судо Чоун Джейкоб ~ / тест. После выполнения этой команды Бетани затем проверяет владение командой ls -l чтобы увидеть, что jacob теперь является владельцем файла.

Скриншот jacob, теперь владеющий файлом.

Однако то, что jacob является владельцем файла, не означает, что он имеет права как на чтение, так и на запись. Почему? Поскольку, в его нынешнем виде, файл находится в каталоге (/ home / bethany), принадлежащем Бетани, и у jacob нет доступа для записи в каталог. Чтобы jacob имел и права на чтение, и на запись, файл должен быть перемещен в каталог, предоставляющий jacob и права на чтение и запись. Бетани может переместить эту папку в домашний каталог Джейкоба с помощью команды sudo mv ~ / test / home / jacob. Или, что еще лучше, Бетани может создать новый каталог и предоставить jacob права на чтение и запись в эту папку через владельца. Это будет сделано (пользователем bethany) с помощью следующих шагов:


  1. Откройте терминал.


  2. Создайте новый каталог с помощью команды Mkdir ~ / Джейкоб.


  3. Измените владельца каталога с помощью команды Судо Чоун Джейкоб ~ / Джейкоб.


  4. Переместите тестовый файл в новый каталог с помощью команды Mv Test ~ / Джейкоб.


Здесь группы вступают в игру. Несмотря на то, что новый каталог принадлежит jacob, поскольку каталог / home / bethany / jacob по-прежнему принадлежит группе bethany (как отмечено в четвертом столбце слева), пользователь bethany по-прежнему может получить доступ к файлу (при чтении обоих и пиши привилегии).

Скриншот Джейкоба, владеющего Бетани еще в группе.

Изменение владельца всего каталога

Скажем, у bethany есть целый каталог (заполненный файлами), к которому jacob нужен доступ. Она может либо изменить владельца этих файлов, по одному, либо она может просто изменить все это одним махом. Как она это сделает? Скажите, что рассматриваемый каталог — / home / bethany / jacob. Чтобы предоставить jacob право владения этим каталогом, bethany запускает команду Судо Чоун -R Джейкоб ~ / Джейкоб. Параметр -R обозначает рекурсивный, что означает, что он изменит владельца каталога, а затем погрузится в каталог и изменит владельца всех файлов, содержащихся в нем.

И это основы использования Чаун команда.

Ссылка на основную публикацию