Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在多个用户的家中创建目录?_Linux_Bash_Ubuntu 16.04_File Permissions_System Administration - Fatal编程技术网

Linux 如何在多个用户的家中创建目录?

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个用户名user1,user2,user3…user20。现在我想为每个用户的主目录添加一个目录new_dir

我可以通过每次登录每个用户并创建目录来实现这一点。但是由于这个数字很大,它消耗了很多时间

有没有像for loop这样的方法或一些工具来帮助实现这一点


我目前正在使用另一个用户,这与组中的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