Linux 如何在多个用户的家中创建目录?
我有20个用户名user1,user2,user3…user20。现在我想为每个用户的主目录添加一个目录new_dir 我可以通过每次登录每个用户并创建目录来实现这一点。但是由于这个数字很大,它消耗了很多时间 有没有像for loop这样的方法或一些工具来帮助实现这一点Linux 如何在多个用户的家中创建目录?,linux,bash,ubuntu-16.04,file-permissions,system-administration,Linux,Bash,Ubuntu 16.04,File Permissions,System Administration,我有20个用户名user1,user2,user3…user20。现在我想为每个用户的主目录添加一个目录new_dir 我可以通过每次登录每个用户并创建目录来实现这一点。但是由于这个数字很大,它消耗了很多时间 有没有像for loop这样的方法或一些工具来帮助实现这一点 我目前正在使用另一个用户,这与组中的20个用户无关。类似的功能应该可以使用 脚本迭代/home中的所有内容,处理所有目录,但跳过丢失+找到的(如果需要,添加其他目录)继续是否出于安全考虑,一旦理解脚本并根据需要修改脚本,请将其删
我目前正在使用另一个用户,这与组中的20个用户无关。类似的功能应该可以使用 脚本迭代
/home
中的所有内容,处理所有目录,但跳过丢失+找到的
(如果需要,添加其他目录)继续
是否出于安全考虑,一旦理解脚本并根据需要修改脚本,请将其删除
你应该考虑创建的DIR的所有权和所有权,这个脚本给用户提供所有权(无论<代码> STAT -C“%u”< /COD>给出),并将该组留给root(使用<代码> STAT-C”%G“< /代码>”。
cd /home # or whatever your home path
for d in * # iterate everything
do
if [[ -d "$d" && "$d" != "lost+found" ]] # process dirs but not lost+found
then # add others if needed
echo Processing "$d"
continue # REMOVE WHEN YOU UNDERSTAND THE SCRIPT
continue # ARE YOU SURE
continue # THIS IS YOUR LAST WARNING
u=$(stat -c "%U" "$d") # get user of each dir
mkdir -p "$d"/new_dir # creat the dir regardles if exists
chown "$u" "$d"/new_dir # set ownership to rightful owner
fi # consider setting group ownership
done