在新用户的主目录中创建具有特定组和权限的子目录

在新用户的主目录中创建具有特定组和权限的子目录

/etc/skelLinux 会复制创建新用户时的内容。我想在每个用户的主目录中都有一个子目录,MyStevedore.我希望该目录的所有者是新用户,组是stevedore具有权限的组drwxrwxr-x。该用户不是该组的成员stevedore

答案1

假设您使用adduser创建用户,它将完成大部分工作,假设您已经创建了/etc/skel/MyStevedore具有所需权限的目录。然而在大多数系统上将~/MyStevedore始终属于用户的主要组。

在 Debian 及其衍生版本(包括 Ubuntu)上,一旦adduser创建了用户,它就会调用/usr/local/sbin/adduser.local它是否存在。您可以使用它来完成工作。

#!/bin/sh
username=$1 uid=$2 gid=$3 home_dir=$4
if [ -d "$home_dir/MyStevedore" ]; then
  chgrp stevedore "$home_dir/MyStevedore"
fi

答案2

您可以将 if 语句添加到 /etc/skel 中的 .bash_profile 脚本中,以检查该文件夹是否存在。如果它不存在,它将创建它并设置权限。

新用户第一次登录时将创建该文件夹。

相关内容