Di mac saya, saya menggunakan partisi HFS yang tidak dijurnal untuk berbagi file antara OSX 10.8 dan Ubuntu 12.04.
Itu pemikiran yang bagus pada awalnya, karena Time Machine akan secara otomatis mencadangkan volume di OSX, tetapi saya segera menyadari bahwa OSX dan Ubuntu mengacaukan izin dengan cara yang membuat segalanya berantakan bagi saya.
Jadi, untuk sepenuhnya melihat dan mengubah file, saya terus menggunakan chmod
untuk menerapkan izin yang akan memungkinkan saya untuk sepenuhnya menggunakan dokumen. Tapi aku tidak mengerti mengapa aku harus tetap menerapkan perubahan berulang .
Apakah mungkin untuk menetapkan semacam izin secara permanen sehingga kedua sistem operasi akan menghormati secara permanen?
Saya kira 777 akan berfungsi, tetapi saya pikir ini bukan hal yang cerdas untuk dilakukan. Tetapi selama 'yang lain' tidak mendapatkan akses penuh (ketiga ketujuh), saya melihat ikon kunci pada file di ubuntu.
sumber
774
izin.Jawaban:
Nama pengguna tidak relevan. Izin di sistem file HFS + dan Linux-asli disimpan dalam bentuk ID pengguna (UID), yang merupakan angka yang terkait dengan nama pengguna. Di Ubuntu, seperti pada kebanyakan distribusi Linux modern, pengguna pertama diberi UID 1000 secara default. Di OS X, pengguna pertama diberi UID 501 secara default. Jadi, saat berbagi media yang menyandikan nilai UID, nilai UID cenderung tidak cocok.
Salah satu cara untuk memperbaikinya adalah dengan menetapkan izin yang longgar (nilai mode, seperti pada
rwxr-xr-x
, atau 755 dalam oktal). Perhatikan bahwa kode oktal izin tidak sama dengan nilai UID. Di salah satu OS, Anda dapat mengatur izin default yang digunakan pada file denganumask
perintah, yang menentukan nilai bit yang akan dihapus dari izin file. Misalnya,umask 022
menghapus izin menulis untuk grup dan izin lainnya, menghasilkan 755 (rwxr-xr-x
) izin pada file baru (atau 644 jika ada sesuatu yang menghapus bit izin eksekusi, yang merupakan praktik umum untuk file). Ini sebagian besar merupakan alat baris perintah; jika Anda sebagian besar pengguna GUI, Anda perlu menemukan alat lain untuk melakukan pekerjaan itu, mungkin terkait dengan default lingkungan desktop Anda. Ini mungkin tidak jelas dan kurang didokumentasikan. Selain itu, mengatur izin yang longgar dengan cara ini dapat memiliki kelemahan keamanan, terutama jika sistem Anda adalah multi-pengguna.Pendekatan yang lebih baik adalah menyinkronkan UID akun Anda di Linux dan OS X. Anda dapat dengan mudah mengubah nilai UID di Linux dengan
usermod
perintah, seperti pada:Perintah ini menetapkan UID untuk
dale
501. Ada beberapa peringatan yang signifikan, meskipun:usermod
harus digunakan sebagairoot
. Anda dapat menjalankannya melaluisudo
, tetapi melakukannya dari akun yang Anda modifikasi tidak dapat dilakukan secara ekstrem. Karenanya, Anda harus memberikanroot
kata sandi dan masukroot
langsung atau menggunakansudo
akun pengguna kedua.usermod
Perintah tidak akan mengubah kepemilikan dari setiap file yang dimiliki oleh pengguna yang bersangkutan. Untuk menyesuaikan kepemilikan file-file itu, Anda harus menemukannya dan kemudian mengubah kepemilikannyachown
. Sebagian besar file akan berada di direktori home pengguna, jadichown -R dale: /home/dale
, diketikroot
setelah mengubahdale
UID, akan mengubah sebagian besardale
file untuk menggunakan nomor UID baru. Beberapa file pengguna mungkin berlokasi di tempat lain. Mengetikfind / -uid 1000
akan menemukan semua file yang menggunakan UID lama (dengan asumsi 1000). Perhatikan bahwafind
perintah ini mungkin akan memakan waktu beberapa menit untuk selesai. Untuk mempercepatnya, lepaskan semua sistem file yang Anda yakin tidak akan menemukan hit, seperti volume FAT atau NTFS./etc/fstab
entri, Anda mungkin perlu menyesuaikan nilai UID yang ditentukannya./etc/login.defs
. Jika Anda gagal mengubahUID_MIN
nilai dalam file ini, Anda mungkin akan menemukan bahwa akun Anda tampaknya "menghilang" dari layar login GUI, dan mungkin dari beberapa sistem lain. Jadi, Anda harus mengedit file itu.Secara teori, Anda dapat mengubah UID akun OS X Anda dengan cara yang sama untuk mencapai tujuan yang sama. Saya kurang terbiasa dengan alat pemeliharaan akun OS X, jadi saya tidak bisa memberikan instruksi eksplisit untuk melakukannya. Menyesuaikan nilai OS X akan memiliki keuntungan karena Anda tidak harus menyesuaikan
UID_MIN
di Linux.Jika Anda memiliki beberapa akun di komputer Anda, Anda harus menyesuaikan semuanya untuk menjaga agar semuanya disinkronkan di seluruh instalasi OS Anda.
Satu hal lagi: Nilai Group ID (GID) disimpan dengan cara yang sama. IIRC, Ubuntu memberikan nilai GID untuk setiap akun yang identik dengan nilai UID-nya. Saya tidak ingat apa yang OS X lakukan secara default. Anda mungkin ingin menyesuaikan nilai GID untuk kedua OS dengan cara yang analog dengan perubahan UID, tetapi ini sepertinya tidak sepenting menyesuaikan nilai UID.
EDIT: Jika Anda ingin mengubah UID Anda (dan GID, jika diinginkan) di macOS / OS X daripada di Ubuntu, Anda dapat melakukannya. Karena modifikasi dalam macOS ini di luar cakupan situs ini, saya hanya akan menautkan ke beberapa halaman yang menyediakan prosedur untuk melakukan ini di macOS:
sumber
UID_MIN
.Saya telah menemukan bahwa kadang-kadang Anda dapat mengklik pada folder yang ingin Anda bagikan dan tekan perintah + I. Kemudian klik pada kunci dan masukkan kata sandi Anda jika tidak dibuka Selanjutnya, lalu di mana dikatakan "semua orang" pilih baca dan tulis.
Hal lain yang berfungsi adalah mengatur folder sebagai "folder bersama" yang dapat Anda lakukan di panel preferensi berbagi di preferensi sistem.
Buka preferensi sistem> berbagi> berbagi file. Kemudian buat bagikan bahwa kotak berbagi file dicentang dan tambahkan folder yang ingin Anda bagikan menggunakan tombol plus. Kemudian Anda dapat mengubah izin untuk membaca tulisan.
SATU CATATAN: menggunakan opsi kedua juga akan membuka komputer Anda untuk memungkinkan akses ke folder pilihan Anda melalui internet (hanya saat di-boot ke os x) !! Buat bagikan Anda memiliki kata sandi aman dan Anda mungkin menonaktifkannya di tempat-tempat umum (jangan lupa ambil topi timah Anda!)
sumber
774
.Buka terminal dan:
Di OS X, coba ini
Di Ubuntu, jalankan ini
Sekarang Anda harus dapat menggunakan
774
atau bahkan770
untuk izin file.sumber
<ubuntu-username>
dengan nama pengguna Anda yang sebenarnya di Ubuntu (idem for<os-x-usernanme>
)? Dan bisakah Anda lebih spesifik tentang kesalahan apa yang diberikan OS X saat mencoba menjalankan perintah ini?adduser
itu tidak keluar.