![如何创建新用户并在其目录中创建新文件?](https://linux22.com/image/142914/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E6%96%B0%E7%94%A8%E6%88%B7%E5%B9%B6%E5%9C%A8%E5%85%B6%E7%9B%AE%E5%BD%95%E4%B8%AD%E5%88%9B%E5%BB%BA%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我需要创建一个新用户,并且它需要有一个名为“config.sh”的自定义文件。
创建新用户时我所做的是:
sudo useradd –c "New User" –md /home/NU newuser –e 20/12/2018 –s /bin/bash –u 2000
其中-md /home/NU
为新帐户创建目录。
如何在此目录中添加名为“config.sh”的文件?
答案1
该useradd
实用程序在创建新用户时使用许多默认值。这些默认值之一是骨架目录,它用作用户主目录的基础。
骨架目录配置在里面/etc/default/useradd
:
SKEL=/etc/skel
您可以将该config.sh
文件添加到此目录,以便为所有新用户自动添加该文件作为其主目录的一部分。
示例:让我们创建一个名为的简单脚本文件config.sh
:
[root@testvm ~]# cat config.sh
#!/bin/bash
echo "Hello World!"
我们将授予脚本执行权限:
[root@testvm ~]# chmod +x config.sh
接下来,我们将脚本复制到骨架目录/etc/skel
.
[root@testvm ~]# cp -a ~/config.sh /etc/skel/
现在,让我们添加新用户*:
[root@testvm ~]# useradd -c "New User" -md /home/NU -e 2018-12-20 -s /bin/bash -u 2000 newuser
最后,我们将切换到新用户并验证文件是否已放置在用户的主目录中:
[root@testvm ~]# su - newuser
[newuser@testvm ~]$ ls -l
total 4
-rwxr-xr-x. 1 newuser newuser 32 Dec 1 22:08 config.sh
[newuser@testvm ~]$ ./config.sh
Hello World!
*我已经修改了useradd
问题中的命令。用户名必须在所有选项之后最后指定,并且到期日期使用 YYYY-MM-DD 格式。