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

Обновлено: 04.07.2024

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

Для проверки владельца файла можно использовать следующие команды Linux.

Понимание прав собственности на файлы в Linux

Владение файлами в Linux — одна из самых важных концепций, которые необходимо понимать при администрировании системы Linux. У каждого файла и папки в системе Linux есть владелец и группа. Владелец — это пользователь, создавший файл или папку, а группа — это группа, к которой принадлежит владелец. Это может быть очень полезно при устранении неполадок с разрешениями.

Найти владельца файла в Linux с помощью команды ls

Лучшей командой Linux для поиска владельца файла является команда «ls -l». Все, что нам нужно, это открыть терминал, а затем ввести ls -l имя файла в командной строке. 3-й столбец — владелец файла. Команда ls должна быть доступна в любом дистрибутиве Linux. В нем будет указан тип файла, права доступа к файлу, группа, размер файла и т. д.

Эта команда покажет вам всю следующую информацию о файле или папке, включая ее владельца.

  • Тип файла
  • Разрешения на доступ к файлам
  • Жесткие ссылки
  • Владение
  • Группа
  • Размер
  • Дата и время

Чтобы использовать этот метод, просто введите «ls -l имя файла». Замените «имя файла» на имя файла или папки, которую вы ищете. Например, если бы я хотел найти владельца файла с именем «testfile», я бы набрал «ls -l testfile». В следующем примере владельцем тестового файла является howtouselinux.

% ls -l testfile
-rw-r–r– 1 howtouselinux staff 0 3 3 21:04 testfile

Найти владельца файла в Linux с помощью команды stat

Второй способ найти владельца файла или папки – использовать команду "stat". Эта команда покажет вам еще больше информации о файле или папке, чем ls -l.

stat – это утилита командной строки, которая отображает подробную информацию о заданных файлах или файловых системах. stat принимает одно или несколько входных имен ФАЙЛОВ и включает ряд параметров, управляющих поведением команды и ее выводом.

Чтобы использовать этот метод, просто введите «имя файла статистики». Например, если бы я хотел найти владельца файла с именем «testfile», я бы набрал stat testfile.

Найти владельца файла в Linux с помощью команды stat + две опции

Третий способ найти владельца файла или папки — использовать команду «stat» с параметрами %U %G. Он будет отображать только владельца и группу этого файла.

stat -c "%U %G" тестовый файл
howtouselinux staff

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

Вы можете использовать команду chown, чтобы изменить владельца файла или папки в Linux. Чтобы использовать эту команду, просто введите «chown username имя файла». Замените «имя пользователя» на имя пользователя, владельцем которого вы хотите стать, а «имя файла» — на имя файла или папки, которые вы хотите изменить.

Например, если бы я хотел, чтобы howtouselinux был владельцем файла с именем «testfile», я бы набрал «chown howtouselinux testfile». Вы также можете использовать chown для изменения владельца и группы файла или папки. Для этого просто введите «chown username:groupname filename».

Найти все файлы, принадлежащие определенному пользователю, с помощью команды Linux Find

Если вы хотите найти все файлы, принадлежащие определенному пользователю, используйте команду «find». Для этого просто введите «find / -user username». Замените «имя пользователя» на имя пользователя, которому принадлежит искомый файл или папка. Например, если бы я хотел найти файлы, владельцем которых является howtouselinux, я бы набрал «find / -user howtouselinux».

И все! Это три разных способа узнать, кому принадлежит файл или папка в Linux. Есть ли у вас какие-либо другие советы или хитрости? Поделитесь ими с нами в комментариях ниже! И не забудьте проверить другие наши записи в блоге, чтобы узнать больше советов и рекомендаций по Linux. Спасибо за прочтение!

Вы можете использовать команду ls -l (отображать информацию о ФАЙЛАХ), чтобы найти имя владельца файла/каталога и имена групп. Параметр -l известен как длинный формат, который отображает типы файлов Unix/Linux/BSD, разрешения, количество жестких ссылок, владельца, группу, размер, дату и имя файла.

Как узнать, кому принадлежит файл?

Обычным способом является щелчок правой кнопкой мыши по файлу в проводнике, выбор "Свойства", переход на вкладку "Безопасность" и выбор "Власть". Затем будет показан текущий владелец и предоставлена ​​возможность стать владельцем.

Как найти владельца группы Linux?

Запустите ls с флагом -l, чтобы показать владельца и владельца группы файлов и каталогов в текущем каталоге (или в каталоге с определенным именем).

Как проверить разрешения и владельцев каталога?

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

