Linux. Files. Permissions: различия между версиями
Cless (обсуждение | вклад) (Новая страница: «Категория:Self-education __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__») |
Cless (обсуждение | вклад) |
||
| Строка 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
--------------------------------------------------------------------------------