以另一个用户身份创建目录和子目录

以另一个用户身份创建目录和子目录

我正在尝试以另一个用户的身份从 shell 脚本内部创建目录和子目录。

问题是,我正在运行脚本root,因此正在使用所有权创建目录。我root有一个包含目录和子目录名称的文本文件,我正在使用以下命令来执行此操作:

cat dirname.txt | xargs -L 1 mkdir

看起来像这样:

cet/mnt
cet/mnt/jkl
cet/mnj/lok

我尝试过sudo,但只有父目录获得所需的用户所有权。

答案1

为什么不像下面这样呢?

user="foo"
group="bar"
perm=741

for dir in $(cat dirname.txt); do
    mkdir ${dir}
    chown ${user}:${group} ${dir}
    chmod -R ${perm} ${dir}
done

我发现最好利用变量来使未来的更改变得更容易。迭代目录列表而不是单行也更容易维护

答案2

尝试类似的方法:

cat dirName.txt | xargs -L 1 sudo -u ubuntu mkdir -p

相关内容