Configuration

如何使用新的 /etc/skel 文件usermod 老使用者?

  • March 2, 2021

我想用/etc/skelDebian 和 Ubuntu 安裝的新內容“更新”老使用者。可以編寫腳本…

find /home -maxdepth 1 -mindepth 1 -type d | while read homedir; do
   user="$(stat -c%U $homedir)"
   su -c 'tar -cf- -C /etc/skel . | tar -vxf- -C $HOME' $user
done

…但我想知道是否有人知道更好的方法。

您可以/etc/skel使用這樣的腳本更新使用者目錄中的文件。

#!/bin/bash
#
getent passwd |
   while IFS=: read username x uid gid gecos home shell
   do
       [[ "$username" == root || ! -d "$home" ]] && continue
       tar -cf - -C /etc/skel . | sudo -Hu "$username" tar --skip-old-files -xf -
   done

筆記

  • 有意地,它不會更新已經存在的文件,但它無法辨識使用者已刪除的文件,您想再次放回這些文件,以便重新創建:
  • 它根本不會更新root文件

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