Просмотр свойств файла linux

How to list and manage files attributes on Linux

When using Linux we have many ways to manage access to resources: the most basic one is by setting the appropriate UGO/RWX permissions on files and directories. In some occasions we may also want to make use of the setuid, the setgid and the sticky bit. Furthermore, we can use ACLs (Access Control List) in order to achieve an higher level of granularity or implement Mandatory Access Control security such those based SELinux or AppArmor.

In addition to the strategies mentioned above, on most filesystems we can manipulate a set of “attributes” in order, for example, to make a file immutable.

In this article we talk about file attributes on Linux, and we learn how to check the attributes assigned to a file and how to manage them.

In this tutorial you will learn:

How to list and manage files attributes on Linux

  • What file attributes can be used for
  • How to list file attributes
  • How to assign/remove file attributes
Software requirements and conventions used
Category Requirements, Conventions or Software Version Used
System Distribution independent
Software chattr/lsattr
Other Administrative privileges to manage file attributes
Conventions # – requires given linux-commands to be executed with root privileges either directly as a root user or by use of sudo command $ – requires given linux-commands to be executed as a regular non-privileged user

Introduction

Discretionary access control on Linux (DAC) and other Unix-based operating system, is, in its basic form, implemented by applying a certain set of permissions on files, and by setting their ownership to a specific user and group: this is what we call UGO/RWX permissions. In previous tutorials we also talked about a set of “special” flags or bits which can be useful on certain circumstances: the setuid, setgid and sticky bits, and we learned how we can assign permissions with an higher level of granularity by using ACLs (Access Control List).

We also talked about SELinux, which is probably the main Mandatory Access Control implementation on Linux. In this tutorial we see how, depending on the filesystem we use, we can also make use of a series of attributes in order to enable/disable specific features on files and directories.

Listing files attributes

In order to list files attributes on Linux, we can use the lsattr utility, which is included in the e2fsprogs package on the most used Linux distributions (despite the name, it can be also used on filesystems other than ext2/3/4, as the xfs, for example).

Читайте также:  Linux convert all png to jpg

The utility takes one or more files as arguments, and supports a series of options to modify its behavior. Let’s see an example of its usage. When lsattr is invoked without any argument or option, it returns the list of the attributes associated with the files and directories contained in the working directory, just like the ls command, does:

$ lsattr --------------e------- ./Templates --------------e------- ./Downloads --------------e------- ./Projects --------------e------- ./Documents --------------e------- ./Desktop --------------e------- ./Music --------------e------- ./Public --------------e------- ./Videos --------------e------- ./Pictures

In the example above, you can see I invoked the command in my HOME directory. From the output of the command we can see the visible directories have just the e attribute assigned: this means that they are using “extents” to map the blocks on disk (this is related to how the ext4 filesystem works). As you can see, hidden files are not included in the output by default; to include them we can pass the -a option to the command. We can also list the attributes of a directory recursively by using the -R option, or list the attribute of a directory instead those of its content, by using -d .

Another useful option is -l which is used in order to display the full name of the attributes associated to files, instead of the single letter identifying them:

$ lsattr -l ./Templates Extents ./Downloads Extents ./Projects Extents ./Documents Extents ./Desktop Extents ./Music Extents ./Public Extents ./Videos Extents ./Pictures Extents

The meaning of the various attributes can be retrieved in the chattr utility manual, which as we will see in a moment, is used to set or remove attributes. Here we just report few of them (some attributes can only be set on certain fileystems – “j”, for example cannot be set on an ext2 filesystem, which has no journaling):

ATTRIBUTE USE
a If a file has the a attribute, content can be only appended to it.
c A file with the c attribute is transparently compressed by the kernel when written and decompressed when read.
i A file with the i attribute associated to it cannot be modified, deleted or renamed (immutable)
s A file with the s attribute is automatically zeroed when deleted
j A file with the j attribute set, has data written to the filesystem journal before the actual writing happens.

Setting and removing attributes

The utility we use to assign attributes is chattr ; its syntax is pretty simple: to assign an attribute to a file we use a + sign followed by the attribute letter and we pass the path of the file(s) the attribute should be assigned to, as argument to the command. Let’s see an example.

Читайте также:  Fira code arch linux

Suppose we have a file (let’s say it is called example.txt ), and we want to assign the a attribute to it, in order to avoid its content to be overwritten. Here is the command we would run:

You may notice that we prefixed the command with sudo , since the majority of the attributes can only be assigned or removed by the root user. We can verify the attribute has been assigned to the file by using lsattr :

$ lsattr -l example.txt example.it Append_Only, Extents

Now, if we try to write to overwrite the file by using the > shell redirect operator, we receive an error:

$ echo "line" > example.txt bash: example.txt: Operation not permitted

If we use the >> redirection operator instead, which makes so that content is appended to the file, no errors are generated:

Here is another example. The i attribute can be used to make a file immutable and impossible to delete or move, even by the root user (which can, however, remove the attribute altogether):

