ヒント:Linuxの複数のユーザー間でディレクトリを共有する

ターミナル

今日、私は個人的によく使う別のヒントを持って戻ってきます。 Linux上の複数のユーザー間で共有ディレクトリを持つことができます。 私は彼らを状況に置きました、私の妻が家にいると、私たちは両方とも同じPCを使用します アーチのLinux しかし、それぞれに独自のユーザーがいます。 そのため、音楽や写真のように共有するフォルダには問題があることに気付きました。各フォルダには独自のファイルがあり、物事が重複しているためです。

その時、私たちは考えました 共有フォルダを作成しますが、権限の問題があります。 フォルダが私のものである場合、彼女はそれを表示しません。私が作成したファイルの場合、彼女はそれを削除しません。 当初、パッチは、解決策が見つかるまで、他の人がアクセスできるように何かを編集するたびに、これらのファイルに777のアクセス許可を与えることでした。 グループ権限!

グループ権限とは何ですか?

それが最高です、 その共有ディレクトリとそのすべてのコンテンツを、読み取りおよび書き込み権限を持つ特別なグループに割り当てます、グループのすべてのメンバーが上記のディレクトリにアクセスできるようにします。 これにより、ユーザーを上記のグループに追加するだけで、そのディレクトリで既に対話できるようになります。

そして、どのように構成しますか?

これは最良の部分であり、私は妻とどのようにそれをしたかをあなたに話し始めます。 まず、そのディレクトリを作成します。この例では、«と呼びます。共有した"

sudo mkdir /home/compartido

上位ディレクトリが独自の権限で煩わされるのを避けるために、アカウントの内部/ホームおよび外部で作成します。 次に、グループを作成する必要があります。これを配置します«共有»

sudo groupadd compartidos

また、このグループを以前に作成したディレクトリに割り当て、権限も変更して、ディレクトリであろうとファイルであろうと、内部で作成するすべてのものもこのグループに属するようにします。

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

また、ユーザーを追加する必要があります。 次に、それぞれに対してこのコマンドを繰り返す必要があります。

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

これまでのところ、ディレクトリ«があります/ホーム/共有»グループに属するもの«共有«、同じのすべてのメンバーユーザーがアクセスできるものと、ディレクトリに作成されたすべてのものを使用して、私たちの誰もがそれらを見ることができるグループに属します。

最後のステップが002つ必要です。これはオプションの場合もありますが、ユーザーのumaskを変更して、作成する新しいファイルがグループの他のメンバーによって変更可能であることを確認します。 これはディレクトリだけでなくユーザー全体に影響するため、ユーザーはそれが機能するかどうかを確認する必要があります。 私の場合、妻と私だけがシステムを使用しているので、気にせず、775のumaskを割り当てます。これは、作成されるすべてのファイルがXNUMXのアクセス許可で始まることを意味します。

umaskの編集

umaskを編集するには、各ユーザーがユーザーのホーム内にある.profileまたは.bashrcファイルを編集し、umaskの値を必要な数だけ変更する必要があります。 オプションがない場合は、追加する必要があります。

/ etc /プロファイルファイルを編集して、変更がすべてのユーザーに影響するようにすることもできます

したがって、コンソールに次のように配置します。

sebastian@multivacs ~> vim .profile

そして、次のようなものが表示されます。

vi-プロファイル2

それで、umaskという行に移動し、文字を押します i 編集できるようにするには、#を削除してコメントを削除します。 番号を002に変更します。行が表示されない場合は、追加する必要があります。

終了したら、キーを押します Escキー 編集モードを終了してから、 :+q+w。 変更を保存してViを終了する理由。

次の画像のようになります。

viプロファイル

これで完了です。ユーザーセッションを閉じて再度開くと、変更が加えられ、共有ディレクトリはすでに機能しています。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   エラヴ

    素晴らしいヒント。

  2.   KZKG ^我愛羅

    素晴らしい。

    数年前、私はこれを自分で行う必要があることに気づきました。私が知らなかったのはumaskでした...代わりにcrontabにタスクを配置しました🙂

    ヒントをありがとう

    1.    タルスカース

      はい、crontabも優れています。 コンテンツに775のアクセス許可を割り当てるために、何を入れましたか?

  3.   生基本

    すばらしいヒント....必要に応じて保存;)..

  4.   ルイス

    OK、フォルダ/ホーム/共有を作成し、それにグループ「共有」を割り当てますが、

    そのフォルダはどのユーザーに属していますか? 言い換えれば、所有者は誰ですか? 私、他の人、またはsudoを使用しているためにアカウントが無効になっているrootユーザーですか?

    一方、私が作成したファイルは他の人が削除できず、他の人が作成したファイルは削除できないという問題があります。

    私は何を間違えましたか?

    1.    タルスカース

      sudoを使用してフォルダーを作成する場合は、所有者としてrootを残しておく必要があります。 chownコマンドでこれを変更して、別のユーザーを割り当てることもできます。

      一方、作成するファイルが775のアクセス許可(umask 002を与える)で作成することを確認します。 それらの権限がない場合は、構成が間違っている可能性があります。

      同様に、umaskはディレクトリ内に作成される新しいファイルに影響を与えることを明確にする価値がありますが、別の場所からコンテンツを移動またはコピーする場合、ディレクトリに設定した権限ではなく、元の権限が維持されます。

      1.    ルイス

        ねえ! あなたが正しい。

        私が探していたところ、問題の原因は最後に言ったことです。ファイルを別の場所から共有フォルダーに移動すると、元のアクセス許可が維持されます。

        これに対する解決策はありますか?

        私は真珠を使うことができました。

      2.    タルスカース

        その場合、KZKG ^ Gaaraのようなcrontabを配置するのが最善です。この場合、X回ごとにグループとアクセス許可をフォルダーコンテンツに割り当てるコマンドを配置できます。
        つまり、crontabで次のようになります。
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        すべてを新しくするには、権限775の共有グループに移動します。

      3.    タルスカース

        各行の終わりにある*は無視してください、私がそれを置くとき、私は何か他のものを考えていました😛

      4.    ルイス

        あなたの友人に感謝。

  5.   エルネスト

    非常に良い投稿ですが、共有したいものすべてを配置できる別のパーティションが必要です。 私は寛大な500GBのディスクを持っています。Linuxでは100GBを使用し、音楽や写真などがすべて含まれる400GBのパーティション(ntfs)を使用しています...私のPCではXNUMX人のユーザーであり、それぞれがパーティションntfsにアクセスできます。必要なときに必要なものを出し入れします。 何も共有したくない場合は、ユーザー名にいくつかの項目があります。 🙂

    1.    ルイス

      はい、それは別の方法ですが、問題はファイルをどこに置くかではなく、アクセス許可を構成し、さまざまなユーザーのアクセスを制御することです。

      それをNTFSパーティションに置くことはできますが、正しいですが、断片化もあり、EXT4よりも遅く、セキュリティが低くなります。ただし、そのようにするのが適切な場合は、同様に有効です。

  6.   ライナーグ

    はい! 良いヒントですが、セッションの開始ごとに775の新しいファイルへのアクセス許可を変更するタスクを追加し、別のフォルダーからファイルが移動される問題を解決します。
    また、共有していただきありがとうございます!

  7.   ホアキン

    面白い、ありがとう!

  8.   匿名の

    私はいくつかのgnu / linuxディストリビューションのプライマリ共有グループに関して何かを提起しています。 一部のディストリビューションは、プライマリグループusersを使用してユーザーを作成し、ユーザーの名前と同じプライマリグループを使用しません。
    違いは、プライマリグループユーザーを使用すると、デフォルトでは、そのディストリビューションで作成されたすべてのユーザーが属するグループユーザーとすべてが共有されます。代わりに、ユーザー名と同じグループで作成された場合、デフォルトでは何も共有されません。共有されます。

    例:
    $ ls -l /home/user/*.txt
    -rw-r – r– 1 carlos carlos 126 25年2012月XNUMX日notes.txt

    $ ls -l /home/user/*.txt
    -rw-r – r–1カルロスユーザー126 25年2012月XNUMX日notes.txt

    プライマリグループusersを使用することはお勧めしません。ユーザーを作成するときに、独自のプライマリグループを作成することをお勧めします。

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

    -g carlosは、親グループcarlosを使用することを示します。
    #usermod -gを使用してユーザーのプライマリグループを変更できますが、すでに/ home / carlosにあるすべてのファイルとフォルダーのプライマリグループは変更されないため、すべて変更する必要があります。

    例:プライマリグループのユーザーをユーザーcarlosからプライマリグループcarlosに変更してから、
    ユーザーCarlosのすべてのファイルとフォルダーのアクセス許可により、CarlosCarlosに残ります。

    #groupadd carlos
    #usermod -gcarlosユーザー
    #cd /ホーム
    #chown -Rカルロス:カルロスカルロス

    共有に関しては、共有プライマリグループと共有と呼ばれるユーザーを作成できます。コピー時に権限の問題が発生しないように、最初にユーザーを変更します。
    「$ su--shared」を使用すると、必要なものが/ home / sharedにコピーされます。これにより、コピーされたものの権限が共有ユーザーになります。
    他のユーザーやプライマリグループに属するコピーファイルがすでにある場合は、それらをすべて変更する必要があります。

    #cd /ホーム
    #chown -R shared:共有共有

    共有ユーザーとしてグラフィカルにコピーする方法、つまり$ suを実行せずにコピーする方法がわからないものが残っています-共有

  9.   匿名の

    グラフィカルにコピーするのは非常にばかげたことでした。ここではopenboxでpcmanfmを使用していますが、お持ちのファイルマネージャーを使用できます。ファイルマネージャーは共有ユーザーとしてのみ実行され、rootユーザーとしては実行されません。

    $ su-共有
    $pcmanfm
    $イルカ
    $mc
    などなど

    1.    タルスカース

      私はちょうどそれに答えようとしていました。 そうでない場合、もうXNUMXつは、x回ごとにファイルの所有者を変更するcrontabです。
      chown -R compartido:compartido compartido

  10.   ヒューゴー

    コマンド「usermod-Gthenewgroup elusuario」は、基本的にユーザーのグループを「thenewgroup」に変更しているように見えます。 既存のユーザーを新しいグループに追加するには、正しいのは「usermod -aGelnuevogrupoelusuario」だと思います。

    もう775つは、「chmod -R 0」の実行を推奨する人が何人かいることですが、これはディレクトリだけでなく、すべてのファイル(実行可能ファイル)にも影響し、不必要なリスクをもたらします。 «find / home / shared -type d -print0 |のようなことをする方が良いです。 xargs -755 chmod 664 "そして、必要に応じてファイルで同様のことを行うことができますが、" -type f "を使用し、権限XNUMXを付与します。

    最後に、所有者またはグループが誰であるかに関係なく、複数のアカウントがファイルまたはフォルダーにアクセスできるようにするXNUMXつの方法は、aclパッケージにある「setfacl」コマンドを使用することです(正しく覚えている場合)。 その使用法はマニュアルページで詳しく説明されています。

  11.   ウナイマーティン

    私は次の問題を抱えています。 4人のユーザー(web1、web2、web3、web4)を作成しましたが、Webグループのユーザーへのアクセスグループフォルダーを作成したいと思います。 .htaccessファイルを作成すると、require valid-userを入力する必要があることがわかりますが、require valid-user web1 web2 web3 web4を入力すると、パスワードを使用してフォルダーにアクセスできるようになります。それぞれのユーザーとパスワードを尋ねられますが、入力したい人のユーザー名とパスワードだけを尋ねられるようにするにはどうすればよいですか? 一方が他方のパスワードを知らないと想定されているためです。

  12.   グスタボF.パレデス

    ねえ。

    4番目の端末には、「共有」複数形が必要です。

    sudo usermod-G共有セバスチャン

    sudo usermod-G共有mywoman

    ご挨拶。

    グスタボ

  13.   イワン

    乾杯:

    WindowsServerからCentOs6に移行しており、まだ適応の過程にあります。 私の質問:CentOsには、フォルダーを共有し、ユーザーがファイルを変更、編集、削除するためのアクセスを許可するグラフィカルインターフェイスがありますか?それとも上記のすべての手順を実行する必要がありますか?

    助けてくれてありがとう。

    1.    ラファエル

      私もcentos6をインストールしていて、LinuxとWindowsのファイルを共有できるsambaで使用したいと思っています。少し知っていますが、Linuxはあまり使用していませんが、職場ではどうすればよいですかと尋ねられました。フォルダを共有しますが、グラフィックモードでは??。

  14.   リカルド

    こんにちは。 私を助けてください!... Linux Mindのユーザーでこれを行うことにより、特権を失ったことがわかりました。 sudoのようなものは実行できません。 次のメッセージが表示されます。「すみません、ユーザー「username」は実行を許可されていません」command_to_run "as root in" username ""

    ユーザーを共有グループに変更したときに特権を奪ったと思いますが、どうすればそれらを復元できますか?

  15.   ビル

    ねえ友人は同じことをする方法はありますが、インターネットLAN上の他の人とファイルを共有しています

  16.   ファビアン

    このためには、ファイルサーバーとしてSAMBAを使用する必要があります。 乾杯

  17.   デイビッド

    こんにちは。 コマンドsudochmod g + s dirnameにアクセスすると、ファイルまたはディレクトリが存在しないことが通知されます。 問題が何であるか知っていますか?

  18.   ハビエル・キロガ・アルメイダ

    別のグループにグループを作成するにはどうすればよいですか?

  19.   ロドリゴ・ヘルナン・ラモス

    この線:
    sudo usermod-G共有セバスチャン

    する必要があります:
    sudo usermod -a-G共有セバスチャン

    最初の方法は、ユーザーの残りのグループを削除します。
    汗をかいていると特権を失います