- Как получить список всех владельцев файлов в каталоге Linux
- Список владельцев файлов в каталоге с помощью команды stat
- Список владельцев файлов в каталоге с помощью команды find
- Использование команды ls
- Получить владельца файла без ls
- Re: Получить владельца файла без ls
- Re: Получить владельца файла без ls
- Re: Получить владельца файла без ls
- Re: Получить владельца файла без ls
- Re: Получить владельца файла без ls
- Re: Получить владельца файла без ls
- Re: Получить владельца файла без ls
- Re: Получить владельца файла без ls
Как получить список всех владельцев файлов в каталоге Linux
Мануал
Это руководство поможет вам получить список владельцев всех файлов в каталоге Linux.
Команды, показанные здесь, являются универсальными и, как ожидается, будут работать с любым дистрибутивом Linux.
Статья основана на Ubuntu 18.04, 16.04 и CentOS 7.
Работа с файлами, каталогами и разрешениями пользователей является повседневной задачей при администрировании систем Linux.
Почти все в Linux – это файл, и знание того, как проверить и изменить право собственности на файл / каталог, пригодится.
Список владельцев файлов в каталоге с помощью команды stat
stat – это инструмент командной строки, используемый для отображения состояния файловой системы или файловой системы в системах Linux / Unix.
В Ubuntu и во всех системах на базе Debian команда stat предоставляется пакетом coreutils.
Если по какой-либо причине этот пакет не установлен, его можно установить с помощью команды:
# sudo apt-get -y install coreutils
В CentOS команда также предоставляется пакетом coreutils, который может быть установлен с помощью yum, если отсутствует:
# sudo yum -y install coreutils
После подтверждения того, что команда существует, мы будем использовать ниже опции, чтобы получить владельцев файлов в каталоге:
-c: указать формат
% U: Формат для печати имени пользователя владельца файла
Таким образом, синтаксис команды:
Для всех файлов используйте знак подстановки *.
# cd ~ # stat -c %U * jmutai jmutai jmutai
Проблема с этим выводом заключается в отсутствии сопоставления между файлом и владельцем.
Нам нужно будет использовать bash для сопоставления файла и владельца.
Итак, мы запустим команду, как показано ниже:
# cd /dir # files=`ls` # for file in $files; do owner=`stat -c %C $file`; echo $file $owner; done
Вывод для выше будет в формате , который должен быть легко интерпретирован.
Development jmutai Documents root ping_all.sh dan examples.desktop benard
Вы можете узнать больше о команде stat
Список владельцев файлов в каталоге с помощью команды find
find – это инструмент командной строки Linux, который часто используется для поиска файлов в каталоге.
С помощью команды find вы можете указать владельцев файлов в каталоге
Точный синтаксис команды для использования:
Это действие будет делать рекурсивный поиск и листинг по умолчанию.
Вы можете выполнять дополнительную фильтрацию, например, выводить уникальные имена пользователей, чтобы избежать дублирования.
Для этого проведите вывод команды сортировки с параметром -u
# find / dir -printf '% u \ n' | sort -t: -u
Чтобы включить владение файловой группой, добавьте параметр% g в функцию вывода.
# find / dir -printf '% u:% g \ n' | sort -t: -u
В приведенном ниже примере будут показаны все уникальные имена пользователей, хранящиеся в каталоге / var /
См. Следующий пример для имен пользователей и групп:
Использование команды ls
Вы также можете использовать команду ls для проверки владельца файлов и каталогов в Linux.
Единственная проблема заключается в том, как обрабатывать вывод
Три команды должны помочь вам идентифицировать владельцев файлов и каталогов на ваших машинах Linux.
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
- Аудит ИБ (49)
- Вакансии (12)
- Закрытие уязвимостей (105)
- Книги (27)
- Мануал (2 306)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (820)
- Обход запретов (34)
- Опросы (3)
- Скрипты (114)
- Статьи (352)
- Философия (114)
- Юмор (18)
Anything in here will be replaced on browsers that support the canvas element
OpenVPN Community Edition (CE) – это проект виртуальной частной сети (VPN) с открытым исходным кодом. Он создает защищенные соединения через Интернет с помощью собственного протокола безопасности, использующего протокол SSL/TLS. Этот поддерживаемый сообществом проект OSS (Open Source Software), использующий лицензию GPL, поддерживается многими разработчиками и соавторами OpenVPN Inc. и расширенным сообществом OpenVPN. CE является бесплатным для […]
Что такое 404 Frame? Большинство инструментов для взлома веб-сайта находятся в 404 Frame. Итак, что же представляют собой команды? Вы можете отдавать команды, используя повседневный разговорный язык, поскольку разработчики не хотели выбирать очень сложную систему команд. Команды Команды “help” / “commands” показывают все команды и их назначение. Команда “set target” – это команда, которая должна […]
В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]
Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]
Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]
Получить владельца файла без ls
Проблема заключается в том, что выцепить владельца файла из вывода ls -l далеко не всегда возможно, поскольку никто не отменял пробелов в названии владельца и группы. Таким образом, ни awk, ни cut здесь не помогают. Пока что я вижу только один выход: использовать медленную, но по сравнению с популистким ls’ом гораздо более адекватную команду getfacl. Есть ли варианты попроще?
Re: Получить владельца файла без ls
Re: Получить владельца файла без ls
Re: Получить владельца файла без ls
Не, stat ещё медленне, а у меня каталогов — тысячи.
Вот вариант с getfacl’ем (здесь получаем ОТНОС_ИМЯ_КАТАЛОГА====владелец====группа)
find ./ -type d -mindepth 1 | while read d; do echo «$====`getfacl \»$d\» | sed -nr ‘s%^.+owner: (.+)$%\1%p’`====`getfacl \»$d\» | sed -nr ‘s%^.+group: (.+)$%\1%p’`»; done
Re: Получить владельца файла без ls
хм, а чем на практике отличается stat от того же ls? ведь в теории они вроде обращаются к одному системному вызову — stat?
Re: Получить владельца файла без ls
Большое Спасибо . 🙂
P.S. А я и не знал о сущестсвовании такой команды, хотя в Linux уже лет 5 как минимум 🙁
Re: Получить владельца файла без ls
>а чем на практике отличается stat от того же ls
Тем, что вывод ls -l ещё парсить нужно.
Re: Получить владельца файла без ls
как это вяжется с «Не, stat ещё медленне. » ? ну если вам так охото попарсить вывод команд, то сделайте stat dir/* 🙂
Re: Получить владельца файла без ls
если все-равно find’ом обходишь дерево каталогов, то просто
man find на предмет опции -printf «%u»