Di mana saya harus menempatkan file bersama grup pada sistem Linux?

14

Saya memigrasi banyak skrip khusus kecil dan data dari sistem Linux ke yang lain.

Pada sistem lama kami memiliki pengguna bersama yang memiliki sebagian besar file dan mereka yang berada di tempat itu /home, tetapi pada yang baru kami lebih suka login dengan akun kami sendiri dan menggunakan izin grup untuk berkolaborasi, tetapi karena tidak akan ada pemilik tunggal file, tidak ada /home-dir.

Jadi di mana saya harus meletakkan file yang dibagikan itu? Haruskah saya membuat pengguna no-login yang memiliki file? Atau apakah ada tempat yang cocok /grouphome?

(Saya tidak ingin menyebarkannya di masing-masing pengguna /home: s.)

Daniel
sumber
File apa itu?
Dan Carley
Sebagian besar adalah skrip impor dengan berbagai jenis data terkait yang harus difilter dan diimpor ke basis data.
Daniel
Saya suka / grouphome. Pengguna tanpa login yang memiliki ide file juga bagus.
pjc50

Jawaban:

15

Saya hampir pasti menyarankan menggunakan /usr/local.

Skrip pengguna yang dapat diakses secara global dapat ditempatkan di /usr/local/bin. Sejumlah kecil data terkait juga bisa masuk bin. Atau Anda mungkin ingin memisahkan data menjadi /usr/local/varatau /usr/local/share.

Dengan melakukan ini, Anda akan cukup yakin bahwa siapa pun FHS familar akan dapat menemukannya dengan cepat tanpa pengetahuan sebelumnya tentang sistem tertentu.

Dan Carley
sumber
3
(+1) Untuk referensi di masa mendatang tentang apa yang harus diletakkan di mana: pathname.com/fhs/pub/fhs-2.3.html
Kyle Brandt
Terima kasih kalian berdua. /usr/localbaik itu. Sebenarnya itu adalah salah satu pilihan pertama saya, tapi deskripsi tujuan dari /usr(read-only) dalam artikel disarankan berpaling saya dari ide itu. Sepertinya saya harus membaca terus /usr/local.
Daniel
7

Persisnya dirancang untuk hak kelompok. Ini adalah bagaimana saya melakukannya di Ubuntu:

sudo mkdir /home/shared
sudo addgroup shared
sudo chown :shared /home/shared
sudo chmod 770 /home/shared
sudo vim /etc/group

Tambahkan daftar pengguna yang memiliki akses ke direktori bersama ke grup bersama. Sebagai contoh:

shared:x:1002:norman,nextuser,and,so-on

Anda dapat, tentu saja, menggunakan nama apa pun selain 'dibagikan' dan tidak harus ada di direktori / home. Yang menyenangkan adalah Anda tidak perlu melakukan sesuatu yang khusus untuk akun pengguna dan Anda dapat dengan mudah menambah atau menghapus pengguna dari grup.

simplr
sumber
Terima kasih atas suaranya. Tetapi saya ingin tahu apa yang saya tulis itu tidak benar.
simplr
juga mengatur bit sticky grup, sehingga grup diatur untuk file baru yang dibuat. chmod g+s /home/shared
jris198944
1
@ jris198944 suntuk bit SUID dan GUID, tuntuk bit sticky. Periksa sebelum memposting, silakan ;-) Lihat: unix.stackexchange.com/a/79401/136321 .
daun
1

Jawaban singkatnya adalah; Dimanapun kamu suka :)

Saya suka menggunakan sesuatu seperti / proyek, / dibagikan atau / umum. / home / karya bersama juga.

Roy
sumber
Terima kasih. Singkat dan bagus, tetapi kadang-kadang lebih mudah jika Anda tidak harus mengambil keputusan sendiri ... Apakah sesuai dengan FHS untuk menempatkan direktori saya sendiri tepat di bawah /? Kapan (jika ada) bedanya? Saya tidak cukup berpengalaman untuk menyadari implikasi pilihan saya.
Daniel
Itu benar-benar hanya konvensi. Program lain yang mencari hal-hal yang saya lihat di lokasi yang telah ditentukan ini. Direktori bin sudah dalam $ PATH Anda sehingga Anda tidak akan menentukan nama path lengkap untuk menjalankan skrip. Admin lain mungkin berharap mereka ada di sana. Mungkin tidak terlalu penting dalam kasus Anda, tapi kebiasaan baik baik :-)
Kyle Brandt
Ada sejumlah konvensi yang berlaku adalah lingkungan UNIX. FHS membuat dasar yang baik, tetapi sangat umum untuk menyimpang dari standar ini. Misalnya Arsitektur Fleksibel Optimal untuk server basis data Oracle menggunakan / u * (/ u01, / u02) untuk data pengguna lokal sementara Ubuntu antara lain menggunakan / media untuk media mount point yang dapat dilepas. Selama Anda memiliki konvensi yang Anda sepakati secara internal di lingkungan operasional Anda, seharusnya tidak ada masalah.
Roy
0

Saya menggunakan /shares; ini juga lokasi yang digunakan qnap.

Dalam /sharessaya memiliki symlink ke tujuan di folder bernama di /shares/.mnt/mana saya memiliki drive data yang dipasang.

Hal ini dilakukan untuk mencegah waktu tunggu yang lama ketika memindahkan file antara share ketika menggunakan hardlink /sharesyang diperlukan ketika drive data hanya dipasang di / mnt.

/shares/.mnt omong-omong, tidak dibagikan.

Jeroen
sumber