Petua: Adakan direktori yang dikongsi antara beberapa pengguna di Linux

Terminal

Hari ini saya kembali dengan petua lain yang, secara peribadi, saya banyak menggunakan: dapat berkongsi direktori antara beberapa pengguna di Linux. Saya meletakkan mereka dalam keadaan, dengan isteri saya di rumah kami berdua menggunakan PC yang sama Arch Linux tetapi masing-masing mempunyai penggunanya sendiri. Oleh itu, kami melihat masalah dengan folder yang kami kongsi seperti muzik atau foto, kerana masing-masing mempunyai failnya sendiri, menggandakan perkara.

Ketika itulah kami berfikir buat folder bersama, tetapi itulah masalah kebenaran. Sekiranya folder itu milik saya, dia tidak dapat melihatnya, jika fail yang saya buat, dia tidak menghapusnya dan sebagainya. Pada awalnya, tambalannya adalah bahawa kami memberikan 777 kebenaran untuk fail-fail tersebut setiap kali kami mengedit sesuatu agar yang lain dapat diakses sehingga kami menemui penyelesaiannya, Kebenaran kumpulan!

Apakah kebenaran kumpulan?

Itulah yang terbaik, menetapkan direktori bersama dan semua kandungannya kumpulan khas dengan kebenaran membaca dan menulis, dengan mana semua anggota kumpulan akan mempunyai akses ke direktori tersebut. Oleh itu, ini hanya dengan menambahkan pengguna kita ke kumpulan tersebut, kita sudah dapat berinteraksi dalam direktori tersebut.

Dan bagaimana saya mengkonfigurasinya?

Ini adalah bahagian terbaik dan saya terus memberitahu anda bagaimana saya melakukannya dengan isteri saya. Perkara pertama adalah membuat direktori itu, yang misalnya saya akan panggil «dikongsi".

sudo mkdir /home/compartido

Saya membuatnya di dalam / rumah dan di luar akaun kami, untuk mengelakkan bahawa direktori atas mengganggu dengan kebenaran mereka sendiri. Sekarang kita mesti membuat kumpulan, yang akan kita letakkan «dikongsi»

sudo groupadd compartidos

Dan kami menetapkan kumpulan ini ke direktori yang kami buat sebelumnya dan kami juga mengubah izin, sehingga semua yang kami buat di dalamnya, sama ada direktori atau fail, juga termasuk dalam kumpulan ini.

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

Kita juga harus menambahkan pengguna kita kepadanya. Maka kita mesti mengulangi perintah ini untuk masing-masing:

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

Setakat ini, kami mempunyai direktori «/ rumah / dikongsi»Yang tergolong dalam kumpulan«dikongsi«, Dengan apa yang dapat diterima oleh semua pengguna pengguna yang sama dan semua yang dibuat dalam direktori, akan tergolong dalam kumpulan dengan apa yang dapat dilihat oleh mana-mana daripada kita.

Sekarang kita hanya memerlukan satu langkah terakhir, yang mungkin menjadi pilihan, tetapi adalah mengubah umpan pengguna, untuk memastikan bahawa setiap fail baru yang kita buat dapat diubah oleh anggota kumpulan yang lain. Ini mempengaruhi keseluruhan pengguna, bukan hanya direktori, jadi mereka harus melihat apakah ia berfungsi untuk mereka atau tidak. Dalam kes saya, kerana hanya saya dan isteri yang menggunakan sistem, ini tidak mengganggu kami dan kami memberikan diri kami umask 002, yang bermaksud setiap fail yang dibuat bermula dengan 775 izin.

Mengedit umask

Untuk mengedit umask, pada setiap pengguna Anda harus mengedit file .profile atau .bashrc yang ada di dalam rumah pengguna dan mengubah nilai umask dengan nombor yang diinginkan. Sekiranya pilihan tidak ada, kita mesti menambahkannya.

Anda juga boleh mengedit fail / etc / profile sehingga perubahan tersebut akan mempengaruhi semua pengguna

Oleh itu, 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 menekan surat itu i untuk mengedit dan membuang # untuk membuang komen. Kami menukar nombor menjadi 002. Sekiranya garis tidak muncul, mereka mesti menambahkannya.

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

Ia akan kelihatan seperti gambar ini:

profil vi

Dan itu sahaja! Sekiranya mereka menutup sesi pengguna mereka dan membukanya kembali, perubahan akan dilakukan, dengan direktori bersama yang sudah berfungsi.


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

28 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   meriah kata

    Petua hebat.

  2.   KZKG ^ Gaara kata

    Hebat.

    Beberapa tahun yang lalu saya mendapati diri saya perlu melakukan ini, apa yang saya tidak tahu adalah umask ... saya malah meletakkan tugas di crontab 🙂

    Terima kasih atas petua

    1.    thalskart kata

      Ya, crontab juga bagus. Apa yang anda letakkan, untuk memberikan 775 izin ke kandungan?

  3.   asas mentah kata

    Petua hebat .. ..jimat jika perlu;) ..

  4.   Luis kata

    Ok, anda buat folder / rumah / kongsi dan tetapkan kumpulan "dikongsi" kepadanya tetapi

    Kepada pengguna folder mana ini? Dengan kata lain, siapakah pemiliknya? Saya, orang lain, atau pengguna root yang akaunnya dilumpuhkan kerana saya menggunakan sudo?

    Sebaliknya, saya menghadapi masalah berikut: Fail yang saya buat tidak dapat dihapuskan oleh orang lain dan fail yang dibuat oleh orang lain tidak dapat saya hapus sendiri.

    Apa yang saya buat salah?

    1.    thalskart kata

      Semasa membuat folder dengan sudo, anda harus dibiarkan root sebagai pemilik. Anda juga boleh mengubahnya dengan perintah chown untuk menetapkan pengguna lain.

      Sebaliknya, periksa bahawa fail yang anda buat melakukannya dengan izin 775 (yang memberikan umask 002). Sekiranya mereka tidak mempunyai izin tersebut, mungkin ada konfigurasi yang salah.

      Begitu juga, perlu dijelaskan bahawa umask mempengaruhi fail baru yang dibuat di dalam direktori, tetapi jika mereka memindahkan atau menyalin kandungan dari tempat lain, kebenaran asalnya dikekalkan dan bukan yang kita tetapkan ke direktori.

      1.    Luis kata

        Hey! Anda betul.

        Saya telah mencari dan masalahnya disebabkan oleh perkara terakhir yang anda katakan: Semasa memindahkan fail dari lokasi lain ke folder bersama, kebenaran asalnya dikekalkan.

        Adakah terdapat penyelesaian untuk ini?

        Saya boleh menggunakan mutiara.

      2.    thalskart kata

        Dalam kes itu, yang terbaik adalah meletakkan crontab seperti kata KZKG ^ Gaara, di mana anda boleh meletakkan perintah untuk menetapkan kumpulan dan izin ke kandungan folder setiap X kali.
        Iaitu untuk mengatakan sesuatu seperti ini di crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Agar semuanya baru, pindah ke kumpulan Dikongsi dengan izin 775.

      3.    thalskart kata

        Abaikan * di hujung setiap baris, saya memikirkan perkara lain ketika saya meletakkannya 😛

      4.    Luis kata

        Terima kasih kawan.

  5.   ernesto kata

    Catatan yang sangat baik, tetapi saya lebih suka mempunyai partition yang berasingan, di mana saya boleh meletakkan semua yang saya mahu kongsi. Saya mempunyai cakera 500 GB yang murah hati, di mana saya menggunakan 100GB dengan Linux dan partition 400GB (ntfs) di mana semua muzik, foto, dan lain-lain ... Di komputer saya, kami dua pengguna dan masing-masing dapat mengakses partisi ntfs dan meletakkan dan membuang apa yang kita mahukan, ketika kita mahu. Sekiranya saya tidak mahu berkongsi apa-apa, saya mempunyai beberapa perkara dalam nama pengguna saya. 🙂

    1.    Luis kata

      Sekarang, ini adalah cara lain untuk melakukannya tetapi masalahnya bukan di mana meletakkan fail tetapi untuk mengkonfigurasi kebenaran dan mengawal akses pengguna yang berbeza.

      Anda boleh memilikinya pada partisi NTFS, betul tetapi anda juga mempunyai pemecahan, lebih lambat daripada EXT4 dan kurang keselamatan, walaupun jika anda baik untuk memilikinya dengan cara itu sama berlaku.

  6.   rainerhg kata

    Baik! Petua yang baik, tetapi saya masih akan menambah tugas untuk mengubah kebenaran ke 775 fail baru pada setiap log masuk, dan ia akan menyelesaikan masalah fail yang dipindahkan dari folder lain.
    Juga, terima kasih banyak untuk berkongsi!

  7.   Joaquin kata

    Menarik, terima kasih!

  8.   tanpa nama kata

    Saya mengemukakan sesuatu mengenai kumpulan perkongsian utama sebilangan pengedaran gnu / linux. Beberapa distro membuat pengguna dengan pengguna kumpulan utama dan tidak menggunakan kumpulan utama yang sama dengan nama pengguna.
    Perbezaannya adalah dengan menggunakan pengguna kumpulan utama, secara lalai semuanya dikongsi dengan pengguna kumpulan yang menjadi milik semua pengguna yang dibuat dalam distro tersebut, jika sebaliknya mereka dibuat dengan kumpulan yang sama dengan nama pengguna, secara lalai bukan apa-apa akan dikongsi.

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

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

    Saya tidak mengesyorkan menggunakan pengguna kumpulan utama, lebih baik membuat kumpulan utama anda sendiri semasa membuat pengguna.

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

    Carlos -g menunjukkan untuk menggunakan carlos kumpulan induk.
    Anda boleh menukar kumpulan utama pengguna dengan # usermod -g tetapi itu tidak akan mengubah kumpulan utama semua fail dan folder yang sudah ada di / home / carlos, anda harus mengubah semuanya.

    Contoh: menukar pengguna kumpulan utama dari carlos pengguna ke carlos kumpulan utama dan kemudian ubah
    semua kebenaran fail dan folder carlos pengguna sehingga mereka tetap dari carlos carlos.

    #kumpulan carlos
    # pengguna carlos usermod -g
    # cd / rumah
    # chown -R carlos: carlos carlos

    Mengenai perkongsian, anda dapat membuat pengguna yang disebut dikongsi dengan kumpulan utama bersama anda, dan agar tidak ada masalah izin ketika menyalin, pertama-tama anda menukar pengguna
    dengan "$ su - shared" maka apa yang anda inginkan disalin ke / home / shared, dengan ini dan kebenaran dari apa yang disalin akan menjadi pengguna bersama.
    Sekiranya sudah ada salinan fail milik pengguna lain dan kumpulan utama, anda harus mengubah semuanya.

    # cd / rumah
    # chown -R dikongsi: dikongsi bersama

    Hanya ada sesuatu yang tersisa di limbo, yang saya tidak tahu bagaimana cara menyalinnya secara grafik sebagai pengguna yang dikongsi, iaitu, tanpa perlu melakukan $ su - shared

  9.   tanpa nama kata

    Adalah perkara yang sangat konyol untuk menyalin secara grafik, hehe, saya menggunakan pcmanfm di sini dalam kotak terbuka, tetapi anda boleh menggunakan pengurus fail yang anda miliki atau inginkan, ia hanya dilaksanakan sebagai pengguna bersama dan bukan sebagai pengguna root.

    $ su - dikongsi
    $pcmanfm
    $ lumba-lumba
    $mc
    dan lain-lain dan lain-lain

    1.    thalskart kata

      Saya baru hendak menjawabnya. Sekiranya tidak, yang lain adalah crontab yang menukar pemilik fail setiap x kali dengan a
      chown -R compartido:compartido compartido

  10.   Hugo kata

    Sepertinya saya bahawa perintah "usermod -G thenewgroup elusuario" yang dilakukannya pada dasarnya mengubah kumpulan pengguna menjadi "thenewgroup". Untuk menambahkan pengguna yang ada ke kumpulan baru, saya rasa perkara yang betul adalah "usermod -aG elnuevogrupo elusuario"

    Perkara lain ialah saya lihat di sini bahawa beberapa orang mengesyorkan melakukan "chmod -R 775" tetapi itu tidak hanya mempengaruhi direktori, tetapi juga semua fail (menjadikannya dapat dilaksanakan), yang menimbulkan risiko yang tidak perlu. Lebih baik melakukan sesuatu seperti «cari / rumah / dikongsi -jenis d -print0 | xargs -0 chmod 755 "dan jika perlu dengan fail anda boleh melakukan sesuatu yang serupa tetapi menggunakan" -type f "dan memberikan kebenaran 664.

    Akhirnya, satu cara untuk membuat beberapa akaun mempunyai akses ke fail atau folder tanpa mengira siapa pemilik atau kumpulannya adalah dengan menggunakan perintah "setfacl" yang ada dalam pakej acl (jika saya ingat dengan betul). Penggunaannya dijelaskan dengan baik di halaman manual.

  11.   Unai martin kata

    Saya menghadapi masalah berikut. Saya telah membuat 4 pengguna (web1, web2, web3, web4) dan saya ingin membuat folder kumpulan akses kepada pengguna kumpulan web. Semasa saya membuat fail .htaccess, saya tahu bahawa saya harus meletakkan memerlukan pengguna yang sah, tetapi, jika saya meletakkan memerlukan pengguna web1 web2 web3 web4 yang sah sehingga mereka dapat mengakses folder dengan kata laluan mereka, ketika saya cuba mengakses folder ia meminta pengguna dan kata laluan masing-masing.Bagaimanakah saya hanya meminta nama pengguna dan kata laluan orang yang ingin memasukkannya? kerana diandaikan bahawa seseorang tidak mengetahui kata laluan yang lain.

  12.   Gustavo F. Paredes kata

    Hei.

    Terminal ke-4 harus mempunyai jamak "bersama":

    sudo usermod -G berkongsi sebastian

    sudo usermod -G berkongsi wanita saya

    Greetings.

    Gustavo

  13.   Ivan kata

    Sorakan:

    Kami berhijrah dari Windows Server ke CentOs 6 dan kami masih dalam proses penyesuaian. Pertanyaan saya: Adakah terdapat antara muka grafik di CentO untuk berkongsi folder dan memberi pengguna akses untuk mengubahsuai, menyunting dan / atau memadam fail ?, Atau adakah saya harus melakukan semua prosedur di atas.

    Terima kasih atas pertolongan.

    1.    Rafael kata

      Saya juga memasang centos 6 dan saya mahu menggunakannya dengan samba yang membolehkan saya berkongsi fail dari linux dan windows, saya tahu sedikit, saya tidak banyak menggunakan linux, tetapi di tempat kerja saya telah ditanya, bagaimana saya boleh berkongsi folder tetapi dalam mod grafik ??.

  14.   Ricardo kata

    Hai. Tolong bantu saya! ... Ternyata dengan melakukan ini di pengguna saya dalam fikiran linux, sekarang saya kehilangan hak istimewa. Saya tidak dapat menjalankan sesuatu seperti sudo. Saya mendapat mesej berikut "Maaf, pengguna" nama pengguna "tidak diberi kuasa untuk menjalankan" command_to_run "sebagai root dalam" nama pengguna ""

    Saya berpendapat bahawa apabila saya menukar pengguna saya kepada kumpulan yang dikongsi, saya membuang hak istimewa, dan sekarang bagaimana saya menetapkannya semula ???

  15.   Rang Undang-Undang kata

    Hai kawan adakah cara untuk melakukan perkara yang sama tetapi berkongsi fail dengan orang lain di LAN Internet

  16.   Fabian kata

    Untuk ini, anda mesti menggunakan SAMBA sebagai Pelayan Fail. Sorakan

  17.   David kata

    Hai. Ketika saya sampai di perintah sudo chmod g + s dirname, ia memberitahu saya bahawa fail atau direktori tidak ada. Adakah anda tahu apa masalahnya?

  18.   Javier Quiroga Almeida kata

    Bagaimana saya membuat kumpulan dalam kumpulan lain?

  19.   Rodrigo Hernán Ramos kata

    Garisan itu:
    sudo usermod -G berkongsi sebastian

    sepatutnya:
    sudo usermod -a -G berkongsi sebastian

    cara pertama membuang kumpulan pengguna yang lain.
    dan jika anda berpeluh, anda kehilangan hak anda