Проверьте разрешения в командной строке с помощью Ls Команда

  1. разрешение на доступ к файлу.
  2. владелец (создатель) файла.
  3. группа, к которой принадлежит этот владелец.
  4. дата создания.

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

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

Как просмотреть все группы в Linux?

Чтобы просмотреть все группы, присутствующие в системе, просто откройте файл /etc/group. Каждая строка в этом файле представляет информацию для одной группы. Другой вариант — использовать команду getent, которая отображает записи из баз данных, настроенных в /etc/nsswitch.

Как найти группу файла в Linux?

Откройте терминальное приложение. Запустите команду для папки: ls -ld /path/to/folder. Чтобы найти владельца и группу каталога с именем /etc/, используйте: stat /etc/ Используйте файловый менеджер Linux и Unix с графическим интерфейсом, чтобы найти имя группы папки.

Как найти группы в Linux?

Чтобы составить список групп в Linux, необходимо выполнить команду «cat» в файле «/etc/group». При выполнении этой команды вам будет представлен список групп, доступных в вашей системе.

Что делает chmod 777?

Установка разрешений 777 для файла или каталога означает, что они будут доступны для чтения, записи и выполнения всеми пользователями и могут представлять огромную угрозу безопасности. … Владелец файла может быть изменен с помощью команды chown и разрешений с помощью команды chmod.

Как проверить разрешения в Unix?

Чтобы просмотреть разрешения для всех файлов в каталоге, используйте команду ls с параметрами -la. Добавьте другие параметры по желанию; для справки см. Список файлов в каталоге в Unix. В приведенном выше примере вывода первый символ в каждой строке указывает, является ли указанный объект файлом или каталогом.

Как установить разрешения?

  1. Откройте диалоговое окно "Свойства".
  2. Выберите вкладку "Безопасность". …
  3. Нажмите "Изменить".
  4. В разделе «Группа или имя пользователя» выберите пользователей, для которых вы хотите установить разрешения.
  5. В разделе "Разрешения" установите флажки, чтобы выбрать соответствующий уровень разрешений.
  6. Нажмите "Применить".
  7. Нажмите "ОК".

Как сменить владельца на root в Linux?

chown – это инструмент для смены владельца. Поскольку учетная запись root является типом суперпользователя, чтобы сменить владельца на root, вам нужно запустить команду chown от имени суперпользователя с помощью sudo .

Что такое Судо Чоун?

sudo означает суперпользователя. Используя sudo, пользователь может действовать как «корневой» уровень работы системы. Короче говоря, sudo дает пользователю привилегию в качестве корневой системы. И затем, о chown , chown используется для установки владельца папки или файла. … Эта команда приведет к пользовательским www-данным .

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

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

Я ищу команду, которая вернет владельца каталога и только это, например, регулярное выражение, анализирующее команду ls -lat или что-то подобное? Я хочу использовать результат в другом скрипте.

5 ответов 5

К сожалению, существует несколько версий stat , и их синтаксис не отличается согласованностью. Например, во FreeBSD это будет

Если вас беспокоит переносимость, вам, вероятно, лучше воспользоваться предложением Жиля по объединению ls и awk . Он должен запускать два процесса вместо одного, но его преимущество заключается в использовании только стандартных функций POSIX:

Это предполагает статистику GNU, которой нет в старых системах Linux (даже в более новых системах я был бы осторожен, может быть другая статистика (стандарт для всего сайта) в /usr/local/bin или где-то еще. в доме пользователя) и редко доступен на других устройствах.

Обратите внимание, что ls напечатает uid, если нет локального пользователя, соответствующего владельцу (т. е. на сетевом ресурсе), но stat -c '%U' DIR напечатает UNKNOWN , что менее полезно или более уместно, в зависимости от как вы на это смотрите.

Синтаксический анализ вывода ls редко является хорошей идеей, но получение первых нескольких полей является исключением, на самом деле он работает на всех «традиционных» unices (он не работает на таких платформах, как некоторые реализации Windows, которые допускают пробелы в имена пользователей).

Еще один вариант — использовать команду stat, но проблема со stat из оболочки заключается в том, что существует несколько команд с разным синтаксисом, поэтому stat в сценарии оболочки нельзя переносить (даже между установками Linux).

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


С ls | есть некоторые предостережения. К сожалению, подход awk тоже, как я уже отмечал здесь. Я еще не нашел решения для проблемы «целевой файл/каталог — это символическая ссылка с другим именем», о которой я упоминал в своем недавнем комментарии.

Вместо поиска . -user "$username" -print -prune -o -prune вы могли бы просто найти . -maxdepth 0 -user "$username"

