→ Как поменять владельца папки linux. Chown — команда изменения владельца файлов и папок в linux. Помощь по команде chown в linux

Как поменять владельца папки linux. Chown — команда изменения владельца файлов и папок в linux. Помощь по команде chown в linux

Каждый файл или папка в Linux имеют свои права доступа.

Есть 3 типа прав:
чтение(r),запись(w),выполнение(x)

Права определяются для 3-х типов пользователей:
владельца(u), группы(g), всех других (o)

Итак права каждого файла, это 9 бит информации (3 типа прав * 3 типа пользователей), соответственно каждый бит может быть установлен (=1) доступ разрешен, или сброшен(=0) доступ запрещен.

При назначении прав принято использовать восьмеричную(octal) систему счисления.

Текстовое представление прав(10 символов):
- rwxr- - r - -
0123456789

Символ в позиции 0:
"-" - обычный файл, "d" - папка, "l" - ссылка

Символы в позиции 1-3:
"rwx" - права владельца

Символы в позиции 4-6:
"r - -" - права для группы

Символы в позиции 7-9:
"r - -" - права для всех остальных

Таблица для определения прав:

Как видно из таблицы, права легко вычисляются
простым суммированием. 1=выполнение, 2=запись, 4=чтение.
например требуется выполнение(1) и чтение(4), получаем 1+4=5

Пример 644:
- владелец(u) чтение и запись
- группа(g) только чтение
- другие(o) только чтение

Пример 755:
- владелец(u) все права
- группа(g) чтение и выполнение
- другие(o) чтение и выполнение

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

Четырехзначное представление прав(4755), дополнительные права
биты SUID, SGID, sticky:

  • SUID или setuid: изменить "User ID" во время выполнения
  • SGID или setgid: изменить "Group ID" во время выполнения
  • sticky бит: запрещает удаление для всех пользователей кроме владельца. Ранее бит означал "держаться" в памяти после завершения процесса
Таблица. Числовое представление дополнительных прав:

Текстовое представление дополнительных бит:
дополнительные биты обозначаются следующими символами:
"S","s" - SUID, SGID
"T","t" - sticky бит
позиция этих бит, совпадает с позициями (3,6,9) прав выполнения "x"
впри этом, если прав на выполнение нет используется "верхний регистр" т.е. большие символы. Если права на выполнение установлены используются "нижний регистр" т.е. маленькие символы.

примеры:

Установлен SUID:
- r w s - - - - - - установлены биты SUID и выполнение для владельца
- r - S - - - - - - установлен бит SUID, не установлен бит выполнения

Установлен SGID:
- r w x r w s - - - установлены биты SGID и выполнение для группы
- r w x r - S - - - установлен бит SGID, не уст. выполнение для группы

Установлен sticky бит:
- r w x r w x r w t установлены биты sticky и выполнение для других
- r w x r w x r - T установлен sticky бит, но не уст. выполнение для других

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

права файлы папки
чтение чтение содержимого получение списка файлов
запись запись содержимого изменение списка файлов
(создание,удаление,переименование)
выполнение файл можно выполнить пользователь или процесс, может сделать папку "текущей/рабочей"
SUID Установить "User ID" при выполнении Перекрыть идентификатор пользователя при создании файла/папки (использовать идентификатор владельца корневой папки)
SGID Установить "Group ID" при выполнении Перекрыть идентификатор группы при создании файла/папки (использовать идентификатор группы корневой папки)
sticky запретить удаление всем, кроме владельца

команда изменеия прав chmod:
chmod [-R] права файл/папка

"-R" применить права рекурсивно ко всем файлам и подпапкам

Примеры:
chmod -R 755 folder/
chmod 644 file
и т.д.

Есть возможность менять права не целиком, а лишь добавлять или отменять права только определенным группам пользователей
используя символы вместо восьмеричных чисел.
"u" - пользователь/владелец
"g" - группа пользователей
"o" - остальные пользователи
"a" - все группы пользователей

Формат прав [[+-=], ...

Примеры:
chmod -R a+x folder/ выполнение для всех групп рекурсивно
chmod a+rx file чтение и выполнение для всех
chmod u+rx,g-rx file добавить чтение и выполнение для владельца, и
отозвать права для группы
chmod a+r,o= file добавить чтение для всех типов групп и отозвать
все права у всех других пользователей

команда изменения владельца chown:

Chown [-R] владелец:группа файл/папка

Примеры:
chown -R 0:0 folder/ установить владельца/группу = root рекурсивно
chown myuser:mygroup file установить myuser/mygroup для файла

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

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

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

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

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

Chown USER[:GROUP] FILE(s)

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

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

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

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

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

Chown USER FILE

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

Chown andreyex file1

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

Chown andreyex file1 dir1

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

Chown 1000 file2

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

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

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

Chown USER:GROUP FILE

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

Chown andreyex:users file1

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

Chown andreyex: file1

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

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

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

Chown:GROUP FILE

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

Chown:www-data file1

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

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

Chown -R USER:GROUP DIRECTORY

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

Chown www-data: /var/www

Заключение

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

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

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

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

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

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

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

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

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

Синтаксис:

Chown [ВАРИАНТ]… [ВЛАДЕЛЕЦ] [: [ГРУППА]] ФАЙЛ… chown … –reference = RFILE FILE…

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

Chown owner_name имя_файла

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

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

Chown master file1.txt

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

Sudo chown root file1.txt

Опции:


Примеры:



adsense2code6

Мои личные заметки arrow_drop_up

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

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

 

 

Это интересно: