Перейти к содержимому

Linux как изменить владельца папки

  • автор:

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: Full documentation at: or available locally via: info '(coreutils) chown invocation'

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

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

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

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

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

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

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

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! 😉

unixforum.org

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

Спасибо сказали:
Current_Density Сообщения: 773 Статус: Участник

Re: Смена группы и владельца файлов и папок.

07.12.2007 15:04

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

Да, с помощью chown

man chown ИМЯ chown - изменить владельца и группу файлов ОБЗОР chown [опции] пользователь[:группа] файл. . ОПЦИИ POSIX -R Рекурсивное изменение владельца для каталогов и их содержимого. . 

Изменить владельца и права доступа на файлы и папки в Linux/BSD

изменение прав доступа на файл Linux и FreeBSD

Представленная ниже информация будет полезная начинающим 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 идёт разделение возможностей следующим способом – владелец, группа владельцев и другие. Также присутствует следующее разделение прав:

  • Право на запуск файла (для папок – проход по директории).
  • Право на изменение файла (создание и удаление файлов и папок в директории)
  • Право на чтение файла (для папок – это право на просмотр содержимого директории)

Читайте также: Создание загрузочной флешки Windows 7/8.1 и Server 2008R2/2012R2

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

  • запуск – 1
  • изменение – 2
  • чтение – 4

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

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

chmod 640 /media/fileshare/file.txt

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

chmod 622 /media/fileshare/messages/

Чтобы все могли запускать какую-либо программу, но никто, кроме владельца, не мог её редактировать:

chmod 711 /media/share/exec

Для изменения прав на все вложенные файлы и папки (т.е. рекурсивно) используется опять же ключ “-R”.

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

Изменение прав только на файлы или только на папки – команда find. При этом файлы обозначаются как file (f), а директории, соответственно – d. Например:

Занимаюсь IT с 2007 года. Всё началось с увлечения — разгона компьютерного оборудования. Много воды и азота утекло с тех пор. Сейчас уже более 3х лет со своей командой оказываю комплексную поддержку и продвижение бизнеса: SEO, Яндекс.Директ, рассылки и удалённое обслуживание серверов. Буду рад помочь, обращайтесь!

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

MSI отдает дань уважения Monster Hunter, предлагая тематическую графику, материнскую плату и монитор

Favorite

Добавить в избранное

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

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

chown owner_name file_or_folder

Проблема возникает, когда вы меняете владельца каталога, его содержимое остается неизменным. Решение тоже не сложное.

Чтобы изменить владельца всего содержимого каталога, вы можете использовать рекурсивную опцию -R с командой chown:

chown -R owner_name folder_name

Если вы хотите рекурсивно изменить владельца и группу, вы можете использовать это следующим образом:

chown -R owner_name:group_name folder_name

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

Вам нужно быть root или использовать sudo для смены владельца файлов.

chown рекурсивно

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

chown -R new_owner_name directory_name

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

chown -R new_owner_name directory1 directory2 directory3

Позвольте нам показать это на примере примера. У меня есть каталог с именем new_dir с некоторым содержимым. Этот каталог и его содержимое принадлежат пользователю root.

root@learnubuntu:~# ls -l /home/andreyex/ total 4 drwxr-xr-x 3 root root 4096 May 30 07:30 new_dir root@learnubuntu:~# ls -l /home/andreyex/new_dir/ total 20 -rw-r--r-- 1 root root 12813 May 30 07:30 new.txt drwxr-xr-x 2 root root 4096 May 30 07:30 one_more_dir

Когда мы меняем владельца new_dir, его владелец меняется:

root@learnubuntu:~# chown andreyex /home/andreyex/new_dir root@learnubuntu:~# ls -l /home/andreyex/ total 4 drwxr-xr-x 3 andreyex root 4096 May 30 07:30 new_dir

Но файлы и папки внутри него по-прежнему принадлежат пользователю root.

root@learnubuntu:~# ls -l /home/andreyex/new_dir/ total 20 -rw-r--r-- 1 root root 12813 May 30 07:30 new.txt drwxr-xr-x 2 root root 4096 May 30 07:30 one_more_dir

Читать Как очистить журналы logs в Systemd

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

root@learnubuntu:~# chown -R andreyex /home/andreyex/new_dir root@learnubuntu:~# ls -l /home/andreyex/new_dir/ total 20 -rw-r--r-- 1 andreyex root 12813 May 30 07:30 new.txt drwxr-xr-x 2 andreyex root 4096 May 30 07:30 one_more_dir

Меняйте владельца и группу рекурсивно

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

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

chown -R user_name:group_name directory_name

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

chown -R user_name:group_name dir1 dir2

Не слишком сложно, а?

Вывод

Недавно мы переместили собственный экземпляр Ghost на новый сервер. Нам пришлось загрузить всю папку с изображениями из резервной копии (загруженной в локальной системе) на новый сервер. Системе требовалось изменить владельца этой папки с изображениями с корневой на призрачную.

Этот метод избавил нас от проблем. Мы надеемся, что это краткое небольшое руководство поможет и вам.

Мы настоятельно рекомендуем освежить в памяти основы прав доступа к файлам и владельцев.

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

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

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