Tip: Memiliki direktori yang dibagikan di antara banyak pengguna di Linux

terminal

Hari ini saya kembali dengan tip lain yang, secara pribadi, banyak saya gunakan: dapat memiliki direktori bersama di antara beberapa pengguna di Linux. Saya menempatkan mereka dalam situasi, dengan istri saya di rumah, kami berdua menggunakan PC yang sama Arch Linux tetapi masing-masing memiliki penggunanya sendiri. Jadi, kami melihat masalah dengan folder yang kami bagikan seperti musik atau foto, karena masing-masing memiliki file sendiri, menduplikasi sesuatu.

Saat itulah kami berpikir buat folder bersama, tapi itu masalah izin. Jika folder itu milik saya dia tidak melihatnya, jika file yang saya buat, dia tidak menghapusnya dan seterusnya. Pada awalnya, tambalannya adalah kami memberikan 777 izin ke file-file itu setiap kali kami mengedit sesuatu untuk diakses orang lain sampai kami menemukan solusinya, Izin grup!

Apa itu izin grup?

Itu yang terbaik, menetapkan direktori bersama itu dan semua isinya ke grup khusus dengan izin baca dan tulis, yang dengannya semua anggota grup akan memiliki akses ke direktori tersebut. Ini kemudian memungkinkan hanya dengan menambahkan pengguna kita ke grup itu kita sudah bisa berinteraksi di direktori itu.

Dan bagaimana cara mengkonfigurasinya?

Ini adalah bagian terbaik dan saya melanjutkan untuk memberi tahu Anda bagaimana saya melakukannya dengan istri saya. Hal pertama adalah membuat direktori itu, yang sebagai contoh akan saya sebut «dibagikan".

sudo mkdir /home/compartido

Saya membuatnya di dalam / rumah dan di luar akun kami, untuk menghindari direktori atas mengganggu izin mereka sendiri. Sekarang kita harus membuat grup, yang akan kita tempatkan «berbagi»

sudo groupadd compartidos

Dan kami menetapkan grup ini ke direktori yang kami buat sebelumnya dan kami juga mengubah izin, sehingga semua yang kami buat di dalamnya, apakah itu direktori atau file, juga termasuk dalam grup ini.

sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname

Selain itu, kami harus menambahkan pengguna kami ke dalamnya. Kemudian kita harus mengulangi perintah ini untuk masing-masing:

sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer

Sejauh ini, kami memiliki direktori «/ home / shared»Yang termasuk dalam grup«berbagi«, Dengan apa yang dapat diakses oleh semua pengguna anggota yang sama dan semua yang dibuat dalam direktori, akan menjadi bagian dari grup dengan apa yang dapat dilihat oleh salah satu dari kita.

Sekarang kita hanya memerlukan satu langkah terakhir, yang mungkin opsional, tetapi mengubah umask pengguna, untuk memastikan bahwa setiap file baru yang kita buat dapat dimodifikasi oleh anggota lain dalam grup. Ini mempengaruhi seluruh pengguna, bukan hanya direktori, jadi mereka harus melihat apakah itu berfungsi untuk mereka atau tidak. Dalam kasus saya, karena hanya saya dan istri saya yang menggunakan sistem, itu tidak mengganggu kami dan kami menetapkan umask 002 untuk diri kami sendiri, yang berarti bahwa setiap file yang dibuat dimulai dengan 775 izin.

Mengedit umask

Untuk mengedit umask, setiap pengguna harus mengedit file .profile atau .bashrc yang ada di dalam rumah pengguna dan mengubah nilai umask dengan angka yang diinginkan. Jika opsi tidak ada, kita harus menambahkannya.

Anda juga dapat mengedit file / etc / profile sehingga perubahan tersebut akan mempengaruhi semua pengguna

Jadi, di konsol kami meletakkan:

sebastian@multivacs ~> vim .profile

Dan kita akan melihat sesuatu seperti ini:

vi-profil2

Jadi, kita pergi ke baris yang mengatakan umask, kita tekan hurufnya i untuk mengedit dan menghapus # untuk menghapus komentar. Kami mengubah nomor menjadi 002. Jika garis tidak muncul, mereka harus menambahkannya.

Setelah selesai, kita tekan tombolnya Esc untuk keluar dari mode edit dan kemudian kami menulis :+q+w. Apa yang membuat kami menyimpan perubahan dan keluar dari Vi.

Ini akan terlihat seperti gambar ini:

vi-profil

Selesai! Jika mereka menutup sesi pengguna dan membukanya kembali, perubahan akan diambil, yang dengannya direktori bersama sudah akan berfungsi.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   hidup dijo

    Tip bagus.

  2.   KZKG ^ Gaara dijo

    Ramah.

    Beberapa tahun yang lalu saya melihat kebutuhan untuk melakukan ini sendiri, yang tidak saya ketahui adalah umask ... Saya malah meletakkan tugas di crontab 🙂

    Terima kasih atas tipnya

    1.    thalskarth.dll dijo

      Ya, crontabnya juga enak. Apa yang Anda masukkan, untuk menetapkan 775 izin ke konten?

  3.   mentahDasar dijo

    Tip bagus .. .. disimpan jika perlu;) ..

  4.   Luis dijo

    Ok, Anda membuat folder / home / shared dan menetapkan grup "shared" untuk itu tapi

    Siapa pengguna folder itu? Dengan kata lain, siapa pemiliknya? Saya, orang lain, atau pengguna root yang akunnya dinonaktifkan sejak saya menggunakan sudo?

    Di sisi lain, saya memiliki masalah berikut: File yang saya buat tidak dapat dihapus oleh orang lain dan file yang dibuat oleh orang lain tidak dapat saya hapus sendiri.

    Apa kesalahan yang telah aku perbuat?

    1.    thalskarth.dll dijo

      Saat membuat folder dengan sudo, Anda harus memiliki root sebagai pemilik. Anda juga dapat mengubahnya dengan perintah chown untuk menetapkan pengguna lain.

      Di sisi lain, periksa apakah file yang Anda buat melakukannya dengan 775 izin (yang memberi umask 002). Jika mereka tidak memiliki izin tersebut, mungkin ada beberapa pengaturan yang salah.

      Demikian juga, perlu diklarifikasi bahwa umask memengaruhi setiap file baru yang dibuat di dalam direktori, tetapi jika mereka memindahkan atau menyalin konten dari tempat lain, izin asli dipertahankan dan bukan yang kita setel ke direktori.

      1.    Luis dijo

        Hei! Kamu benar.

        Saya telah mencari dan masalahnya disebabkan oleh hal terakhir yang Anda katakan: Saat memindahkan file dari lokasi lain ke folder bersama, izin asli dipertahankan.

        Apakah ada solusi untuk ini?

        Saya bisa menggunakan mutiara.

      2.    thalskarth.dll dijo

        Dalam hal ini, hal terbaik adalah meletakkan crontab seperti yang dikatakan KZKG ^ Gaara, di mana Anda dapat meletakkan perintah untuk menetapkan grup dan izin ke konten folder setiap X kali.
        Artinya, mengatakan sesuatu seperti ini di crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Untuk segala sesuatu yang baru, pindah ke grup Bersama dengan izin 775.

      3.    thalskarth.dll dijo

        Abaikan * di akhir setiap baris, saya sedang memikirkan hal lain ketika saya meletakkannya 😛

      4.    Luis dijo

        Terima kasih teman.

  5.   ernesto dijo

    Posting yang sangat bagus, tetapi saya lebih suka memiliki partisi terpisah, di mana saya dapat meletakkan semua yang ingin saya bagikan. Saya memiliki disk 500 GB yang murah hati, di mana saya menggunakan 100GB dengan Linux dan partisi 400GB (ntfs) di mana semua musik, foto, dll ... Di pc saya, kami adalah dua pengguna dan masing-masing dapat mengakses partisi ntfs dan letakkan serta hapus apa yang kita inginkan, saat kita mau. Jika saya tidak ingin membagikan apa pun, saya memiliki beberapa hal di nama pengguna saya. 🙂

    1.    Luis dijo

      Sekarang, ini adalah cara lain untuk melakukannya tetapi masalahnya bukan di mana harus meletakkan file tetapi untuk mengkonfigurasi izin dan mengontrol akses dari pengguna yang berbeda.

      Anda dapat memilikinya di partisi NTFS, benar tetapi Anda juga memiliki fragmentasi, lebih lambat dari EXT4 dan keamanan yang lebih rendah, meskipun jika baik bagi Anda untuk memilikinya dengan cara itu sama validnya.

  6.   hujan dijo

    Baik! Tip bagus, tetapi saya masih akan menambahkan tugas untuk mengubah izin ke 775 file baru di setiap login, dan menyelesaikan masalah file yang dipindahkan dari folder lain.
    Juga, terima kasih banyak telah berbagi!

  7.   Joaquin dijo

    Menarik, terima kasih!

  8.   anonim dijo

    Saya mengangkat sesuatu yang berhubungan dengan grup berbagi utama dari beberapa distribusi gnu / linux. Beberapa distro membuat pengguna dengan pengguna grup utama dan tidak menggunakan grup utama yang sama dengan nama pengguna.
    Perbedaannya adalah bahwa menggunakan pengguna grup utama, secara default semuanya dibagikan dengan pengguna grup di mana semua pengguna yang dibuat di distro itu akan berada, jika sebaliknya mereka dibuat dengan grup yang sama dengan nama pengguna, secara default tidak ada yang akan dibagikan.

    Contoh:
    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos carlos 126 25 Mar 2012 notes.txt

    $ ls -l /home/user/*.txt
    -rw-r - r– 1 carlos pengguna 126 25 Mar 2012 notes.txt

    Saya tidak menyarankan menggunakan pengguna grup utama, lebih baik untuk membuat grup utama Anda sendiri saat membuat pengguna.

    #groupadd carlos
    # useradd -g carlos -G lp, wheel, uucp, audio, cdrom, cdrw, usb, lpadmin, plugdev -m -s / bin / bash carlos

    -G carlos menunjukkan untuk menggunakan carlos grup induk.
    Anda dapat mengubah grup utama pengguna dengan # usermod -g tetapi itu tidak akan mengubah grup utama dari semua file dan folder yang sudah ada di / home / carlos, Anda harus mengubah semuanya.

    Contoh: ubah pengguna grup utama dari carlos pengguna ke carlos grup utama lalu ubah
    semua izin file dan folder dari pengguna Carlos sehingga mereka tetap ada pada Carlos Carlos.

    #groupadd carlos
    # usermod -g pengguna carlos
    # cd / home
    # chown -R carlos: carlos carlos

    Mengenai berbagi, Anda dapat membuat pengguna yang disebut bersama dengan grup utama bersama Anda, dan agar tidak ada masalah izin saat menyalin, Anda mengubah pengguna terlebih dahulu
    dengan "$ su - shared" maka yang Anda inginkan akan disalin ke / home / shared, dengan ini dan hak akses dari apa yang disalin akan menjadi pengguna bersama.
    Jika sudah ada file salin milik pengguna lain dan grup utama, Anda harus mengubah semuanya.

    # cd / home
    # chown -R dibagikan: dibagikan dibagikan

    Hanya ada sesuatu yang tersisa dalam limbo, yang saya tidak tahu bagaimana cara menyalin secara grafis sebagai pengguna bersama, yaitu, tanpa harus melakukan $ su - dibagikan

  9.   anonim dijo

    Sangat konyol untuk menyalin secara grafis, hehe, saya menggunakan pcmanfm di sini di openbox, tetapi Anda dapat menggunakan manajer file yang Anda miliki atau inginkan, itu hanya dijalankan sebagai pengguna bersama dan bukan sebagai pengguna root.

    $ su - dibagikan
    $pcmanfm
    $ lumba-lumba
    $mc
    dll

    1.    thalskarth.dll dijo

      Saya baru saja akan menjawabnya. Jika tidak, yang lainnya adalah crontab yang mengubah pemilik file setiap x kali dengan file
      chown -R compartido:compartido compartido

  10.   Hugo dijo

    Tampak bagi saya bahwa perintah "usermod -G thenewgroup theuser" yang dilakukannya pada dasarnya adalah mengubah grup pengguna menjadi "grup baru". Untuk menambahkan pengguna yang ada ke grup baru, saya rasa hal yang benar adalah "usermod -aG elnuevogrupo elusuario"

    Hal lain adalah yang saya lihat di sini bahwa beberapa orang merekomendasikan melakukan "chmod -R 775" tetapi itu tidak hanya mempengaruhi direktori, tetapi juga semua file (membuatnya dapat dieksekusi), yang menimbulkan risiko yang tidak perlu. Lebih baik melakukan sesuatu seperti «find / home / shared -type d -print0 | xargs -0 chmod 755 "dan jika perlu dengan berkas Anda dapat melakukan sesuatu yang serupa tetapi menggunakan" -type f "dan memberikan izin 664.

    Terakhir, salah satu cara untuk membuat beberapa akun memiliki akses ke file atau folder terlepas dari siapa pemilik atau grupnya adalah dengan menggunakan perintah "setfacl" yang ada dalam paket acl (jika saya ingat dengan benar). Penggunaannya dijelaskan dengan baik di halaman manual.

  11.   Unai martin dijo

    Saya memiliki masalah berikut. Saya telah membuat 4 pengguna (web1, web2, web3, web4) dan saya ingin membuat folder grup akses untuk pengguna grup web. Ketika saya membuat file .htaccess, saya tahu bahwa saya harus memasukkan require-valid-user, tetapi, jika saya membutuhkan valid-user web1 web2 web3 web4 sehingga mereka dapat mengakses folder dengan kata sandi mereka, ketika saya mencoba mengakses folder itu menanyakan saya untuk pengguna dan kata sandi masing-masing. Bagaimana saya hanya diminta untuk nama pengguna dan kata sandi orang yang ingin masuk? karena diasumsikan bahwa yang satu tidak mengetahui kata sandi yang lain.

  12.   Gustav F. Paredes dijo

    Hola.

    Terminal ke-4 harus memiliki jamak "bersama":

    sudo usermod -G membagikan sebastian

    sudo usermod -G membagikan mywoman

    Salam.

    Gustavo

  13.   Ivan dijo

    Bersulang :

    Kami sedang bermigrasi dari Windows Server ke CentOs 6 dan kami masih dalam proses adaptasi. Pertanyaan saya: Apakah ada antarmuka grafis di CentO untuk berbagi folder dan memberikan akses kepada pengguna untuk mengubah, mengedit dan / atau menghapus file?

    Terima kasih atas bantuannya

    1.    Rafael dijo

      Saya juga menginstal centos 6 dan saya ingin menggunakannya dengan samba yang memungkinkan saya untuk berbagi file dari linux dan windows, saya tahu sedikit, saya tidak banyak menggunakan linux, tetapi di tempat kerja saya telah ditanya, bagaimana saya bisa melakukannya untuk berbagi folder tetapi dalam mode grafis ??.

  14.   Ricardo dijo

    Hai. Tolong bantu saya! ... Ternyata dengan melakukan ini di benak pengguna saya di linux, sekarang saya kehilangan hak istimewa. Saya tidak bisa menjalankan hal seperti sudo. Saya mendapatkan pesan berikut "Maaf, pengguna" nama pengguna "tidak diizinkan untuk menjalankan" command_to_run "sebagai root di" nama pengguna ""

    Saya pikir ketika saya mengubah pengguna saya ke grup bersama, saya mengambil hak istimewa, dan sekarang bagaimana cara memulihkannya ???

  15.   Guillermo dijo

    Hai teman apakah ada cara untuk melakukan hal yang sama tetapi berbagi file dengan orang lain di LAN Internet

  16.   Lamban dijo

    Untuk ini, Anda harus menggunakan SAMBA sebagai File Server. Bersulang

  17.   David dijo

    Hai. Ketika saya mendapatkan perintah sudo chmod g + s dirname, itu memberi tahu saya bahwa file atau direktori tidak ada. Tahukah Anda apa masalahnya?

  18.   Javier Quiroga Almeida dijo

    Bagaimana cara membuat grup di grup lain?

  19.   Rodrigo Hernán Ramos dijo

    Garis:
    sudo usermod -G membagikan sebastian

    seharusnya:
    sudo usermod -a -G membagikan sebastian

    cara pertama menghapus grup pengguna lainnya.
    dan jika Anda berkeringat, Anda kehilangan hak istimewa Anda