Изменить владельца папки linux
Обновлено: 21.11.2024
В этом разделе описывается, как изменить владельца и группу владения файлом.
По умолчанию владелец не может использовать команду chown для смены владельца файла или каталога. Однако вы можете разрешить владельцу использовать команду chown, добавив следующую строку в системный файл /etc/system и перезагрузив систему.
Для получения дополнительной информации см. chown(1).
Кроме того, владелец может использовать команду chgrp только для изменения группы файла на группу, к которой владелец принадлежит по умолчанию. Например, если владелец файла принадлежит только к группам staff и sysadm, владелец может изменить группу файла только на staff или группу sysadm.
Однако вы можете разрешить владельцу изменить группу файла на группу, к которой владелец не принадлежит, добавив следующую строку в системный файл /etc/system и перезагрузив систему.
Для получения дополнительной информации см. chgrp(1).
Кроме того, имейте в виду, что могут быть другие ограничения на смену владельца и группы в файловых системах, смонтированных через NFS.
Как изменить владельца файла
Используйте следующую процедуру, чтобы изменить владельца файла.
Стать суперпользователем или взять на себя аналогичную роль.
Измените владельца файла с помощью команды chown.
Указывает имя пользователя или UID нового владельца файла или каталога.
Указывает файл или каталог.
Убедитесь, что владелец файла изменился.
Пример — изменение владельца файла
В следующем примере право собственности на myfile меняется на пользователя rimmer.
Как изменить групповое владение файлом
Используйте следующую процедуру, чтобы изменить групповое владение файлом.
Стать суперпользователем или взять на себя аналогичную роль.
Измените владельца группы файла с помощью команды chgrp.
Указывает имя группы или GID новой группы файла или каталога.
Указывает файл или каталог.
Убедитесь, что владелец группы файла изменился.
Пример — изменение группового владения файлом
В следующем примере группа, принадлежащая myfile, меняется на группу scifi.
Закрыто. Этот вопрос не соответствует правилам переполнения стека. В настоящее время ответы не принимаются.
Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow.
Закрыт 8 лет назад.
В моем субдомене есть папка, созданная с помощью WHM, поэтому владелец этого субдомена не является владельцем основного домена.
Я хочу изменить владельца одной из папок субдомена на владельца домена. Я пробовал это, но когда я проверяю с помощью winscp, он показывает владельца как 500.
Я также пытался перейти с winscp, но для winscp нет возможности, поэтому я вошел в систему как root, используя шпатлевку, и выполнил команду сверху, но это не помогает, и я не могу загрузить любой файл в поддомен из основного домена, так как он возвращает ошибку «Отказано в доступе».
Я хочу передать право собственности на rohan sujit, чтобы иметь права на загрузку файла из домена sujit в поддомен rohan
Обновление:
Теперь он меняет владельца на 500
1 Ответ 1
Используйте chown для изменения владельца и chmod для изменения прав.
используйте параметр -R, чтобы также применить права ко всем файлам внутри каталога.
Обратите внимание, что обе эти команды работают только для каталогов. Параметр -R также заставляет их изменять разрешения для всех файлов и каталогов внутри каталога.
изменит владельца (как пользователя, так и группу) всех файлов и каталогов внутри каталога и самого каталога.
изменит только права доступа к каталогу папки, но оставит файлы и папки внутри каталога в покое.
вам нужно использовать sudo, чтобы изменить право собственности с root на себя.
Обратите внимание, что если вы используете chown user: file (обратите внимание на пропущенную группу), для этого пользователя будет использоваться группа по умолчанию.
Также вы можете изменить групповое владение файлом или каталогом с помощью команды:
Вы должны быть участником группы, право собственности на которую вы переходите.
Вы можете найти группу файлов следующим образом
Пользователь 500 — обычный пользователь. Обычно пользователь 500 был первым пользователем в системе, недавние изменения (в /etc/login.defs) изменили минимальный идентификатор пользователя на 1000 во многих дистрибутивах, поэтому обычно 1000 теперь является первым пользователем (не root).
Возможно, вы видите систему, которая была обновлена из старого состояния в новое состояние, и все еще имеет некоторые процессы, работающие с uid 500. Вероятно, вы можете изменить его, сначала проверив, действительно ли ваш дистрибутив должен теперь использовать 1000. , и если да, то измените логин.defs самостоятельно, перенумеруйте учетную запись пользователя в /etc/passwd и chown/chgrp все их файлы, обычно в /home/, затем перезагрузите компьютер.
Но, отвечая на ваш вопрос, нет, вам, по всей вероятности, не стоит беспокоиться об этом. Он будет отображаться как «500» вместо имени пользователя, потому что у пользователя в /etc/passwd установлен uid 500, вот и все.
Кроме того, вы можете показать свои текущие числа, используя идентификатор, я готов поспорить, что он вернется как 1000 для вас.
Дэйв Маккей
Дэйв Маккей
Писатель
Все файлы и каталоги в системах Linux принадлежат кому-то. Вы можете изменить их владельца с помощью команды chown. Мы покажем вам, как это сделать.
Каждый файл принадлежит пользователю и группе
Linux — это многопользовательская система. Операционная система позволяет определить несколько учетных записей пользователей, и любой действительный пользователь может войти в систему на компьютере. Кроме того, несколько пользователей могут использовать один компьютер одновременно.
Чтобы сохранить запись о том, какие файлы принадлежат какому пользователю, и обеспечить определенную безопасность, в Linux используется концепция владения. Каждый файл принадлежит владельцу — пользователю — и группе.
При создании файла его владельцем становится создавший его пользователь. Группа, которой принадлежит файл — группа «владельца» — это текущая группа пользователя. У пользователей и групп есть имена, а также числовые идентификаторы, называемые пользовательским (или уникальным) идентификатором (UID) и идентификатором группы (GID).
Когда вы создаете файл, он принадлежит вам и принадлежит вашей текущей группе. Обычно это группа, в которую вы вошли. По умолчанию это группа с тем же именем, что и ваше имя пользователя, и она была создана, когда вы были созданы как пользователь в системе.
Вы можете использовать команду chown, чтобы изменить значения прав собственности на что-то другое. Вы можете установить нового владельца, новую группу или нового владельца и новую группу одновременно. Владелец файла может изменить владельца группы, но только root может изменить владельца файла, потому что это касается другого пользователя. Без привилегий root вы не можете заставить другого пользователя в системе непреднамеренно «принять» файл.
Почему вы хотите сменить владельца?
Вот несколько примеров ситуаций, когда вы можете это сделать:
- Если вы переносите файлы между разными Linux или Unix-подобными операционными системами, вам нужно будет изменить владельцев пользователей и групп на новых пользователей и владельцев групп учетной записи, под которой вы хотите использовать файлы на новом компьютере Linux.
- Пользователь может покинуть вашу организацию, и все его файлы будут принадлежать другому сотруднику. Вам нужно будет изменить владельца и владельца группы на сотрудника, который теперь отвечает за эти файлы.
- Вы можете создать сценарий, который будет использоваться конкретным пользователем.
- Вы можете создать файл или каталог, войдя в систему как пользователь root, но вы хотите, чтобы он был доступен определенному пользователю.
Просмотр ваших групп, UID и GID
Чтобы получить список групп, в которых вы состоите, вы можете использовать команду groups.
Чтобы получить список групп, их числовые идентификаторы, а также ваши UID и GID, используйте команду id:
Вы можете использовать некоторые параметры с идентификатором для уточнения вывода.
- -u: указать свой UID.
- -g: перечислить ваш действующий (текущий) GID.
- -nu: укажите свое имя пользователя.
- -ng: указать текущее название группы.
Просмотр права пользователя и группы на файл
Чтобы увидеть владельцев файла или каталога, используйте параметр -l (длинный список) с ls .
Мы видим, что имя dave встречается в списке дважды. Крайний левый внешний вид говорит нам, что владельцем файла является пользователь по имени dave. Самый правый dave говорит нам, что файл принадлежит группе, которая также называется dave .
По умолчанию при создании пользователя Linux он добавляется в частную группу, названную в честь его имени пользователя. Они являются единственным членом этой группы.
Этот исполняемый файл принадлежит пользователю mary, а группа, к которой принадлежит файл, является частной группой mary.
Этот файл принадлежит пользователю oscar , но группа, к которой он принадлежит, называется researchlab . Это означает, что другие члены исследовательской группы могут получить доступ к этому файлу в соответствии с правами доступа к файлу, установленными для членов этой группы.
Изменение владельца пользователя
Давайте рассмотрим несколько примеров. Эта команда изменит владельца файла while.c на пользователя mary .
Мы можем использовать ls, чтобы увидеть изменения в свойствах файла.
Вы можете использовать chown, чтобы изменить владельца сразу нескольких файлов.
Это изменит права пользователя на все три файла.
Вы можете использовать подстановочные знаки для выбора групп файлов. Эта команда изменит владельца всех файлов, начинающихся с буквы «с».
Все файлы теперь будут принадлежать mary. Обратите внимание, что ни одна из групп не была изменена.
Давайте изменим владельца каталога. Мы просто передаем имя каталога в chown вместо имени файла.
Чтобы проверить свойства владения каталогом, мы используем ls , но также используем для него параметр -d (каталог). Здесь перечислены свойства каталога, а не файлы внутри него.
Чтобы изменить владельца всех файлов в каталоге, вы можете использовать параметр -R (рекурсивный). Этот параметр изменит владельца всех файлов в папке архива.
Теперь давайте посмотрим на файлы в каталоге архива.
Как и ожидалось, все файлы теперь принадлежат mary .
Изменение владельца группы
Существуют разные способы изменить владельца группы.
Чтобы изменить владельца группы одновременно с изменением владельца пользователя, передайте имя нового владельца и новое имя группы, разделяя их двоеточием «:». Группа должна уже существовать.
Владелец пользователя и группа, которой принадлежит файл, были изменены.
Сокращенный способ изменить владельца группы на текущую группу нового владельца, просто укажите двоеточие и опустите имя группы.
Права собственности пользователя и группы были изменены на mary .
Чтобы изменить только владельца группы, поставьте перед ним двоеточие и опустите имя пользователя. Владелец пользователя не изменится.
Право собственности на группу было изменено, но право собственности на пользователя осталось прежним.
Использование Chown со значениями UID и GID
Вы можете использовать числовые значения UID и GID с командой chown. Эта команда установит права пользователя и группы на mary .
Владение — это девять десятых закона
Или так говорят. Но в Linux владение является важной частью безопасности файлов, а права доступа к файлам обеспечивают оставшуюся часть. Используйте команды chown и chmod для защиты доступа к файлам в вашей системе.
Команды Linux | |
Файлы | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm |
Процессы | alias · screen · top · nice · renice · прогресс · strace · systemd · tmux · chsh · история · at · пакетное · бесплатное · которое · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · стена · yes · kill · спать · sudo · su · время · groupadd · usermod · группы · lshw · выключение · перезагрузка · halt · poweroff · passwd · lscpu · crontab · date · bg · fg |
Сеть | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · копать · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
- › Как использовать SUID, SGID и Sticky Bits в Linux
- › Как использовать команду chgrp в Linux
- › Как установить Google Play Маркет в Windows 11
- › Что означает XD и как вы его используете?
- › Почему не было Windows 9?
- ›5 шрифтов, которые следует прекратить использовать (и лучшие альтернативы)
- › Почему прозрачные чехлы для телефонов желтеют?
- › Как восстановить метки панели задач в Windows 11
Команда chown меняет владельца файла, каталога или ссылки в Linux. Каждый файл связан с владельцем пользователя или группы. Очень важно правильно настроить права доступа к файлам и папкам.
В этом руководстве вы узнаете, как использовать команду chown в Linux с предоставленными примерами.
- Linux или UNIX-подобная система
- Доступ к терминалу/командной строке
- Пользователь с правами sudo для смены владельца. Не забудьте запускать команды с помощью sudo, чтобы они выполнялись правильно.
Синтаксис команды Chown в Linux
Основной синтаксис команды chown состоит из нескольких сегментов. Файл справки имеет следующий формат:
- [ОПЦИИ] — команду можно использовать с дополнительными параметрами или без них.
- [USER] — имя пользователя или числовой идентификатор пользователя нового владельца файла.
- [:] — используйте двоеточие при изменении группы файла.
- [ГРУППА] — смена группового владельца файла не является обязательной.
- FILE – целевой файл.
Для выполнения команды chown необходимы права суперпользователя.
В этом руководстве мы протестировали примеры команд с chown версии 8.28 в Ubuntu 18.04.2 LTS.
Чтобы проверить версию chown на вашем компьютере, введите:
Вывод будет выглядеть примерно так:
Как проверить право собственности на файл в Linux
Во-первых, вам необходимо узнать исходного владельца файла или группу, прежде чем изменять права собственности с помощью команды chown.
Чтобы проверить группу или владельца файлов и каталогов Linux в текущем местоположении, выполните следующую команду:
Пример вывода команды ls выглядит следующим образом:
Как изменить владельца файла
Чтобы изменить владельца файла с помощью chown, необходимо указать нового владельца и файл. Формат команды:
Следующая команда изменяет владельца файла sample с root на пользовательский тест:
Используйте один и тот же формат для изменения владельца файлов и каталогов.
Изменить владельца файла с помощью UID
Вместо имени пользователя вы можете указать идентификатор пользователя, чтобы изменить владельца файла.
Убедитесь, что нет пользователя с таким же именем, как числовой UID.Если есть, команда chown отдает приоритет имени пользователя, а не UID.
Примечание. Чтобы проверить идентификатор пользователя, запустите id -u ИМЯ ПОЛЬЗОВАТЕЛЯ в терминале.
Изменение владельца нескольких файлов Linux
Перечислите имена целевых файлов после нового пользователя, чтобы изменить владельца нескольких файлов. Используйте одиночные пробелы между именами файлов.
В следующем примере root будет новым владельцем файлов sample2 и sample3.
Объедините имена файлов и имена каталогов, чтобы изменить их владельца с помощью одной команды. Например:
Не забывайте, что команды чувствительны к регистру.
Как изменить группу файла
С помощью chown вы можете изменить группу для файла или каталога, не меняя пользователя-владельца. Результат такой же, как при использовании команды chgrp.
Запустите команду chown, используя двоеточие и имя группы:
В следующем примере группа файла sample3 изменяется с grouptest на group3.
Перечислите несколько имен файлов или каталогов для внесения массовых изменений.
Изменить группу файла с помощью GID
Подобно UID, используйте идентификатор группы (GID) вместо имени группы, чтобы изменить группу файла.
Сменить владельца и группу
Чтобы назначить нового владельца файла и одновременно изменить его группу, запустите команду chown в следующем формате:
Поэтому, чтобы установить linuxuser в качестве нового владельца и group2 в качестве новой группы файла sample2:
Помните, что перед двоеточием и после него нет пробелов.
Изменить группу на группу входа пользователей
Команда chown назначает группе входа владельца файлу, если группа не указана.
Для этого укажите нового пользователя, за которым следуют двоеточие, пробел и целевой файл:
Следующий пример изменяет владельца группы на группу входа linuxuser:
Перенос прав собственности и групповых настроек из одного файла в другой
Вместо того, чтобы менять владельца на конкретного пользователя, вы можете использовать владельца и группу эталонного файла.
Добавьте параметр --reference к команде chown, чтобы скопировать настройки из одного файла в другой:
Не забудьте правильно ввести имена файлов, чтобы избежать появления сообщения об ошибке:
Проверьте владельца и группу перед внесением изменений
Команда chown --from позволяет проверить текущего владельца и группу, а затем применить изменения.
Синтаксис chown для проверки пользователя и группы выглядит следующим образом:
В приведенном ниже примере показано, что мы сначала проверили право собственности и группу файла sample3:
Затем chown изменил владельца на linuxuser и группу на group3.
Проверить только владельца
Опция --from может использоваться для проверки только текущего пользователя файла.
Проверить только группу
Как и в предыдущем разделе, вы можете проверить только группу файла, используя параметр --from .
Вот пример, когда мы проверили текущую группу перед ее изменением:
Не забудьте использовать двоеточие для обоих имен групп, чтобы избежать сообщений об ошибках.
Как рекурсивно изменить владельца файла
Команда chown позволяет изменить владельца всех файлов и подкаталогов в указанном каталоге. Для этого добавьте в команду параметр -R:
В следующем примере мы рекурсивно изменим владельца и группу для всех файлов и каталогов в Dir1.
Команда Chown и символические ссылки
Чтобы изменить владельца символической ссылки, используйте параметр -h. В противном случае право собственности на связанный файл будет изменено.
На следующем изображении показано, как ведут себя символические ссылки, если параметр -h опущен.
Владелец и группа символической ссылки остаются нетронутыми. Вместо этого изменился владелец и группа файла textfile.
Чтобы отправить изменения в ссылку, запустите команду chown с флагом -h:
В следующем примере мы изменили владельца и группу символической ссылки.
Отображение сведений о процессе команды Chown
По умолчанию терминал не отображает информацию о процессе chown. Чтобы увидеть, что происходит внутри, используйте один из двух флагов командной строки:
- Опция –v выводит сведения о процессе, даже если право собственности остается прежним.
- Опция –c отображает выходные данные только при изменении владельца или группы целевого файла.
Например, если мы укажем текущего владельца в качестве нового владельца файла:
Терминал выдает следующий вывод:
Переключитесь с -v на -c, и в этом случае сообщений не будет. Это происходит из-за отсутствия смены владельца или группы.
Эта информация особенно полезна для рекурсивной команды chown:
В этом примере в выводе перечислены все объекты, затронутые после выполнения команды.
Подавить ошибки команды Chown
Чтобы избежать появления сообщений о потенциальных ошибках при выполнении команды chown, используйте параметр -f:
В приведенном ниже примере показано сообщение об ошибке для несуществующего файла или каталога:
Добавление флага -f подавляет большинство сообщений об ошибках. Однако, если вы укажете недопустимое имя пользователя, появится сообщение об ошибке:
Теперь вы знаете, как использовать команду chown в Linux для изменения владельца файла и/или группы.
Будьте особенно осторожны при изменении группы или владельца файла или каталогов.
Читайте также: