Linux

使用 ‘mv’ 移動文件時,如何通過 dir 的 setgid 位應用組更改?

  • May 27, 2020
$ mkdir test
$ chown gtgteq:users test
$ chmod g+s test
$ touch test/a
$ touch b
$ mv b test/
$ ls -l test
total 0
-rw-r--r-- 1 gtgteq users  0 a
-rw-r--r-- 1 gtgteq gtgteq 0 b

如何自動更改移動文件組(b)?

最終我寫了 bash 函式。

mvs() {
 local dest
 if [[ $# -ne 2 ]]; then
   return 1
 fi
 if [[ -d $2 ]]; then
   dest="$2/$(basename $1)"
 else
   dest="$2"
 fi
 mv "$1" "$2" || return $?
 chown "$USER":users -R "$dest"
 chmod g+rw -R "$dest"
 find "$dest" -type d -exec chmod g+xs {} ';'
}

引用自:https://unix.stackexchange.com/questions/589239