我[/usr/bin/]install
在 Makefile 中使用将一些二进制文件复制到我的$HOME
目录中。我的umask设置为700。
问题是我install -D -m 700
用来安装二进制文件,并且父目录是使用 755 而不是 700 的权限创建的:
$ 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
我想要目录this
并is
获得700而不是755的权限。
我想到的解决方案是:
- 用于
install -d -m 700
手动创建目录结构。 - 用于
chmod
手动修复权限。
第一个解决方案的主要缺点是我有一个目录结构,我必须手动创建和创建。
所以我的问题是:有没有一种优雅的方法来控制“install -D”创建的目录的权限?