Как работает Chown в Linux?

Файлы и папки в Linux принадлежат пользователю и группе, это может повлиять на то, какие пользователи могут получить доступ к файлам, и может быть важной частью безопасности. Команда для смены владельца файла творчески называется «chown», сокращенно от «сменить владельца».

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

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

Структура команды chown

Команда chown принимает форму «chown [флаги] [Пользователь] [: [Группа]] Файл [ы]». Флаги обозначают флаги команд, которые изменяют поведение команды и являются необязательными. По крайней мере, необходимо указать имя пользователя или группы, хотя оба могут быть указаны. Необходимо дать имя одному или нескольким файлам и папкам.

Как правило, вам не нужно использовать какие-либо флаги, но некоторые из них могут иногда оказаться полезными. Флаг «-R» рекурсивно работает с файлами и папками. Флаг «–from = [текущий владелец] [: [текущая группа]» используется для применения команды только к файлам и папкам, которые в настоящее время принадлежат указанному пользователю или группе. Флаг «–help» распечатывает страницу справки.

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

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

Например, владелец файла file.txt может быть изменен на user2, а группа - на group2 с помощью команды «chown user2: group2 filter.txt». Если новый владелец или группа были опущены, этот параметр не изменился бы. Самый простой способ увидеть пользователя-владельца и группу файлов - использовать команду «ls -l», которая показывает полный список каталогов, включая имя владельца и имя группы-владельца.

Почему важно владение файлами и папками

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

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

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