Izin ditolak ketika mencoba mengeksekusi biner yang dibakar ke CD-R

1

Pada mesin Ubuntu 9.10 (Karmic Koala), saya membakar CD dari command prompt menggunakan:

cdrecord -v speed=16 dev=0,1,0 /FPS.iso

CD sekarang berisi file executable dan beberapa file. Saya menguji CD dengan memuatnya ke komputer lain (Red Hat 5.3) dan ketika saya mencoba menjalankan program saya mendapatkan pesan berikut:

bash: ./FPS1_1: Permission denied

Saya dapat membuka file lain seperti dokumen teks (yang dapat dieksekusi juga dilengkapi dengan perpustakaan bersama) Saya menyadari bahwa saya telah membakar CD sebagai root jadi saya membakar yang lain sebagai pengguna lain tetapi saya masih memiliki masalah yang sama. Bagaimana saya bisa menghapus izin ini atau apa masalahnya?

PS gambar itu /jika itu membantu.

Perintah yang saya gunakan untuk menghasilkan gambar adalah:

mkisofs -frvJL -o /buffer/mycd.iso /temp/mydirectory/

The -rsingkatan "Hasilkan dirasionalisasikan Rock Ridge informasi direktori". Haruskah saya menggunakan -R("Hasilkan informasi direktori Rock Ridge")?

pengguna16654
sumber

Jawaban:

1

Masalahnya bukan pada bagaimana Anda membakar disk tetapi pada bagaimana Anda membuat gambar. Jika Anda tidak mengaktifkan ekstensi Rock Ridge saat membuat ISO, maka ia akan menggunakan opsi apa pun yang ditentukan selama operasi pemasangan alih-alih izin yang semula dimiliki.

Ignacio Vazquez-Abrams
sumber
saya memang mengaktifkannya, saya menambahkan r bukan R
user16654
1

Seperti yang ditunjukkan oleh jawaban Ignacio , ini lebih berkaitan dengan menghasilkan ISO dan memasang sistem file daripada membakar ISO ke disk.


Anda dapat memasang CDR atau ISO dengan opsi umask untuk memastikan file memiliki bit yang dapat dieksekusi di sistem file yang terpasang. Sebagai contoh, umask = 022 akan memberikan semua file izin 755 , juga dikenal sebagai rwxr-xr-x .

mount -t iso9660 -o umask=022 /dev/cdrom /path/to/mount/point

Ini akan memperbaiki masalah izin sekali; untuk perbaikan permanen, tambahkan opsi umask ke sistem pemasangan sistem Anda ( / etc / fstab , atau automounter apa pun yang digunakan), atau perbaiki citra ISO.


Di Ubuntu, mkisofs adalah symlink ke genisoimage . Menurut halaman genisoimage , -R mungkin lebih dekat dengan apa yang Anda inginkan daripada -r (penekanan milik saya):

-R Menghasilkan catatan SUSP dan RR menggunakan protokol Rock Ridge untuk lebih menjelaskan file pada sistem file ISO9660.

-r Ini seperti opsi -R, tetapi kepemilikan file dan mode diatur ke nilai yang lebih berguna. Uid dan gid diatur ke nol, karena biasanya hanya berguna pada sistem penulis, dan tidak berguna untuk klien. Semua bit read file diset true, sehingga file dan direktori dapat dibaca secara global pada klien. Jika ada bit eksekusi yang diatur untuk file, setel semua bit eksekusi, sehingga executable dapat dieksekusi secara global pada klien. Jika ada bit pencarian yang ditetapkan untuk direktori, atur semua bit pencarian, sehingga direktori dapat dicari secara global pada klien. Semua bit tulis dihapus, karena sistem file akan dipasang hanya-baca dalam hal apa pun. Jika ada salah satu bit mode khusus yang ditetapkan, kosongkan, karena kunci file tidak berguna pada sistem file read-only, dan bit set-id tidak diinginkan untuk uid 0 atau gid 0.

quack quixote
sumber
thx untuk ketepatan, saya akan mencobanya nanti
user16654