GNU/Linux >> Belajar Linux >  >> Linux

Kasus Penggunaan yang Valid Untuk Izin File "Hanya Jalankan"?

Saya sedang membaca tentang chmod dan mode oktalnya. Saya melihat bahwa 1 adalah mengeksekusi saja. Apa kasus penggunaan yang valid untuk izin eksekusi saja? Untuk mengeksekusi file, seseorang biasanya ingin membaca dan mengeksekusi izin.

$ echo 'echo foo' > say_foo
$ chmod 100 ./say_foo
$ ./say_foo
bash: ./say_foo: Permission denied
$ chmod 500 ./say_foo
$ ./say_foo
foo

Jawaban yang Diterima:

Skrip shell memerlukan izin baca untuk dieksekusi, tetapi file biner jangan:

$ cat hello.cpp
#include<iostream>

int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
$ g++ -o hello hello.cpp
$ chmod 100 hello
$ ./hello
Hello, world!
$ file hello
hello: executable, regular file, no read permission

Menampilkan konten file dan mengeksekusinya adalah dua hal yang berbeda. Dengan skrip shell, hal-hal ini terkait karena "dieksekusi" dengan "membaca" mereka ke dalam shell baru (atau yang sekarang), jika Anda memaafkan penyederhanaan. Inilah sebabnya mengapa Anda harus bisa membacanya. Biner tidak menggunakan mekanisme itu.

Untuk direktori, izin eksekusi sedikit berbeda; itu berarti Anda dapat melakukan sesuatu pada file di dalam direktori itu (misalnya membaca atau menjalankannya). Jadi katakanlah Anda memiliki seperangkat alat di /tools yang Anda ingin orang dapat menggunakannya, tetapi hanya jika mereka tahu tentang mereka. chmod 711 /tools . Kemudian hal-hal yang dapat dieksekusi di /tools dapat dijalankan secara eksplisit (mis. /tools/mytool ), tetapi ls /tools/ akan ditolak. Demikian pula, dokumen dapat disimpan di /private-docs yang dapat dibaca jika dan hanya jika nama file diketahui.


Linux
  1. Tabel Izin untuk Jenis Pengguna File/Direktori Dan Sistem File

  2. Menambahkan bagian ke file ELF

  3. Apakah mungkin menggunakan / dalam nama file?

  1. Cara Menggunakan Perintah SFTP untuk Transfer File Aman

  2. Mengapa menggunakan shm_open?

  3. Apakah sebaiknya menggunakan git untuk mengontrol versi file konfigurasi?

  1. Bagaimana Menemukan Nilai Yang Valid Untuk Istilah Yang Digunakan Di Tmux?

  2. Gunakan _roff Untuk Menggarisbawahi Kata?

  3. Konsep izin file Linux