フォルダがありますudp_folder2
d------r-T 41 root root 4096 Apr 26 21:17 udp_folder2
root
以外のユーザーと一緒にいるときは、cp -r
それが言う新しいフォルダーに:許可が拒否されました
どうして? root
以外のユーザーでコピーするにはどうすればよいですか
上手、
これは、現在のアクセス許可の設定方法により、誰もそのファイルを移動できないためです。 (ルートは同じルールに従っていないため、ルート以外。)
ファイルの所有者(chown)を変更するか、OR他のユーザーをグループ 'root'に追加し、chmodを実行して、グループがディレクトリで実行できるようにする必要がありますOR他の全員にファイルの実行を許可します。
したがって、簡単な修正は次のようになります。
chmod -R o+rwx udp_folder2
これにより、誰でもそのディレクトリで読み取り、書き込み、実行を行うことができます。
また、「udp_folder2」を現在配置されているのと同じディレクトリにコピーする場合は、そのディレクトリに対する「w」権限も必要です。例えば:
/ foo/udp_folder2-/ fooにそのディレクトリをコピーするには、/ fooに「w」が必要です
Linuxファイルのアクセス許可を学習することをお勧めします: Linuxファイルのアクセス許可のチュートリアル
ディレクトリにはx
権限がないため、他のユーザー(つまり、この場合はすべてのユーザー)がディレクトリを使用して内部のファイルにアクセスできます。 T
は、粘着性があることを意味します(ファイルの所有者のみが削除できます)。 x
権限とスティッキービットの両方を使用すると、小文字のt
が表示されます。大文字のT
は、「アクセス許可はありませんが、スティッキービットです。これは奇妙な組み合わせです」と述べています。
Unixのファイル/ディレクトリの権限を確認します。それはそれほど難しくはありません、そしてあなたはwillそれを必要とします。
セキュリティ上のリスクが発生するため、ディレクトリのrwx
を全員に与えたくない。そして、あなたは-R
chmodは変更を再帰的に書き込むためです。
ただchmod 755 "filename"
、あなたは元気です。
数字の内訳は次のとおりです。
次に、3つのグループがあります。
したがって、所有者にrwx
、グループに属する人にはrw
、その他すべての人にはrw
を付与する場合は、権限を追加するだけですrwx
= 7、r
+ w
+ x
は4 + 2 + 1であり、rw
= 6は、r
+ w
= 4 + 2。
所有者が権限を持っていないフォルダをコピーするには、これらの権限を変更する必要があります。
所有者であってもフォルダーが制限されている場合は、その理由がいくつかあり、他のすべてのユーザーに権限(o
)を付与することは適切な解決策ではありません(最初の回答を参照)。
所有者がフォルダにアクセスするには、読み取り(r
)および実行/検索ビット(X
)が設定されている必要があります。フォルダ内にフォルダがある場合、それぞれが同じルールに従う必要があります。ファイルの場合、読み取りビット(r
)のみで十分です。
したがって、基本的にフォルダーへの読み取りアクセス許可を再帰的に付与するには、次のコマンドを実行する必要があります。
chmod -vR u+rX folder/
上記のコマンドをユーザーとして実行している場合は、プレフィックスとしてSudo
を付け(スーパーユーザー権限がある場合)、それ以外の場合はrootとして実行します。
フォルダー内の一部のファイルがルートによって所有されていない場合は、次のように再帰的に変更します。
Sudo chown -vR root folder/
次に、通常どおりにコピーするか、次のようにrsync
を使用します。
rsync -vuar src/ dst/
上記のコマンドの詳細については、次を確認してください:man chmod
およびman chown
。