Rumah >Tutorial sistem >LINUX >Tafsiran mendalam tentang tanda tambah dan titik dalam lajur kebenaran di Linux

Tafsiran mendalam tentang tanda tambah dan titik dalam lajur kebenaran di Linux

王林
王林asal
2024-07-02 16:51:22913semak imbas

Tafsiran mendalam tentang tanda tambah dan titik dalam lajur kebenaran di Linux

1 Di Linux, arahan ls -l adalah yang paling biasa digunakan. Lajur pertama dalam hasil paparan arahan juga adalah tempat yang lebih kita ambil perhatian Secara umumnya, aksara yang menunjukkan kebenaran menduduki 10 kedudukan. Walau bagaimanapun, kita sering melihat kandungan dipaparkan pada kedudukan kesebelas dalam lajur ini. Yang paling biasa ialah titik (.), dan tanda tambah (+) juga akan muncul dalam kedudukan ini. Mari kita mencubanya dengan tangan kita sendiri, boleh?

2. Berkenaan titik (.) di ruangan kebenaran
2.1 Mari kita lihat pada direktori akar.

[root@DCGH ~]# ls -lZ /
lrwxrwxrwx. root root system_u:object_r:bin_t:s0 bin -> usr/bin
dr-xr-xr-x. root root system_u:object_r:boot_t:s0 boot
drwxr-xr-x. root root system_u:object_r:device_t:s0 dev
drwxr-xr-x. root root system_u:object_r:etc_t:s0 etc
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 home
lrwxrwxrwx. root root system_u:object_r:lib_t:s0 lib -> usr/lib
lrwxrwxrwx. root root system_u:object_r:lib_t:s0 lib64 -> usr/lib64
drwxr-xr-x. root root system_u:object_r:mnt_t:s0 media
drwxr-xr-x. root root system_u:object_r:mnt_t:s0 mnt
drwxr-xr-x. root root system_u:object_r:usr_t:s0 opt
dr-xr-xr-x. root root system_u:object_r:proc_t:s0 proc
dr-xr-x---. root root system_u:object_r:admin_home_t:s0 root
drwxr-xr-x. root root system_u:object_r:var_run_t:s0 run
lrwxrwxrwx. root root system_u:object_r:bin_t:s0 sbin -> usr/sbin
drwxr-xr-x. root root system_u:object_r:var_t:s0 srv
dr-xr-xr-x. root root system_u:object_r:sysfs_t:s0 sys
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp
drwxr-xr-x. root root system_u:object_r:usr_t:s0 usr
drwxr-xr-x. root root system_u:object_r:var_t:s0 var

2.2 Buat fail dan direktori masing-masing dalam direktori HOME, dan perhatikan butiran kedudukan kesebelas kebenaran.

[root@DCGH ~]# touch DCGH
[root@DCGH ~]# mkdir DCGH-DIR
[root@DCGH ~]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 3月 28 10:23 DCGH
drwxr-xr-x. 2 root root 6 3月 28 10:24 DCGH-DIR

2.3 Semak status SELinux mesin ini dan senaraikan maklumat asas tentang SELinux dalam fail dan direktori dalam direktori ini.

[root@DCGH ~]# getenforce
Enforcing
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR

2.4 Tutup SELinux, buat fail dan direktori percubaan sekali lagi dan senaraikan maklumat asas tentang SELinux dalam direktori ini dan fail serta direktori di bawah akar semula

.