$ sudo chattr +i example.txt $ sudo rm example.txt rm: cannot remove 'example.txt': Operation not permitted

Removing attributes

To remove one or more attributes from files, all we have to do is to change the “operator” we use with chattr . Instead of a + we use — . To remove the i and a attributes we set in the previous example from the “example.txt” file, we would run:

$ sudo chattr -ai example.txt

In some cases we want to apply a “reversed” logic, and basically say: “remove all attributes but those specified”: in order to apply this strategy we can use the = operator.

Conclusions

In this tutorial we learned how to list and manage file attributes on Linux using the “lsattr” and “chattr” utilities, and we saw the meaning of some attributes, as “i” (immutable) or “a” (append-only). Some filesystems accepts only a certain set of attributes: consult the respective manuals to check those supported. To know more about attributes, in general you can take a look at the documentation of the aforementioned utilities.

Comments and Discussions

Источник

Как в Linux узнать свойства медиафайлов (видео, аудио, фотографии)

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

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

  • независящие от операционной системы (размер, метаданные)
  • зависящие от операционной системы (права доступа, владелец, дата создания, расположение и т. д.)

Для мультимедиа файлов, таких как видео, аудио, фотографии можно выделить особые характеристики:

  • размер кадра видео или изображения
  • битрейт
  • используемый кодек или формат
  • и другие
Читайте также:  Astra linux руководство ксз часть 2

Именно эти характеристики мы и научимся сегодня смотреть в Linux.

Программы для просмотра характеристик медиофайлов

MediaInfo (графический интерфейс)

MediaInfo предоставляет техническую информацию и считывает данные из тегов о видео или аудио файле. Причём эта программа работает на огромном количестве операционных систем и даже на мобильных телефонах.

Для установки MediaInfo в Windows перейдите на страницу официального сайта https://mediaarea.net/en/MediaInfo/Download, скачайте и установите инсталлятор.

Для установки MediaInfo с графическим интерфейсом в Debian, Linux Mint, Kali Linux, Ubuntu и их производные выполните:

sudo apt install mediainfo-gui

Для установки MediaInfo с графическим интерфейсом в Arch Linux, BlackArch и их производные выполните команду:

sudo pacman -S mediainfo-gui

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

Пример вывода информации о технических характеристиках видеофайла:

VLC

VLC — это популярный медиа проигрыватель, поддерживающий множество форматов. Для просмотра информации о файле нажмите Ctrl+i, для просмотра информации о кодеках нажмите Ctrl+j.

SMPlayer

Ещё один популярный плеер с большим количеством функций. Для просмотра свойств файла нажмите Ctrl+i:

Audacious (для аудио файлов)

Нажмите в программе Alt+i для показа информации об аудиофайле.

DeaDBeeF (для аудио файлов)

Кликните по файлу правой кнопкой мыши и выберите «Свойства дорожки».

GIPM (для изображений)

Нажмите Alt+Enter для показа информации о фотографии или картинке.

Eye of Gnome (eog) (для изображений)

Нажмите Alt+Enter для показа информации об изображении.

gThumb (для изображений)

Чтобы показать свойства изображения, нажмите на иконку лампочки в верхней панели:

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

MediaInfo (интерфейс командной строки)

Уже знакомая нам программа MediaInfo.

Для установки MediaInfo с интерфейсом командной строки в Debian, Linux Mint, Kali Linux, Ubuntu и их производные выполните:

sudo apt install mediainfo

Для установки MediaInfo с интерфейсом командной строки в Arch Linux, BlackArch и их производные выполните команду:

ffprobe

Команда ffprobe содержится в пакете ffmpeg.

Для установки ffmpeg в Debian, Linux Mint, Kali Linux, Ubuntu и их производные выполните:

Для установки ffmpeg в Arch Linux, BlackArch и их производные выполните команду:

Использование ffmpeg чтобы показать информацию о свойствах видео:

ffprobe -hide_banner /ПУТЬ/ДО/ФАЙЛА

Чтобы показать информацию о формате, потоках и прочем:

ffprobe -v error -show_format -show_streams /ПУТЬ/ДО/ФАЙЛА

ExifTool

Программа ExifTool читает и записывает информацию EXIF и другие метаданные, поддерживает множество форматов

Для установки perl-image-exiftool в Debian, Linux Mint, Kali Linux, Ubuntu и их производные выполните:

sudo apt install perl-image-exiftool

Для установки perl-image-exiftool в Arch Linux, BlackArch и их производные выполните команду:

sudo pacman -S perl-image-exiftool

MPlayer

Mplayer — это медиа проигрыватель для Linux.

Для установки mplayer в Debian, Linux Mint, Kali Linux, Ubuntu и их производные выполните:

Для установки mplayer в Arch Linux, BlackArch и их производные выполните команду:

mplayer -vo null -ao null -frames 0 -identify /ПУТЬ/ДО/ФАЙЛА

Источник

Оцените статью
Adblock
detector