Linux. Files. Permissions: различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «Категория:Self-education __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__»)
 
Строка 1: Строка 1:
[[Категория:Self-education]]
[[Категория:Self-education]]
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
= ls =
The file type is one of the following characters:
    -  regular file
    b  block special file
    c  character special file (disk)
    C  high performance ("contiguous data") file
    d  directory
    D  door (Solaris 2.5 and up)
    l  symbolic link
    M  off-line ("migrated") file (Cray DMF)
    n  network special file (HP-UX)
    p  FIFO (named pipe)
    P  port (Solaris 10 and up)
    s  socket
    ?  some other file type
= Посмотреть все аттрибуты файла =
<code>stat ./Тест.part03.rar</code>
  File: «./Тест.part03.rar»
  Size: 5146762    Blocks: 10056      IO Block: 4096   обычный файл
Device: 871h/2161d Inode: 8650784     Links: 1
Access: (0760/-rwxrw----)  Uid: ( 3131/tmb_chishko)   Gid: (  513/Domain Users)
Access: 2019-11-08 13:14:28.768582082 +0400
Modify: 2019-11-06 17:03:47.109375000 +0400
Change: 2019-11-08 13:14:29.065585726 +0400
= Timestamps =
    There are 3 kind of "timestamps":
        Access - the last time the file was read
        Modify - the last time the file was modified (content has been modified)
        Change - the last time meta data of the file was changed (e.g. permissions)
= Аттрибуты дополнительные =
Просмотреть аттрибуты
// создадим файл
<code>touch keep.txt</code>
// просмотрим аттрибуты
<code>lsattr keep.txt</code>
<nowiki>-------------</nowiki>e-- keep.txt
// создадим аттрибут "только для чтения"
<code>sudo chattr +i keep.txt</code>
// теперь даже root не сможет удалить этот файл
<code>lsattr keep.txt</code>
<nowiki>----</nowiki>i--------e-- keep.txt
// удалим аттрибут "только для чтения"
<code>sudo chattr -i keep.txt</code>
// просмотрим
<code>lsattr keep.txt</code>
<nowiki>-------------</nowiki>e-- keep.txt
= '''Sticky bit''' =
// благодаря таким правам удалить файл из TMP может только пользователь, который этот файл создал
<code>chmod 1777 /tmp</code>
= Freebsd расширенные атрибуты =
<nowiki>https://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/fs-acl.html</nowiki>
// несмотря на полный доступ к файлам, они могут ни удаляться, ни переименовываться
// или не изменяться права доступа даже из под root.
// это значит что на файл установлены дополнительные атрибуты ACL
// увидеть это можно через "ls -lao"
// "+" означает что на файле имеются расширенные атрибуты ACL
<code>ls -lao /mnt/raid1/share/ПТК.xlsx</code>
...
-rwxrw-rw-+  1 root  wheel  uarch 17301 Jul  9 08:26 ПТК.xlsx
...
// смотрим атрибуты
<code>getfacl /mnt/raid1/share/ПТК.xlsx</code>
<nowiki>#</nowiki> file: /mnt/raid1/share/ПТК.xlsx
<nowiki>#</nowiki> owner: root
<nowiki>#</nowiki> group: wheel
            owner@:rwxpD-aARWcCo-:-------:allow
            group@:rw-p--a-R-c---:-------:allow
         everyone@:rw-p--a-R-c---:-------:allow
// сбрасываем атрибуты
// Параметр -k удалит все установленные на данный момент ACL из файла или файловой системы.
// Более предпочтительный метод это использование параметра -b, который оставит необходимые для работы ACL поля.
<code>setfacl -b /mnt/raid1/share/ПТК.xlsx</code>
// смотрим
<code>getfacl /mnt/raid1/share/ПТК.xlsx</code>
<nowiki>#</nowiki> file: /mnt/raid1/share/ПТК.xlsx
<nowiki>#</nowiki> owner: root
<nowiki>#</nowiki> group: wheel
            owner@:rwxp--aARWcCos:-------:allow
            group@:rwxp--a-R-c--s:-------:allow
         everyone@:rwxp--a-R-c--s:-------:allow
<nowiki>--------------------------------------------------------------------------------</nowiki>

Версия 22:01, 26 ноября 2024


ls

The file type is one of the following characters:

    -  regular file

    b  block special file

    c  character special file (disk)

    C  high performance ("contiguous data") file

    d  directory

    D  door (Solaris 2.5 and up)

    l  symbolic link

    M  off-line ("migrated") file (Cray DMF)

    n  network special file (HP-UX)

    p  FIFO (named pipe)

    P  port (Solaris 10 and up)

    s  socket

    ?  some other file type

Посмотреть все аттрибуты файла

stat ./Тест.part03.rar

  File: «./Тест.part03.rar»

  Size: 5146762    Blocks: 10056      IO Block: 4096   обычный файл

Device: 871h/2161d Inode: 8650784     Links: 1

Access: (0760/-rwxrw----)  Uid: ( 3131/tmb_chishko)   Gid: (  513/Domain Users)

Access: 2019-11-08 13:14:28.768582082 +0400

Modify: 2019-11-06 17:03:47.109375000 +0400

Change: 2019-11-08 13:14:29.065585726 +0400

Timestamps

    There are 3 kind of "timestamps":

        Access - the last time the file was read

        Modify - the last time the file was modified (content has been modified)

        Change - the last time meta data of the file was changed (e.g. permissions)

Аттрибуты дополнительные

Просмотреть аттрибуты

// создадим файл

touch keep.txt

// просмотрим аттрибуты

lsattr keep.txt

-------------e-- keep.txt

// создадим аттрибут "только для чтения"

sudo chattr +i keep.txt

// теперь даже root не сможет удалить этот файл

lsattr keep.txt

----i--------e-- keep.txt

// удалим аттрибут "только для чтения"

sudo chattr -i keep.txt

// просмотрим

lsattr keep.txt

-------------e-- keep.txt

Sticky bit

// благодаря таким правам удалить файл из TMP может только пользователь, который этот файл создал

chmod 1777 /tmp

Freebsd расширенные атрибуты

https://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/fs-acl.html

// несмотря на полный доступ к файлам, они могут ни удаляться, ни переименовываться

// или не изменяться права доступа даже из под root.

// это значит что на файл установлены дополнительные атрибуты ACL

// увидеть это можно через "ls -lao"

// "+" означает что на файле имеются расширенные атрибуты ACL

ls -lao /mnt/raid1/share/ПТК.xlsx

...

-rwxrw-rw-+  1 root  wheel  uarch 17301 Jul  9 08:26 ПТК.xlsx

...

// смотрим атрибуты

getfacl /mnt/raid1/share/ПТК.xlsx

# file: /mnt/raid1/share/ПТК.xlsx

# owner: root

# group: wheel

            owner@:rwxpD-aARWcCo-:-------:allow

            group@:rw-p--a-R-c---:-------:allow

         everyone@:rw-p--a-R-c---:-------:allow

// сбрасываем атрибуты

// Параметр -k удалит все установленные на данный момент ACL из файла или файловой системы.

// Более предпочтительный метод это использование параметра -b, который оставит необходимые для работы ACL поля.

setfacl -b /mnt/raid1/share/ПТК.xlsx

// смотрим

getfacl /mnt/raid1/share/ПТК.xlsx

# file: /mnt/raid1/share/ПТК.xlsx

# owner: root

# group: wheel

            owner@:rwxp--aARWcCos:-------:allow

            group@:rwxp--a-R-c--s:-------:allow

         everyone@:rwxp--a-R-c--s:-------:allow

--------------------------------------------------------------------------------