我必须将文件复制(如果已经存在,则覆盖)到同一组(“学生”)的用户成员的所有主目录。
我找到了一个我试图适应我的上下文的脚本(我有 LDAP 用户而不是 /etc/passwd,所以我使用 getent passwd 来获取用户名)。
这是脚本(cp2stud.sh):
#!/bin/bash
# subdirectory of /home/uid
DIR=".eclipse/org.eclipse.platform_3.8_155965261/configuration"
# the file to copy
FILE="/home/admin/tmp/config.ini"
# location of home dirs
UHOME="/home"
# GID of "students" group
USERS_GID=10004
# get list of users having same GID
_USERS="$(getent passwd | awk -F ':' '{if ( $4 == $USERS_GID ) print $1 }')"
for u in $_USERS
do
_dir="${UHOME}/${u}/${DIR}"
if [ -d "$_dir" ]
then
yes | /bin/cp -v "$FILE" "$_dir"
chown $(id -un $u):students "$_dir/${FILE}"
fi
done
当我尝试启动它时:
$ sudo cp2stud.sh
我什么都得不到。
我在哪里弄错了?
提前致谢