繁体   English   中英

在LINUX OS中从JAVA应用程序创建用户

[英]create user from JAVA application in LINUX OS

我想创建一个新用户,并从我的Java应用程序中提供passwd,该应用程序是使用Linux OS中的JAVA开发的。 也许java调用了shell脚本?

在Linux中创建用户的Java代码

public static void main(String[] args) {
    try {

        ProcessBuilder pb = new ProcessBuilder("sudo useradd username",
                "sudo mkdir /home/username", "sudo passwd username",
                "sudo chown username /home/username",
                "sudo chgrp username /home/username",
                "sudo adduser username", "sudo adduser username sudo");
        pb.redirectErrorStream();
        Process process = pb.start();
        InputStream inputStream = process.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                inputStream));
        String line = null;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        process.waitFor();

    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

使用终端创建/删除用户帐户

  1. 添加用户帐户

    • 您可以使用以下命令从终端添加用户帐户:

    sudo useradd用户名

用您选择的任何名称替换用户名。

  • 使用以下命令为此新用户创建主目录:

    sudo mkdir / home /用户名

现在使用以下命令为此用户分配密码:

sudo passwd用户名

使用以下两个命令授予该用户所有权并访问其主目录:

sudo chown用户名/ home / username

sudo chgrp用户名/ home /用户名

您还可以使用以下命令创建新的用户帐户:

sudo adduser用户名

向用户帐户授予根特权(可选)

如果要授予用户帐户root特权,以便它可以执行“ sudo”命令,请运行以下命令:

sudo adduser用户名sudo

使用Java Process类执行所有命令

进程p = Runtime.getRuntime()。exec(“ ///// command /////”);

添加用户的示例Shell脚本基于上面的讨论,这里是示例Shell脚本

#!/bin/bash
# Script to add a user to Linux system
if [ $(id -u) -eq 0 ]; then
read -p "Enter username : " username
read -s -p "Enter password : " password
egrep "^$username" /etc/passwd >/dev/null
if [ $? -eq 0 ]; then
    echo "$username exists!"
    exit 1
else
    pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
    useradd -m -p $pass $username
    [ $? -eq 0 ] && echo "User has been added to system!" || echo "Failed    to add a user!"
    fi
else
echo "Only root may add a user to the system"
exit 2
fi

关闭并保存脚本:$ ./adduser.sh

只有root可以将用户添加到系统

以root身份运行:

。/添加用户

输出:

Enter username : manaf
Enter password : HIDDEN
User has been added to system!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM