cpとmvの大きな違い

OS

cpは、ファイルを指定されたディレクトリにコピーするコマンド! 一方mvは、ファイルを指定されたディレクトリに移動するコマンド・・・これの違いにあまり意識しなかったのですが、この違いに最近思い知らされましたので記録しました

cpはSELINUXのコンテキストが適用される

cpコマンドではコピー先のSELINUXコンテキストが適用

mvコマンドでは、コピー元のコンテキストが適用される

上記例のように、cpコマンドでは、コピー先のSELINUXコンテキストが適用されますが、mvコマンドではコピー元のコンテキストのままですので、これをコピー先のコンテキストに変更が必要です(実際には、元に戻して、コピーし直すのが早い)

SELINUXのコンテキストが適用されないと

上記例は、公開する場所にCSSファイルやJSファイルを置き、これらのファイルにリンクを張って、公開しようとするケースの話です。これらのファイル類を公開場所に/home/userフォルダから、公開場所/var/www/htmlに、mvコマンドで移動するコマンドを使う方法で置くのでは初期の目的が達成されない例として、自分のミスを記録して自戒するために公開しました

これは、公開先に置いたファイルに対し、SELINUXのコンテキストの適用が出来ていないため、ファイルにアクセスすることが出来ないためです。SELINUXのコンテキストは、公開先は全て httpd_sys_rw_content_tのコンテキストが適用されている必要が有るためです

タイトルとURLをコピーしました