[root@DCGH ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
[root@DCGH ~]# reboot
[root@DCGH ~]# getenforce
Disabled
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
[root@DCGH ~]# touch DCGH-later
[root@DCGH ~]# mkdir DCGH-later-dir
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
-rw-r--r-- root root ? DCGH-later
drwxr-xr-x root root ? DCGH-later-dir
[root@DCGH ~]# ls -lZ /
lrwxrwxrwx. root root system_u:object_r:bin_t:s0 bin -> usr/bin
dr-xr-xr-x. root root system_u:object_r:boot_t:s0 boot
drwxr-xr-x root root ? dev
drwxr-xr-x. root root system_u:object_r:etc_t:s0 etc
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 home
lrwxrwxrwx. root root system_u:object_r:lib_t:s0 lib -> usr/lib
lrwxrwxrwx. root root system_u:object_r:lib_t:s0 lib64 -> usr/lib64
drwxr-xr-x. root root system_u:object_r:mnt_t:s0 media
drwxr-xr-x. root root system_u:object_r:mnt_t:s0 mnt
drwxr-xr-x. root root system_u:object_r:usr_t:s0 opt
dr-xr-xr-x root root ? proc
dr-xr-x---. root root system_u:object_r:admin_home_t:s0 root
drwxr-xr-x root root ? run
lrwxrwxrwx. root root system_u:object_r:bin_t:s0 sbin -> usr/sbin
drwxr-xr-x. root root system_u:object_r:var_t:s0 srv
dr-xr-xr-x root root ? sys
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp
drwxr-xr-x. root root system_u:object_r:usr_t:s0 usr
drwxr-xr-x. root root system_u:object_r:var_t:s0 var
Melalui contoh di atas, kita dapat melihat bahawa perkara ini (.) bukanlah sia-sia, tetapi ia mempunyai kesan yang besar, dan kita biasanya tidak memberi perhatian kepadanya. Fail dan direktori yang dibuat selepas SELinux dihidupkan akan menunjukkan titik ini dalam lajur kebenaran Fail dan direktori yang dibuat selepas SELinux dimatikan tidak akan menunjukkan titik ini dalam lajur kebenaran.

3 Berkenaan tanda tambah (+) di ruangan kebenaran
3.1 Rakan yang telah mengetahui tentang tetapan kebenaran ACL di Linux mesti biasa dengan tanda tambah ini. Tetapi marilah kita mengesahkannya melalui eksperimen.

[root@DCGH ~]# setfacl -m u:dcgh:rwx *

[root@DCGH ~]# ls -lZ

-rw-rwxr--+ root root unconfined_u:object_r:admin_home_t:s0 DCGH

drwxrwxr-x+ root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR

drwxrwxr-x+ root root ? DCGH-DIR-later -rw-rwxr--+ root root ? DCGH-later

[root@DCGH ~]# setfacl -b *

[root@DCGH ~]# ls -lZ

-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH

drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR

drwxr-xr-x root root ? DCGH-DIR-later -rw-r--r-- root root ? DCGH-later
Kita dapat melihat bahawa selepas menambah kawalan kebenaran ACL, kedudukan terakhir lajur kebenaran fail dan direktori yang sebelum ini mempunyai atribut SELinux telah bertukar kepada tanda tambah (+). Selepas mengalih keluar kebenaran ACL asal, pulihkannya kepada keadaan asalnya.

4
4.1 Titik dalam lajur kebenaran Linux bukanlah aksara yang tidak bermakna. Direktori dan fail yang dibuat apabila SELinux dihidupkan mempunyai titik ini dalam lajur kebenaran menunjukkan bahawa direktori atau fail mempunyai set kebenaran berkaitan SELinux. Selepas melumpuhkan kebenaran SELinux, ia menyusahkan fail atau direktori yang dibuat apabila kebenaran SELinux sebelum ini didayakan untuk mengekalkan kebenaran asalnya dan titik dalam lajur kebenaran masih dipaparkan. Direktori atau fail yang baru dibuat tidak mempunyai titik ini dipaparkan dalam lajur kebenaran. 4.2 Jika kedudukan terakhir dalam lajur kebenaran ialah tanda tambah, ini bermakna direktori atau fail ini telah menetapkan kandungan berkaitan kebenaran ACL. Jika tanda tambah wujud, paparan titik untuk direktori atau fail yang sudah mempunyai titik akan ditimpa, tetapi atribut SELinux asal kekal tidak berubah.

Atas ialah kandungan terperinci Tafsiran mendalam tentang tanda tambah dan titik dalam lajur kebenaran di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn