`root`が所有するファイルをコピーすると` cp`権限が拒否されました

フォルダudp_folder2

d------r-T 41 root root 4096 Apr 26 21:17 udp_folder2 

root以外のユーザーと一緒にいると、cp -r新しいフォルダに入れます:アクセスが拒否されました

なぜですか? root

回答

以外のユーザーでコピーするにはどうすればよいですか?

これは、現在の権限の設定方法では、誰もそのファイルを移動できないためです。 (root以外、rootは同じルールに従わないため。)

ファイルの所有者(chown)を変更するか、他のユーザーをグループ「root」に追加して、グループがディレクトリで実行できるようにchmodするか、他の全員がファイルを実行できるようにします。

したがって、簡単な修正は次のようになります。

chmod -R o+rwx udp_folder2 

これにより、誰もがそのディレクトリで読み取り、書き込み、実行できるようになります。

また、「udp_folder2」を現在のディレクトリと同じディレクトリにコピーしようとしている場合、そのディレクトリに対する「w」権限も必要です。例:

/ foo / udp_folder2- / fooにそのディレクトリをコピーするには/ fooに「w」が必要です

Linuxファイルのアクセス許可を学習することをお勧めします: Linuxファイルのアクセス許可チュートリアル

コメント

  • コピーは単なるr権限だと思います。明らかに、他のユーザーにはr権限があります。私sa r
  • d------r-Tでは、rは他のユーザーの場合
  • ディレクトリをコピーするには、実行権限も必要です。 'どのTが手元にないのかわかりません。
  • あなた'コピーしようとしている'ディレクトリに' w 'が必要ですたとえば、'を/ home / fooから/ etc / fooにコピーする場合は、'に

w 'の/ etc /

  • @Swissでの権限-' T 'はスティッキービットであり、'特別な'権限です。スティッキービットの詳細については、 en.wikipedia.org/wiki/Sticky_bit
  • 回答

    ディレクトリにはx権限がないため、他のユーザー(この場合はすべてのユーザー)がディレクトリを使用してファイルにアクセスできます内部。 Tは、スティッキーであることを意味します(ファイルの所有者のみがファイルを削除できます)。 x権限とスティッキービットの両方を使用すると、小文字のtが表示されます。大文字のTは、「アクセス許可はありませんが、スティッキービットです。これは奇妙な組み合わせです」と表示されます。

    Unixファイル/ディレクトリのアクセス許可を確認してください。 「それほど難しくはありません。必要になります

    回答

    必要ありません」セキュリティ上のリスクが発生するため、ディレクトリ上のすべての人にrwxを提供したい。そしてchmodを-Rしたくないなぜなら、それは再帰的に変更を書き込むからです。

    chmod 755 "filename"だけであなたは「元気です。

    ここに数字の内訳があります:

    • 読み取り= 4
    • 書き込み= 2
    • 実行= 1

    次に、3つのグループがあります。

    • 所有者。
    • グループに属する人。
    • 他のすべての人。

    つまり、所有者rwx、グループrwに属する人、および他のすべての人rw権限を追加するだけです:rwx = 7、r + w + xは4+ 2 + 1であり、rw = 6であるため、 r + w = 4 +2。

    コメント

    • したがって、私の用語は'です。つまり、簡単な修正は'であり、権限について詳しく知るためのリンクを彼に送信します。彼は'セキュリティやその他の懸念については言及していません。彼はディレクトリをコピーしたいと述べました。
    • また、'には' wが必要です。 'コピーしようとしているディレクトリに対する'権限。
    • ドン'嫌いなティルマンにならないでください。

    回答

    所有者がコピーしないフォルダをコピーするには”権限がない場合は、これらの権限を変更する必要があります。

    フォルダが所有者に対しても制限されている場合は、何らかの理由があり、他のすべてのユーザー(o)にアクセス許可を与えることは適切な解決策ではありません(最初の回答に示されているように)。

    所有者がフォルダにアクセスするには、フォルダを読み取り(r)、実行/検索ビット(X)を設定します。フォルダ内にフォルダがある場合は、それぞれが同じルールに従う必要があります。ファイルの場合、読み取りビット(r)のみで十分です。

    したがって、基本的にフォルダーへの読み取りアクセス許可を再帰的に付与するには、次のコマンドを実行する必要があります。

    chmod -vR u+rX folder/ 

    上記のコマンドをユーザーとして実行している場合は、プレフィックスとしてsudoを付けます(スーパーユーザー権限がある場合)。それ以外の場合はrootとして実行します。

    フォルダ内の一部のファイルがrootによって所有されていない場合は、次の方法で再帰的に変更します。

    sudo chown -vR root folder/ 

    次に通常どおりにコピーするか、次のようにrsyncを使用します。

    rsync -vuar src/ dst/ 

    上記のコマンドの詳細については、次を確認してください。man chmodおよびman chown

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です