Makefile で使用[/usr/bin/]install
して、いくつかのバイナリを自分の$HOME
ディレクトリにコピーしています。私の umask は 700 に設定されています。
問題はinstall -D -m 700
、バイナリのインストールに使用していて、親ディレクトリが 700 ではなく 755 の権限で作成されていることです。
$ umask
077
$ ls
$ touch hello
$ ls -l
total 0
-rw------- 1 emuso emuso 0 Apr 5 13:15 hello
$ install -D -m 700 hello $PWD/this/is/hello
$ ls -ld this
drwxr-xr-x 3 emuso emuso 4096 Apr 5 13:17 this
$ ls -lR this
this:
total 4
drwxr-xr-x 2 emuso emuso 4096 Apr 5 13:17 is
this/is:
total 0
-rwx------ 1 emuso emuso 0 Apr 5 13:17 hello
ディレクトリが755ではなく700の権限this
を取得することを望みます。is
私の頭に浮かぶ解決策は次のとおりです。
install -d -m 700
ディレクトリ構造を手動で作成するために使用します。chmod
アクセス許可を手動で修正するために使用します。
最初のソリューションの主な欠点は、ディレクトリ構造があり、移動して手動で作成する必要があることです。
私の質問は次のとおりです。「install -D」によって作成されたディレクトリのアクセス許可を制御するエレガントな方法はありますか?