GNU/Linux >> Belajar Linux >  >> Linux

Temukan Dan Perbedaan Antara -perm /6000 Dan -perm /u+s?

Saya telah mencoba menemukan executable setuid menggunakan `one liner'.

Baris yang pertama kali saya coba adalah:

find / -perm /u+s -type f

Kemudian saya menemukan garis yang serupa tetapi memberikan hasil yang berbeda:

find / -perm /6000 -type f

Ini terlihat identik sejauh yang saya tahu, tetapi yang pertama tidak menunjukkan hasil sebanyak yang kedua (kebanyakan yang dengan grup aneh tidak ada). Mengapa, apa yang berbeda?

Jawaban yang Diterima:

Kebanyakan orang tidak tahu tetapi izin Unix sebenarnya bukan hanya Pengguna, Grup, dan Lainnya (rwx). 3 triad ini adalah izin khas yang memungkinkan pengguna, grup, dan pengguna lain mengakses file &direktori. Namun ada juga sekelompok bit yang mendahului bit Pengguna. Bit ini disebut sebagai “Mode Khusus”.

Ini lebih merupakan notasi singkat yang tidak perlu Anda atur secara eksplisit saat menangani alat seperti chmod .

$ chmod 644

Sebenarnya setara dengan:

$ chmod 0644

Berikut daftar bitnya:

kutipan artikel wikipedia berjudul:chmod

Flag                Octal value     Purpose
----                -----------     -------
S_ISUID             04000           Set user ID on execution
S_ISGID             02000           Set group ID on execution
S_ISVTX             01000           Sticky bit
S_IRUSR, S_IREAD    00400           Read by owner
S_IWUSR, S_IWRITE   00200           Write by owner
S_IXUSR, S_IEXEC    00100           Execute/search by owner
S_IRGRP             00040           Read by group
S_IWGRP             00020           Write by group
S_IXGRP             00010           Execute/search by group
S_IROTH             00004           Read by others
S_IWOTH             00002           Write by others
S_IXOTH             00001           Execute/search by others

Pertanyaan Anda

Jadi dalam perintah pertama Anda, Anda mencari u+s , yang akan berhasil menjadi bit 04000 . Saat Anda menggunakan notasi numerik, Anda meminta bit 04000 DAN 02000 . Ini akan memberi Anda file dengan kumpulan bit setuid pengguna atau grup.

Bacaan Lebih Lanjut

Saya sangat menyarankan siapa pun yang ingin memahami izin lebih baik di Unix, untuk membaca halaman Wikipedia tentang chmod . Ini menguraikannya dengan sangat sederhana dan merupakan referensi yang sangat baik ketika Anda lupa.

Referensi

  • Tutorial chmod

Linux
  1. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  2. Bagaimana cara mengetahui dari folder mana suatu proses sedang berjalan?

  3. unix:///var/run/supervisor.sock tidak ada file seperti itu

  1. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  2. Apa perbedaan antara /tmp dan /run?

  3. Haruskah situs web berada di /var/ atau /usr/ sesuai dengan penggunaan yang disarankan?

  1. Apa Perbedaan Antara /sbin/nologin Dan /bin/false?

  2. Perbedaan Antara /opt Dan /usr/local?

  3. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?