Saya memiliki skrip yang harus saya jalankan pada partisi NTFS. Izin skrip diatur ke 600.
Saya berusaha mengubah izin dengan menjalankan chmod 755 script.sh
, yang tidak melaporkan kegagalan atau apa pun - tetapi juga tidak mengubah izin pada file:
$ stat script.sh
File: `script.sh'
Size: 297070 Blocks: 584 IO Block: 4096 regular file
Device: 811h/2065d Inode: 35515 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/ xxxxxx) Gid: ( 1000/ xxxxxx)
Access: 2010-09-30 14:05:16.041621000 -0700
Modify: 2010-09-30 14:05:05.070157000 -0700
Change: 2010-09-30 14:05:05.070475000 -0700
$ chmod 755 script.sh
$ stat script.sh
File: `script.sh'
Size: 297070 Blocks: 584 IO Block: 4096 regular file
Device: 811h/2065d Inode: 35515 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/ xxxxxx) Gid: ( 1000/ xxxxxx)
Access: 2010-09-30 14:05:16.041621000 -0700
Modify: 2010-09-30 14:05:05.070157000 -0700
Change: 2010-09-30 14:05:05.070475000 -0700
Seperti yang Anda lihat, itu tetap tidak berubah.
permissions
ntfs
chmod
Nathan Osman
sumber
sumber
Jawaban:
Mode ditentukan oleh opsi pemasangan partisi (Anda tidak dapat mengubahnya melalui chmod).
Untuk '755' pada file dan '777' pada direktori Anda akan menggunakan sesuatu seperti
sumber
/dev/whatever
dan/mnt/whatever
jika saya harus mengubah izin partisi HDD saya dinamai/media/Prtn
ntfs-3g.usermap
. Lihat di bawah ...Berlawanan dengan apa yang diyakini kebanyakan orang, NTFS adalah sistem file yang kompatibel dengan POSIX, dan dimungkinkan untuk menggunakan izin pada NTFS .
Untuk mengaktifkan ini, Anda memerlukan "File Pemetaan Pengguna" atau cukup berikan
permissions
opsi saat pemasangan (ketika tidak diperlukan kompatibilitas dengan Windows). Ini memetakan pengguna linux di sistem Anda dengan ID pengguna seperti NTFS / Windows menggunakannya secara internal.Lihat halaman manual ntfs-3g untuk beberapa info dan beberapa contoh. Jika Anda memerlukan informasi lebih lanjut, lihat dokumentasi lanjutan ntfs-3g tentang kepemilikan dan izin .
(Perhatikan bahwa ini tidak bekerja pada sistem file FAT.)
¹ Ya, itu juga dapat menyimpan nama file yang valid di linux / unix tetapi tidak di Windows, mendukung symlink & hardlink, dll.
sumber
sudo ntfs-3g.usermap /dev/disk/by-label/MY-NTFS
dan kemudiansudo mv UserMapping /media/MY-NTFS/.NTFS-3G/
chmod 655 /some/file
pada partisi NTFS yang terpasang di Linux? Saya mencoba mencari cara untuk menggabungkan partisi rumah saya dari linux ke c: \ Users. Apakah menggunakan usermap memungkinkan saya untuk mempertahankan semua izin? Saya berencana untuk menginstal direktori c: \ Users ke / home di linux.ntfs-3g manpage
tautan rusakUntuk partisi NTFS, gunakan
permissions
opsi di fstab.Pertama, lepaskan partisi ntfs.
Identifikasi UUID partisi Anda dengan
blkid
Kemudian edit
/etc/fstab
Dan tambahkan atau edit baris untuk partisi ntfs
Buat titik pemasangan (jika perlu)
Sekarang pasang partisi
Opsi yang saya berikan kepada Anda,,
auto
akan secara otomatis me-mount partisi ketika Anda boot danusers
memungkinkan pengguna untuk melakukan mount dan umount.Anda kemudian dapat menggunakan chown dan chmod pada partisi ntfs.
sumber
users
menyiratkan noexec , nosuid , dan nodev . bukan? Bagaimana pengguna dapat melakukan mount / umount dengannoexec
disetel?Selain mengatur fmask dan / atau dmask dalam jawaban htorque di atas, jika Anda ingin menjalankan skrip pada drive, saya juga harus mengatur opsi mount "exec".
Jadi contohnya adalah:
sumber
Anda selalu dapat secara eksplisit memanggil penerjemah skrip, di mana izin eksekusi tidak diperlukan. Jika skrip menggunakan bash , seperti yang dapat diverifikasi dengan melihat baris pertama skrip, jalankan saja
Perhatikan bahwa skrip memanggil skrip atau binari lain di partisi yang sama, ini tidak akan berfungsi. Perhatikan juga bahwa strategi tidak bekerja dengan binari sebagai lawan dari file skrip tekstual yang ditulis dalam Bash Script, Perl, Python atau sejenisnya.
sumber
/lib64/ld-linux-x86-64.so.2 ./program.bin
untuk program 64-bit dan/lib/ld-linux.so.2 ./program.bin
untuk program 32-bit.Menurut bagian Kepemilikan dan Izin dari dokumentasi NTFS-3G, kita dapat menggunakan opsi mount untuk mengontrol akses dan pembuatan file . Kombinasi ini sangat rumit (lihat dua tabel di sana). Saya juga tidak membaca dan mendapatkan semuanya. Sebagai contoh, saya tidak tahu apakah POSIX ACL dipilih pada waktu kompilasi atau tidak dari paket biner NTFS-3G. Tapi yang terbaik yang saya dapatkan adalah menggunakan file Pemetaan Pengguna yang dikombinasikan dengan beberapa opsi mount untuk memperkirakan pemetaan yang masuk akal dari kepemilikan file dan izin antara Windows dan Linux.
Peringatan : Ini hanya yang terbaik untuk saya berbagi partisi data NTFS (drive
D:
pada Windows) antara Windows 8 dual-boot dan Kubuntu 14.04. Instruksi dicatat dalam retrospeksi hati-hati tetapi tidak diuji secara menyeluruh. Terlalu melelahkan dan membosankan untuk mengulangi seluruh prosedur lagi. Jadi ikuti risiko Anda sendiri. Tetapi jika Anda melakukannya, bagikan kembali pengalaman Anda. Jika Anda memutuskan untuk mengikuti instruksi, harap baca sepenuhnya untuk memiliki gambaran lengkap sebelum benar-benar bertindak. Semoga berhasil!Baiklah, ini dia! Instruksi terperinci terdiri dari tiga bagian. Bagian 1 harus dilakukan pada Windows sedangkan Bagian 2 di Linux. Bagian 3 untuk ujian.
Bagian 1
Bagian Pemetaan Pengguna dari dokumentasi NTFS-3G menentukan dua versi untuk mengatur pemetaan pengguna antara Windows dan Linux, satu versi Windows dan satu versi Linux. Pengalaman saya adalah bahwa versi Linux berakhir dengan kehilangan . Akun Linux tidak dipetakan ke akun Windows saya tetapi beberapa akun yang tidak dikenal muncul di bawah SID . Hasilnya berantakan karena akun yang tidak dikenal ini mengambil kepemilikan semua file akun Windows saya. Dalam situasi itu, kecuali Anda memiliki hak administratif untuk mengambil kembali kepemilikan Anda, file di bawah akun Windows Anda menjadi tidak dapat diakses. Tetapi bahkan jika Anda kudis, itu tetappemetaan yang salah. Itu berarti, nanti file apa pun yang Anda buat di Linux akan ditugaskan ke akun yang tidak dikenal itu di Windows dan yang di Windows ditugaskan untuk melakukan rooting di Linux (jika saya ingat dengan benar). Jadi pada Windows Anda perlu mengambil kembali kepemilikan dan Linux mengubah kepemilikan. Bukan itu yang kita harapkan. Setelah beberapa upaya putus asa untuk memperbaiki masalah ini, saya menyerah dan beralih ke versi Windows. Yang itu berhasil. Instruksi terperinci yang diambil dari bagian yang relevan dari dokumentasi NTFS-3G mengikuti:
Unduh alat usermap , ekstrak di suatu tempat (dalam kasus saya, drive
C:
), lebih baik di luar partisi NTFS (dalam drive kasus sayaD:
) untuk dibagikan.Buka baris perintah Windows. Ubah ke direktori yang diekstraksi
tools
(secara default) dariusermap
alat. Kemudian jalankan perintah berikut:Ini menghasilkan template dan mengarahkannya ke file bernama
UserMapping
. Buka file dengan editor teks, katakan Notepad, Anda akan melihat baris berikut:Agaknya, yang pertama
SID
harus SID pengguna Anda sedangkan yang kedua SID grup Anda. Anda dapat memeriksanya masing-masing dengan perintahwhoami /user
danwhoami /groups
.Setelah Anda memastikan SIDS benar, mengikuti petunjuk di komentar, yaitu, perubahan
user
dalamuser::SID
line untuk nama pengguna dangroup
di:group:SID
baris ke nama grup utama Anda di Linux. Di Ubuntu, keduanya sama. Selain itu, tambahkan nama grup Linux Anda juga setelah tanda titik dua pertamauser::SID
. Jadi garisnya akan terlihat sepertiuser:group:SID
. Tampaknya jika tidak melakukannya maka file yang dibuat pada Windows akan ditugaskanuser:root
di Linux.Simpan file. Pindahkan ke direktori bernama
.NTFS-3G
(buat jika belum ada) pada partisi NTFS untuk dibagikan (dalam drive kasus sayaD:
).Langkah ini untuk pengujian di Bagian 3. Di partisi NTFS bersama, buat direktori baru dan file baru.
Bagian 2
Sekarang boot ke Linux.
sudo
edit file/etc/fstab
. Tambahkan atau ubah baris untuk partisi NTFS bersama untuk sesuatu seperti berikut ini:Yang penting adalah mengatur
umask
(dmask
danfmask
mungkin juga berfungsi tetapi tidak diuji). Pilih nilai yangumask
Anda sukai, meskipun saya memilih077
. Tampaknya tanpa pengaturan ini, izin penuh akan diberikan kepada merekao
untuk file yang baru dibuat.Simpan file. Sekarang
sudo mount
atau remount (sudo umount
dan kemudiansudo mount
) partisi NTFS bersama (dalam kasus saya/data
):Bagian 3
Sekarang (masih di Linux)
cd
ke titik mount (dalam kasus saya,/data
),ls -l
file-file di sana. Periksa apakah kepemilikan dan izin mereka cocok dengan masing-masing yang Anda tentukan dalamUserMapping
file dan yangumask
Anda setel/etc/fstab
(kecocokan antara izin danumask
memerlukan beberapa perhitungan komplemen, lihat man (1) umask untuk informasi lebih lanjut). Jika mereka melakukannya, selamat, setengah tujuan tercapai. Jika tidak, kasihanilah Anda. Tanyakan Ubuntu atau Windows.Kemudian buat direktori baru dan file baru.
ls -l
untuk memeriksa kepemilikan dan izin mereka. Kepemilikan haruslah nama pengguna dan grup utama Anda seperti biasa. Izin harus cocok denganumask
. Sekarang restart komputer Anda dan boot ke Windows. Temukan di partisi NTFS bersama direktori dan file yang baru saja Anda buat di Linux. Periksa properti mereka untuk melihat apakah mereka ditugaskan ke akun Windows Anda. Jika ya, selamat, Anda semua sudah selesai. Kalau tidak, nasib buruk. Tanyakan Windows atau Ubuntu.EOF
sumber
Utas lama, saya tahu, tetapi masih relevan dan melewatkan tip penggunaan tertentu, disusun dari berbagai saran di berbagai forum / utas lainnya dan diuji pada Ubuntu GNOME 13.04 di mana saya ingin drive eksternal untuk memegang perpustakaan Steam ...
Ketika partisi NTFS berada di drive usb eksternal, misalnya - yang berarti partisi tersebut dipasang saat terhubung - maka Anda dapat menggunakan metode berikut untuk membuat partisi udev mount ntfs dengan hak eksekusi.
Buka jendela terminal dan lakukan:
Kemudian tempelkan baris ini di file yang seharusnya kosong / baru (jika tidak, maka keluarlah dari nano dan jalankan kembali perintah tersebut tetapi mulai nama file dengan angka yang lebih tinggi seperti 91 -...):
Kemudian simpan dan tutup. Cabut drive dan lakukan di terminal:
Selanjutnya, pasang drive kembali dan nikmati :)
sumber
Semua langkah:
Pasang
ntfs-3g
:Lepas partisi NTFS :
Gunakan
ntfs-3g.usermap
untuk menghasilkanUserMapping
file Anda :atau
Remount partisi NTFS untuk menambahkan
UserMapping
file:Perbarui
fstab
file Anda :Perbarui jalur pemasangan :
#
di awal.UUID=34A0456DA04536A0 /mnt/windows ntfs defaults,uid=1000,gid=1000 0 0
UUID=34A0456DA04536A0 /mnt/windows ntfs-3g defaults 0 0
(Gunakanntfs-3g
dan hanyadefault
opsi)Seharusnya terlihat seperti ini:
#UUID=34A0456DA04536A0 /mnt/windows ntfs defaults,uid=1000,gid=1000 0 0
UUID=34A0456DA04536A0 /mnt/windows ntfs-3g defaults 0 0
Akhirnya, remount menggunakan
fstab
:Lakukan ini sekali untuk setiap partisi NTFS yang Anda miliki!
PERINGATAN DENGAN WINDOWS OS!
Saya memeriksanya dengan Windows 7+ dan izin mempengaruhi OS Windows! Saya mengubah izin Home Directory saya di partisi Windows, dan ketika saya menggunakan Windows lagi saya bisa melihat bahwa pengguna rusak!
sumber
Ada n pertanyaan terkait untuk perangkat USB. Jawaban ini memberikan peretasan yang buruk jika Anda ingin memasang setiap perangkat USB secara otomatis dengan menjalankan izin.
sumber
Pasang partisi NTFS di drive USB dengan izin dan pemilik khusus
Di Linux mode NTFS (dan FAT32) ditentukan oleh opsi pemasangan partisi . Anda tidak dapat mengubahnya melalui chmod.
Asumsi: drive USB terlihat sebagai
sdb1
, modifikasi agar sesuai dengan huruf drive dan nomor partisi dalam kasus Anda . Sintaks umumnya adalahsdxn
, di manax
huruf kandar dann
nomor partisi seperti yang dilihat oleh misalnyasudo lsblk -f
Mempersiapkan
Lepaskan partisi NTFS.
Buat titik mount khusus (hanya jika Anda ingin titik mount baru), misalnya dengan
Periksa
uid
nomor ID pengguna Anda (biasanya 1000, terkadang 1001 atau 1002 ...)dan gunakan nomor itu jika Anda ingin mengambil kepemilikan (standarnya adalah
root
).Pasang partisi NTFS
Contoh 1 (tanpa mengeksekusi izin untuk file, tidak ada akses untuk 'orang lain'),
dalam hal ini Anda dapat menjalankan skrip
this-script
denganContoh 2 (dengan menjalankan izin untuk file, tidak ada akses untuk 'orang lain'),
Dalam hal ini Anda dapat menjalankan skrip
this-script
dengandan Anda juga dapat menjalankan program yang dapat dieksekusi dari lokasi ini (tidak disarankan).
Contoh 3 (izin penuh untuk semua orang, yang nyaman tetapi tidak aman, ketika ada beberapa pengguna),
sumber
/media$ sudo mkdir -p sdb1
/media$ sudo mount -o rw,users,umask=000,exec /dev/sdb1 ./sdb1/ mount: block device /dev/sdb1 is write-protected, mounting read-only
chkdsk /f X:
sesuai dengan tautan ini ubuntuforums.org / ... - Jika masih tidak berhasil, buat cadangan data dan coba menurut askubuntu.com/questions/144852/…