@Gilles Есть ли какая-то причина, по которой вы используете awk 'NR==1 ' вместо простого awk ''? Я не уверен, зачем здесь нужен NR==1.

@HaroldFischer Только в крайних случаях, когда путь содержит новую строку. Это редко бывает необходимо, но никогда не вредно.

@Gilles Очень приятно это знать!! Просто любопытно, знаете ли вы о реализации ls, в которой новая строка в пути приводит к разделению строки на две части (что, как я полагаю, является крайним случаем, который вы пытаетесь охватить)? В GNU ls (новая версия), BusyBox ls и FreeBSD ls новая строка возвращается как $'\n' , ? а также ? соответственно.

Это также можно сделать с помощью GNU find :

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


В чистом bash вы можете преобразовать вывод ls в массив и проиндексировать его.

Это не так элегантно, как использование stat , find или awk , но может сработать в крайнем случае.


Не тот ответ, который вы ищете? Просмотрите другие вопросы с тегами shell-script ls или задайте свой вопрос.

Связанные

Горячие вопросы о сети

Чтобы подписаться на этот RSS-канал, скопируйте и вставьте этот URL-адрес в программу для чтения RSS.

дизайн сайта / логотип © 2022 Stack Exchange Inc; вклады пользователей под лицензией cc by-sa. версия 2022.3.21.41726

Linux является зарегистрированным товарным знаком Линуса Торвальдса. UNIX является зарегистрированным товарным знаком The Open Group.
Этот сайт никоим образом не связан с Линусом Торвальдсом или The Open Group.

А. Вы можете использовать команду ls -l (отображать информацию о ФАЙЛАХ), чтобы найти имя владельца файла/каталога и имена групп. Параметр -l известен как длинный формат, который отображает типы файлов Unix/Linux/BSD, разрешения, количество жестких ссылок, владельца, группу, размер, дату и имя файла.

Как узнать, кому принадлежит файл?

Обычным способом является щелчок правой кнопкой мыши по файлу в проводнике, выбор "Свойства", переход на вкладку "Безопасность" и выбор "Власть". Затем будет показан текущий владелец и предоставлена ​​возможность стать владельцем.

Как просмотреть сведения о файле в Linux?

Список файлов по имени

Самый простой способ получить список файлов по имени – это просто вывести их список с помощью команды ls. В конце концов, список файлов по имени (буквенно-цифровой порядок) используется по умолчанию. Вы можете выбрать ls (без подробностей) или ls -l (много подробностей), чтобы определить свое представление.

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

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

Как проверить разрешения и владельцев каталога?

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

Проверьте разрешения в командной строке с помощью Ls Команда

  1. разрешение на доступ к файлу.
  2. владелец (создатель) файла.
  3. группа, к которой принадлежит этот владелец.
  4. дата создания.

Как просмотреть файл в терминале Linux?

Ниже приведены несколько полезных способов открыть файл из терминала:

  1. Откройте файл с помощью команды cat.
  2. Откройте файл с помощью команды less.
  3. Откройте файл с помощью команды more.
  4. Откройте файл с помощью команды nl.
  5. Откройте файл с помощью команды gnome-open.
  6. Откройте файл с помощью команды head.
  7. Откройте файл с помощью команды tail.

Как просмотреть все каталоги в Linux?

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

Как сменить владельца на root в Linux?

chown – это инструмент для смены владельца. Поскольку учетная запись root является типом суперпользователя, чтобы сменить владельца на root, вам нужно запустить команду chown от имени суперпользователя с помощью sudo .

Как изменить владельца и разрешение в Linux?

Чтобы изменить права доступа к файлам и каталогам, используйте команду chmod (изменить режим). Владелец файла может изменить разрешения для пользователя ( u ), группы ( g ) или других ( o ), добавив ( + ) или вычтя ( – ) разрешения на чтение, запись и выполнение.

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

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

Что делает chmod 777?

Установка разрешений 777 для файла или каталога означает, что они будут доступны для чтения, записи и выполнения всеми пользователями и могут представлять огромную угрозу безопасности. … Владелец файла может быть изменен с помощью команды chown и разрешений с помощью команды chmod.

Как установить разрешения?

  1. Откройте диалоговое окно "Свойства".
  2. Выберите вкладку "Безопасность". …
  3. Нажмите "Изменить".
  4. В разделе «Группа или имя пользователя» выберите пользователей, для которых вы хотите установить разрешения.
  5. В разделе "Разрешения" установите флажки, чтобы выбрать соответствующий уровень разрешений.
  6. Нажмите "Применить".
  7. Нажмите "ОК".

Как сменить владельца разрешений?

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

Читайте также: