Plik
jest zbiorem powiązanych ze sobą informacji, zdefiniowanych przez jego twórcę
w plikach przechowuje się programy oraz dane (dane mogą być liczbowe, tekstowe, alfanumeryczne)
format plików może być dowolny lub ściśle określony
zawartość plików można traktować jako ciąg bitów, bajtów, wierszy lub rekordów
Dla wygody użytkownika system operacyjny:
tworzy logicznie jednolity obraz magazynowania informacji
definiuje pliki, czyli jednostki logiczne przechowywania informacji, niezależne od fizycznych własności użytych urządzeń pamięci
umożliwia tworzenie i usuwanie plików
dostarcza elementarnych operacji do manipulowania plikami
odwzorowuje pliki na obszary pamięci pomocniczej
odwzorowuje pliki na urządzenia fizyczne
składuje pliki na trwałych nośnikach pamięci
Wyróżniamy następujące rodzaje plików:
zwykłe pliki (ASCII lub binarne)
katalogi
dowiązania symboliczne
urządzenia blokowe (modelujące dyski)
urządzenia znakowe (modelujące terminale, drukarki, adaptery sieciowe, modemy, itp.)
potoki nazwane, łącza nazwane, kolejki FIFO (specjalne pliki łączące procesy)
gniazda
Informacje o plikach są dostępne poprzez komendę ls
:
# ls -F
backup/ ccna/ etc/ HOWTOS@ linux-doc/ mnt/ root/
bin/ cdrom@ floppy@ initrd/ lost+found/ opt/ sbin/
usr/ boot/ dev/ home/ lib/ misc/ proc/
tmp/ var/
# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext4 2925332 2476332 389560 87% /
/dev/sda4 ext4 1050328 956308 72340 93% /home
none tmpfs 127836 0 127836 0% /dev/shm
/dev/sda3 ext4 20648448 5187560 14412008 27% /usb-home
Nazwy plików:
bezwzględne – ścieżka nazwy pliku zaczyna się w korzeniu struktury plików, np. /etc/sysc/config/hwconfig
względne – ścieżka nazwy pliku zaczyna się w bieżącym (roboczym) katalogu, np. ../spool/mail
Własności plików:
# ls -la
drwxr-xr-x 31 note kmk 3072 Feb 4 12:31 .
drwxr-xr-x 10 root kmk 1024 Mar 19 1998 ..
-rw-r--r-- 1 note kmk 977 Jan 27 18:07 .history
-rw-rw-r-- 1 note kmk 625 Dec 15 1997 .login
-rw-rw-r-- 1 note kmk 51 Nov 17 1997 .logout
-rw-rw-r-- 1 note kmk 1410 Feb 13 1998 .tcshrc
drwxr-xr-x 7 note kmk 1024 Jan 5 21:06 2dhf_dist
drwx------ 2 note kmk 1024 Mar 20 1998 Mail
W systemach Unix/Linux mamy do czynienia domyślnie z uznaniową kontrolą dostępu (DAC, discretionary access control)
SELinux pozwala na stosowanie obowiązkowej kontroli dostępu (MAC, mandatory access control). W systemach Windows nosi on nazwę obowiązkowej kontroli integralności (mandatory integrity control).
Własności plików i katalogów:
plik |
katalog |
||
prawo odczytu pliku |
prawo przeglądania zawartości |
r |
4 |
prawo zapisu pliku |
prawo tworzenia plików |
w |
2 |
prawo wykonania pliku |
prawo dostępu do katalogu |
x |
1 |
Przykłady:
700 = rwx------ = u+rwx
711 = rwx--x--x = u+rwx,go+x
755 = rwxr-xr-x = u=rwx,go=rx
1755 = rwxr-xr-t = u=rwx,go=rx,+t
2511 = r-x--s--x = u=rx,g=xs,o=x
4511 = r-s--x--x = u=rxs,go=x
Prawa dostępu do plików można definiować/zmieniać poprzez komendę chmod
;
zob. Prawa dostępu do plików i ich zmiana.
Linux daje możliwość kontroli dostępu do plików i katalogów poprzez tzw. listy kontroli dostępu zdefiniowane przez POSIX Access Control Lists; zob. ACL.
Na serwerze polon/tor komenda ls -l /etc/| grep yum
daje taki wynik:
drwxr-xr-x. 6 root root 4096 Dec 31 01:05 yum
-rw-r--r-- 1 root root 970 Nov 15 2016 yum.conf
drwxr-xr-x. 2 root root 4096 Jan 21 22:09 yum.repos.d
Kropka następująca po prawach dostępu oznacza, że plik/katalog ma ustawione uprawnienia
kontrolowane przez SELinuksa (te informacje związane z bezpieczeństwem określa się mianem
kontekstu SELinuksa). Można je sprawdzić przy pomocy komendy ls [-d] -Z
. Zmiany dokonuje
się przy pomocy chcon
.
Pliki są częścią jakiegoś systemu pliku, który jest odpowiedzialny za zorganizowanie ich w logiczne hierarchiczne struktury składające się z katalogów, plików, dowiązań symbolicznych (miękkich), itp.
Pliki, itd. są przechowywane w blokach na urządzeniu fizycznym.
Uniksowy/Linuksowy system plików traktuje to urządzenie jako liniowy zbiór bloków.
Dla systemu plików fizyczny układ bloków na dysku jest bez znaczenia. Zadaniem sterownika urządzenia blokowego jest powiązanie numeru bloku z numerem cylindra, głowicy, sektora.
Popularne systemy plików:
MSDOS/Windows: FAT/VFAT, NTFS
ISO9660 dla płyt CD/DVD
IMB OS/2: HPFS
Mac OS X: HFS+
Linux: EXT2/EXT3/EXT4, Btrfs, XFS, JFS, Reiserfs
sieciowe systemy plików: NFS, SMB/CIFS, NCP
Do tworzenia systemów plików służy komenda mkfs -t type device
(zob. man mkfs
) lub
komendy typu mkfs.ext4 device
, mkfs.vfat device
, np.:
# mkfs -t ext4 /dev/vdb2
# mkfs.ext4 /dev/vdb1
# mkfs.vfat /dev/vdb2
# mkfs.vfat -c -F 32 /dev/vdb1
System operacyjny Linux potrafi obsłużyć wiele różnych systemów plików dzięki zastosowaniu tzw. wirtualnego systemu plików (VFS, Virtual File System).
VFS stanowi warstwę interfejsu pomiędzy systemem operacyjnym i różnymi systemami plików.
Podsystem plikowy jądra Linuksa ma bardzo abstrakcyjne pojęcie o systemie plików. Wywołania systemowe open(), read(), write() działają niezależnie od struktury systemu plików i od fizycznych cech nośnika.
Wspólny model plików składa się z obiektów następujących typów:
obiekt superbloku przechowuje informacje dotyczące zamontowanego systemu plików (w przypadku dyskowego systemu plików jest to blok kontrolny systemu plików)
obiekt i-węzła przechowuje informacje o danym pliku (w przypadku dyskowego systemu plików jest to blok kontrolny pliku)
obiekt pliku przechowuje informacje o powiązaniu między otwartym plikiem a procesem (informacja istnieje tylko w pamięci jądra)
obiekt pozycji katalogu przechowuje informacje o powiązaniu pozycji katalogu z odpowiednim plikiem
Rodzaje systemów plików:
0 Empty 1c Hidden Win95 FA 70 DiskSecure Mult bb Boot Wizard hid
1 FAT12 1e Hidden Win95 FA 75 PC/IX be Solaris boot
2 XENIX root 24 NEC DOS 80 Old Minix c1 DRDOS/sec (FAT-
3 XENIX usr 39 Plan 9 81 Minix / old Lin c4 DRDOS/sec (FAT-
4 FAT16 <32M 3c PartitionMagic 82 Linux swap c6 DRDOS/sec (FAT-
5 Extended 40 Venix 80286 83 Linux c7 Syrinx
6 FAT16 41 PPC PReP Boot 84 OS/2 hidden C: da Non-FS data
7 HPFS/NTFS 42 SFS 85 Linux extended db CP/M / CTOS / .
8 AIX 4d QNX4.x 86 NTFS volume set de Dell Utility
9 AIX bootable 4e QNX4.x 2nd part 87 NTFS volume set df BootIt
a OS/2 Boot Manag 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access
b Win95 FAT32 50 OnTrack DM 93 Amoeba e3 DOS R/O
c Win95 FAT32 (LB 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
e Win95 FAT16 (LB 52 CP/M 9f BSD/OS eb BeOS fs
f Win95 Ext'd (LB 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee EFI GPT
10 OPUS 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
11 Hidden FAT12 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
12 Compaq diagnost 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
14 Hidden FAT16 <3 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
16 Hidden FAT16 61 SpeedStor a9 NetBSD f2 DOS secondary
17 Hidden HPFS/NTF 63 GNU HURD or Sys ab Darwin boot fd Linux raid auto
18 AST SmartSleep 64 Novell Netware b7 BSDI fs fe LANstep
1b Hidden Win95 FA 65 Novell Netware b8 BSDI swap ff BBT
Pliki w systemie Unix/Linux:
każdy plik jest elementem jakiegoś katalogu
katalog jest specjalnym rodzajem pliku, który zawiera listę nazw plików wraz z odpowiadającymi im numerami i-węzłów (i-nodes)
i-węzeł jest strukturą danych zawierającą wszystkie dane o pliku (katalogu): numer bloku na~dysku, nazwę właściciela pliku, prawa dostępu i czas ostatniego dostępu oraz numery bloków zawierające dane; każdy i-węzeł to 128 B (ext3), 256 B (ext4) danych
System plików EXT2/EXT3
Superblok to struktura danych opisująca globalne parametry systemu plików. Przy montowaniu jądro wczytuje superblok związany z danym systemem plików do pamięci operacyjnej.
Komendy tune2fs -l /dev/vdb1
oraz dumpe2fs /dev/vdb1
pozwalają uzyskać szczegółowe
dane o superbloku i innych danych definiujących system plików EXT2/EXT3/EXT4.
I-węzeł w systemie plików EXT2/EXT3:
typ pliku i prawa dostępu
identyfikator właściciela
długość pliku w bajtach
czas ostatniego dostępu do pliku
czas ostatniej zmiany i-węzła
czas ostatniej modyfikacji pliku
licznik sztywnych dowiązań
liczba bloków danych pliku
wskaźniki do bloków danych
Przed użyciem systemu plików trzeba wykonać dwie podstawowe operacje:
rejestrowanie – wykonywanie albo w chwili startu systemu, albo w czasie ładowania modułu, implementującego system plików; po zarejestrowniu systemu plików jego funkcje stają się dostępne dla jądra
montowanie – dzięki odpowiednim funkcjom system plików może być zamontowany w drzewie katalogów systemu, np.
# mount [-t ext4] /dev/sda2 /home
Porównać:
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 4731308 2613036 1854892 59% /
devtmpfs 948724 0 948724 0% /dev
tmpfs 953880 0 953880 0% /dev/shm
tmpfs 953880 280 953600 1% /run
tmpfs 953880 0 953880 0% /sys/fs/cgroup
tmpfs 953880 12 953868 1% /tmp
tmpfs 190712 0 190712 0% /run/user/0
/dev/vdb1 1981008 14788 1847540 1% /mnt/vdb1
# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/vda1 ext4 4731308 2613036 1854892 59% /
devtmpfs devtmpfs 948724 0 948724 0% /dev
tmpfs tmpfs 953880 0 953880 0% /dev/shm
tmpfs tmpfs 953880 276 953604 1% /run
tmpfs tmpfs 953880 0 953880 0% /sys/fs/cgroup
tmpfs tmpfs 953880 12 953868 1% /tmp
tmpfs tmpfs 190712 0 190712 0% /run/user/0
/dev/vdb1 ext4 1981008 14788 1847540 1% /mnt/vdb1
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda1 308864 75887 232977 25% /
devtmpfs 237181 327 236854 1% /dev
tmpfs 238470 1 238469 1% /dev/shm
tmpfs 238470 337 238133 1% /run
tmpfs 238470 13 238457 1% /sys/fs/cgroup
tmpfs 238470 13 238457 1% /tmp
tmpfs 238387 1 238386 1% /run/user/0
/dev/vdb1 128000 449 127551 1% /mnt/vdb1
Katalog jest specjalnym rodzajem pliku, który zawiera listę nazw plików wraz z odpowiadającymi im numerami i-węzłów.
Dowiązanie symboliczne jest specjalnym rodzajem pliku, który w swoim i-węźle zawiera nazwę pliku, na którą wskazuje (jeśli ścieżka dowiązania symbolicznego ma nie więcej niż 60 znaków, to całą informację o tym dowiązaniu można zmieścić w i-węźle).
Komenda ls -i [katalog]
wyświetla listę plików wraz z odpowiadającymi im numerami i-węzłów.
Więcej informacji o pliku oraz systemie plików można uzyskać przy pomocy komendy stat
:
# stat /etc/passwd
File: `/etc/passwd'
Size: 1839 Blocks: 8 IO Block: 4096 regular file
Device: 302h/770d Inode: 245051 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2004-12-20 21:16:10.736631440 +0100
Modify: 2004-11-24 14:10:30.000000000 +0100
Change: 2004-12-15 22:43:15.000000000 +0100
# stat -f /etc/hosts
File: "/etc/hosts"
ID: 20e55c1164fe39cd Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 1182827 Free: 531672 Available: 46582
Zob. także i-węzeł: modify|change time.
Przy pomocy komendy stat
można uzyskać szereg szczegółowych danych o poszczególnych
plikach i systemach plików, np. jaka może być maksymalna długość nazwy pliku. Zob. man
stat
, https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits.
W celu przyspieszenia wyszukiwania nazw współczesne systemy uniksowe stosują tzw. pamięć podręczną wyszukiwania nazw. Linux używa pamięci podręcznej pozycji katalogów, która działa jako kontroler pamięci podręcznej i-węzłów.
Współczesne implementacje interpretatorów poleceń zapamiętują w pamięci operacyjnej nazwy plików ze wszystkich katalogów umieszczonych w ścieżce PATH.
Pliki z bieżącego katalogu nie są zapamiętywane, bo ulegają częstym zmianom, więc należy w zmiennej PATH katalog bieżący podawać na końcu listy.
Odnajdywanie przez system operacyjny pliku o podanej nazwie jest czynnością złożoną:
Dane systemu plików są zmieniane w pamięci, a dopiero później zmiany zapisywane są na
dysku. W razie awarii system plików pozostaje w stanie niespójnym. Trzeba wówczas użyć
komendy fsck
do przywrócenia spójności metadanych danego systemu plików.
Jak fsck sprawdza spójność bloków danych?
dla każdego bloku tworzony jest:
licznik plików (liczba plików, które odwołują się do danego bloku)
licznik wolnych bloków (liczba wolnych bloków o numerze danego bloku)
przeglądana jest lista i-węzłów i zwiększane są liczniki bloków związanych z danym i-węzłem
przeglądana jest lista wolnych bloków i zwiększany jest licznik wolnych bloków
Jeśli system plików jest spójny, to każdy blok pojawia się albo na liście bloków zajętych, albo na liście bloków wolnych.
Jak fsck sprawdza spójność plików?
dla każdego pliku (i-węzła) tworzony jest licznik
przeglądana jest lista plików (poczynając od korzenia systemu plików
po napotkaniu pliku zwiększany jest licznik jego i-węzła
dla każdego i-węzła porównywany jest stan jego licznika z liczbą dowiązań zapisaną w i-węźle
Jeśli system jest spójny, to liczba dowiązań jest równa stanowi licznika.
Rodzaje niespójności plików:
liczba dowiązań jest mniejsza niż stan licznika (liczba pozycji w~katalogach) – niemożność odzyskania i-węzła
liczba dowiązań jest większa niż stan licznika – zwolnienie bloków przy usunięciu któregoś z plików
Przykładowy wynik działania komendy fsck
sprawdzjącej spójność systemu plików EXT3/4:
# fsck from util-linux 2.23.2
#e2fsck 1.42.9 (28-Dec-2013)
/dev/mapper/vg-lv1 has been mounted 8 times without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg-lv1: 11/15232 files (9.1% non-contiguous), 7321/61440 blocks
Systemy plików z kroniką, dziennikowe systemy plików, pozwalają na szybkie przywracanie spójności systemów plików w razie awarii, kiedy stan systemu plików zmienia się z clean na dirty.
Przykładowe systemy plików z kroniką: JFS (Journaling File System), EXT3/4, ReiserFS, XFS.
Zalety systemu plików EXT3/4:
dostępność
integralność danych – EXT3/4 zapewnia mocniejszą integralność danych w razie awarii systemu
szybkość – pomimo pisania niektórych danych dwa razy, EXT3/4 zapewnia zwiększoną przepustowość, gdyż optymalizuje ruch głowic
W przypadku systemu plików EXT3/4 kronika może być wykorzystywana na 3 sposoby w zależności od sposobu zamontowania:
# mount -o data=journal|ordered|writeback dev|dir
Wg man mount
:
journal
All data is committed into the journal prior to being written into
the main file system.
ordered
This is the default mode. All data is forced directly out to the
main file system prior to its metadata being committed to the jour-
nal.
writeback
Data ordering is not preserved - data may be written into the main
file system after its metadata has been committed to the journal.
This is rumoured to be the highest-throughput option. It guarantees
internal file system integrity, however it can allow old data to
appear in files after a crash and journal recovery.
Domyślny tryb pracy systemu z kroniką można ustawić przy pomocy komendy tune2fs
:
# tune2fs -ojournal_data|journal_data_ordered|journal_write_back /dev/vdb1
Zob. man tune2fs
.
Dla systemu plików z kroniką jego stan jest zawsze clean i dlatego nie ma w zasadzie
konieczności używania komendy fsck
do sprawdzania i ew. naprawiania systemu plików. W
rzeczywistości moze dochodzić do utraty spójności, więc superblok zawiera parametry Mount
count i Maximum mount count, dzięki którym następuję wymuszenie użycia fsck
przy
montowaniu systemu plików, jeśli liczba montowań zrównuje się z maksymalną dopuszczalną
liczbą montowań. Zaleca się, żeby różne systemy plików wskazane do montowania w pliku
/etc/fstab miały parametry Maximum mount count nie równe, ale narastające. Chodzi bowiem
o to, żeby uniknąć równoczesnego sprawdzania spójności wszystkich montowanych systemów
plików.
Zob. Przykłady użycia komendy mount (zad. 1-3).
Przestrzeń wymiany
Przestrzeń wymiany wykorzystywana przez system operacyjny jest wspierana przez specjalny rodzaj systemu plików i montowana podczas uruchamiania systemu operayjnego (zob. /etc/fstab).
Przy pomocy komendy mkswap
można utworzyć dodatkową przestrzeń wymiany:
# parted -s /dev/vdb mkpart primary 1 100%
# mkswap /dev/vdb1
Włączenie/wyłączenie tej dodatkowej przestrzeni wymiany odbywa się przy pomocy komend
swapon|swapoff
:
# swapon /dev/vdb1; free
# swapoff /dev/vdb1; free
Przy braku wolnej partycji można do powiększenia przestzreni wymiany wykorzystać oddzielny plik:
# dd if=/dev/zero of=/root/swapfs bs=1M count=1000
# mkswap /root/swapfs
# swapon /root/swapfs
Wirtualne urządzenia blokowe
Wirtualne urządzenia blokowe (/dev/loop0, /dev/loop1, …) pozwalają na montowanie systemów plików, które znajdują się w zwykłych plikach:
# losetup /dev/loop0 puppyLinux.iso
# mount /dev/loop0 /media/pup
Zamiast dwóch powyższych komend można użyć komendy:
# mount -o loop puppyLinux.iso /media/pup
Na maszynach wirtualnych zawartość pliku /etc/fstab jest następująca:
# /etc/fstab: static file system information.
#
# <file sys> <mount point> <type> <options> <dump> <pass>
LABEL=ROOT / ext4 rw,noatime,errors=remount-ro 0 1
LABEL=SWAP none swap sw 0 0
Tę informację trzeba powiązać z dostępnymi na dysku systemowym partycjami:
# parted /dev/vda print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 5060MB 5059MB primary ext4 boot
2 5060MB 5369MB 309MB primary linux-swap(v1)
Listę zamontowanych systemów plików daje komenda mount
:
# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=948724k,nr_inodes=237181,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,size=953880k,nr_inodes=238470)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=953880k,nr_inodes=238470,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,size=953880k,nr_inodes=238470,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,
release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
...
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/vda1 on / type ext4 (rw,noatime,errors=remount-ro,data=ordered)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,size=953880k,nr_inodes=238470)
mqueue on /dev/mqueue type mqueue (rw,relatime)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=190712k,mode=700)
W wyniku zamontowania systemu plików dane na mim zgromadzone stają się dostępne dla użytkowników systemu. Komenda
mount
oferuje szereg opcji, których można użyć do modyfikowania sposobu udostępniania danych. Jeśli przy montowaniu
użyje się opcji defaults (mount -o defaults dev
), to jest to równoznaczne z zastosowaniem następujących opcji:
rw, suid, dev, exec, auto, nouser, async. Znaczenie tych i kilku innych opcji widocznych powyżej jest
następujące (zob. man mount
):
async |
All I/O to the filesystem should be done asynchronously. |
auto |
Can be mounted with the -a option. |
dev |
Interpret character or block special devices on the filesystem. |
errors={continue|remount-ro|panic} |
Define the behaviour when an error is encountered. (Either ignore errors and just mark the filesystem erroneous and continue, or remount the filesystem read-only, or panic and halt the system.) The default is set in the filesystem superblock, and can be changed using tune2fs(8). |
exec |
Permit execution of binaries. |
nouser |
Forbid an ordinary (i.e., non-root) user to mount the filesystem. This is the default. |
relatime |
Update inode access times relative to modify or change time. Access time is only updated if the previous access time was earlier than the current modify or change time. (Similar to noatime, but doesn’t break mutt or other applications that need to know if a file has been read since the last time it was modified.) |
rw |
Mount the filesystem read-write. |
suid |
Allow set-user-identifier or set-group-identifier bits to take effect. |
Te opcje stosują się do wszystkich rodzajów systemów plików. Dla poszczególnych systemów może być dostępnych szereg
innych opcji (man 5 ext4
).
Prawa dostępu – zob. Prawa dostępu do plików i ich zmiana.
Dowiązanie sztywne i symboliczne – zob. hard|soft links.
Atrybuty atime, mtime, ctime – zob. atime, etc.
Wyszukiwanie plików – zob. find.