Pertanyaan Bagaimana cara membuat file dapat dieksekusi? [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Bagaimana saya bisa membuat file saya sehingga saya dapat mengklik dua kali di atasnya, dan itu berjalan. Ini adalah sebuah .sh skrip, tetapi saya juga memiliki file yang mengatakan:

executable (application/x-executable)

dalam deskripsi tentang apa itu.

Saya tidak bisa menjalankan ini dari terminal, atau dengan mengklik ganda.

Jika memungkinkan, saya ingin cara menggunakan GUI atau Terminal, tetapi bukan kombinasi keduanya.

Berikut adalah screenshot dari apa yang saya lihat ketika saya mengklik kanan lalu pergi pada properti. File yang pertama:

properties of executable file

Dan skrip shell di sini:

properties of shell script

NB: Saya menerima bahwa ini adalah duplikat (saya mencarinya, dan tidak dapat menemukannya, jadi bertanya + menjawabnya, berharap saya akan menemukannya), namun saya tidak berpikir pertanyaan tentang file .desktop adalah duplikat.


25
2018-06-17 19:18


asal


lihat tab izin di tangkapan layar Anda. - Rinzwind
Kami membutuhkan lebih banyak informasi. Bisa jadi apa saja dari perizinan yang tidak tepat untuk dependensi yang tidak terpenuhi ke jalan yang salah untuk menjalankan program windows di linux. - Panther


Jawaban:


Ada dua cara membuat file dapat dieksekusi:

Metode GUI:

Pergi ke tab izin, lalu centang kotak Execute: [✓] Izinkan menjalankan file sebagai program.

Metode baris perintah:

Lari saja:

chmod +x /path/to/your/file.txt

Perhatikan itu chmod juga memiliki beberapa opsi lanjutan. Ini menerima tiga kelompok opsi, diwakili sebagai --- --- ---. Set pertama dari --- adalah Pengguna. Yang kedua adalah Group dan yang terakhir adalah Other (orang lain).

r singkatan dari Baca, w untuk Menulis dan x untuk eXecute.

Untuk memungkinkan semua orang membacanya, tetapi hanya Grup yang dijalankan dan Pengguna untuk membaca dan menulisnya -rw- rx- r--. Ini akan ditambahkan ke perintah sebagai:

chmod +rw-rx-r-- /path/to/file.extension

chmod juga bisa melakukan ini dalam jumlah. Ini didasarkan pada biner.

Jadi ada angka-angka ini:

Jalankan oleh pengguna 100. Execute oleh grup adalah 010. Jalankan oleh lainnya 001

Tulis oleh pengguna 200. Tulis berdasarkan grup adalah 020. Tulis oleh yang lainnya 002.

Dibaca oleh pengguna 400. Baca berdasarkan grup 040. Baca dengan yang lain adalah 004.

Kemudian Anda menambahkan ini bersama-sama untuk mendapatkan kombinasi yang diinginkan.

Jadi untuk memungkinkan semua orang membacanya, tetapi hanya Grup yang dijalankan dan Pengguna yang akan menulisnya 400 + 040 + 004 dan 010 dan 200

Itu menambahkan hingga 600 + 050 + 004 = 654.

Anda kemudian dapat menjalankan perintah.

chmod +654 /path/to/file.extension

untuk mengaturnya. Jadi untuk mengatur semua izin yang dapat Anda jalankan:

chmod +rwxrwxrwx /path/to/file.extension

atau

chmod +777 /path/to/file.extension

Akhirnya, Anda bisa melakukan:

chmod -777 /path/to/file.extension

Untuk mengambil semua izin dari semua orang.

Dan:

chmod +300 /path/to/file.extension

Untuk menambahkan baca dan tulis untuk pengguna, tanpa memengaruhi izin lainnya (mis. Jalankan izin).

Situs ini memiliki alat kecil yang sangat berguna, dimana Anda dapat mencentang opsi yang Anda inginkan dan memberi Anda perintah:

Namun, tidak semua kombinasi yang mungkin masuk akal untuk digunakan; yang utama yang digunakan adalah sebagai berikut:

  • 755 - Owner memiliki semua, dan Group dan Other dapat membaca dan mengeksekusi

  • 700 - Owner punya semuanya

  • 644 - Ownerdapat membaca dan menulis, dan Group dan Other dapat membaca

  • 600 - Owner dapat membaca dan menulis

Dan, jika Anda menggunakan grup pengguna non-sepele:

  • 775 - Ownerdapat membaca dan menulis, dan Group dan Other dapat membaca

  • 770 - Owner dan Group punya semuanya, dan Other dapat membaca dan mengeksekusi

  • 750 - Owner memiliki semua, dan Group dapat membaca dan mengeksekusi

  • 664 - Owner dan Groupdapat membaca dan menulis, dan Other hanya bisa membaca

  • 660 - Owner dan Group dapat membaca dan menulis

  • 640 - Ownerdapat membaca dan menulis, dan Group dapat membaca

777 dan 666 jarang digunakan, kecuali di /tmp.

Terima kasih Ilmari Karonen untuk menunjukkan yang umum digunakan!


45
2018-06-17 19:25



Info lebih lanjut: chmod --help - Hannu
Anda juga bisa: chmod +700 /path/to/your/filename.extension - Duncubuntu
Komunitas membantu wiki berada help.ubuntu.com/community, dan help.ubuntu.com/community/FilePermissions akan berlaku untuk pertanyaan ini, saya kira. Tidak seperti Ask Ubuntu, itu bukan sumber gaya Q / A. - Gunnar Hjalmarsson
Anda juga dapat memberikan jawaban sebagai "komunitas wiki", ini adalah pilihan di sudut kiri bawah kotak "Answer". Lihat askubuntu.com/help/privileges/community-wiki - Panther
Screenshot Anda menunjukkan a sangat contoh buruk dari hak akses file. Saya tidak bisa memikirkan alasan yang sah untuk pernah membuat file yang dapat dieksekusi (atau sebagian besar file lain, dalam hal ini) dapat ditulis oleh siapa pun, dan banyak alasan untuk tidak melakukannya. Pada dasarnya, set izin file yang umumnya berguna (tidak termasuk hal-hal lanjutan seperti setuid / gid) adalah 755, 700, 644 dan 600 (dan, jika Anda menggunakan grup pengguna non-sepele, 775, 770, 750, 664, 660 dan 640 ). Tentang satu-satunya hal yang seharusnya Anda lihat dengan 777 atau 666 izin /tmp (yang sebenarnya 1777), file perangkat dan symlink (yang izinnya tidak penting). - Ilmari Karonen