linux语言编写一个程序,实现自动删除50个用户账号的功能,账号名为stud1至stud50
时间: 2024-03-02 11:53:47 浏览: 134
在Linux系统中,可以使用以下脚本来删除50个用户账号:
```bash
#!/bin/bash
for i in {1..50}
do
userdel -r stud$i
done
```
这个脚本使用了循环结构,根据账号名的数字编号从1到50进行遍历,使用`userdel`命令来删除相应的用户账号,并使用`-r`选项来删除该用户的家目录和邮件等相关文件。请注意,执行此脚本需要具有管理员权限。
相关问题
编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。
可以使用以下 shell 程序来实现:
```bash
#!/bin/bash
# 循环删除 stud1 至 stud50 账号
for i in {1..50}
do
# 构造账号名
USERNAME=stud$i
# 判断账号是否存在
if id "$USERNAME" >/dev/null 2>&1; then
# 删除用户账号
userdel -r "$USERNAME"
# 输出结果
echo "$USERNAME has been deleted"
else
echo "$USERNAME does not exist"
fi
done
```
将以上代码保存为 `delete-students` 文件,并使用以下命令添加执行权限:
```bash
chmod +x delete-students
```
然后,您可以使用以下命令来自动删除 stud1 至 stud50 账号:
```bash
./delete-students
```
程序将循环删除账号,并输出每个账号的删除结果。如果账号不存在,则输出相应的错误信息。
编写shell程序,实现自动添加15个账号的功能。 要求: 创建用户组group1~group15,在/tmp日录下创建15个目录stud1-stud15,并设置每个目录的权限,其中其他用户的权限为: 读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为: 读、执行。创建用户账号stud1至stud15,指定studi用户的主目录指定为/tmp/studi,且用户归属组名为groupi (i从1-15)
好的,我理解了你的要求。下面是一个可能的解决方案:
```bash
#!/bin/bash
# 创建用户组
for i in {1..15}
do
groupadd group$i
done
# 创建目录并设置权限
for i in {1..15}
do
mkdir /tmp/stud$i
chmod 755 /tmp/stud$i
chown :group$i /tmp/stud$i
done
# 创建用户账号并指定主目录和归属组
for i in {1..15}
do
useradd -d /tmp/stud$i -g group$i stud$i
done
```
你可以将这段代码保存为一个 shell 脚本文件,比如 `auto_add_users.sh`,然后在终端中执行 `bash auto_add_users.sh` 来运行它。执行完毕后,你应该可以在系统中看到新创建的用户和目录了。
需要注意的是,这个脚本将会创建 15 个新用户和组,以及 15 个新目录,如果你已经创建了同名的用户、组或目录,那么这个脚本可能会出现一些问题。因此,在运行脚本之前请务必备份你的数据,并仔细检查代码是否符合你的需求。
阅读全文