我正在寻找一种可以更改权限的工具,然后将它们更改回之前的状态。
答案 0 :(得分:3)
为什么?
嗯......,使用GNU stat
#!/bin/sh
orig_mode=$(stat -c %a "$2")
chmod "$1" "$2"
chmod "$orig_mode" "$2"
我们再来一次,这次有* BSD统计数据:
#!/bin/sh
orig_mode=$(stat -f "%OMp%OLp" "$2")
chmod "$1" "$2"
chmod "$orig_mode" "$2"
对于其他版本的stat,它将取决于是否/如何支持输出格式。
答案 1 :(得分:1)
使用stat的“ -c, - format ”选项以及“%a八进制中的访问权限”序列显示文件的权限。可以使用 chmod 更改文件权限。
例如,使用stat保存文件的原始权限。
$ OLD_PERM=$(stat -c"%a" $FILENAME)
$ echo $OLD_PERM
644
更改权限
$ chmod 600 $FILENAME
$ stat -c"%a" $FILENAME
600
最后将权限恢复为原始值。
$ chmod $OLD_PERM $FILENAME
$ stat -c"%a" $FILENAME
644