用shell写一个登录功能和界面,要求登录账号用Linux系统中存在的账号
时间: 2024-02-24 11:57:25 浏览: 25
好的,我可以为您提供一个简单的登录界面和功能的shell脚本,实现要求登录账号使用Linux系统中存在的账号。
以下是示例代码:
```bash
#!/bin/bash
# 定义函数,用于验证用户是否存在
function check_user {
# 读取输入的用户名
read -p "请输入用户名:" username
# 验证用户是否存在
if id "$username" &>/dev/null; then
echo "用户 $username 存在"
else
echo "用户 $username 不存在,请重新输入"
check_user
fi
}
# 显示登录界面
echo "******************************"
echo " 欢迎使用登录系统 "
echo "******************************"
# 调用函数,验证用户是否存在
check_user
# 读取输入的密码
read -s -p "请输入密码:" password
echo ""
# 验证密码是否正确
if su - "$username" -c "echo $password | sudo -S echo 'success'" &>/dev/null; then
echo "登录成功"
else
echo "用户名或密码不正确,请重新登录"
fi
```
该脚本首先会显示一个登录界面,然后提示用户输入用户名,通过调用 `check_user` 函数来验证用户是否存在。如果用户存在,则继续提示输入密码,通过 `su` 命令验证密码是否正确,如果正确则显示登录成功,否则提示用户名或密码不正确,请重新登录。
注意:该脚本需要以root权限运行,因为需要使用 `su` 和 `sudo` 命令来验证用户和密码。