Linux. Files. Permissions
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
--------------------------------------------------------------------------------