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

时间:2015-10-28 08:11:54

标签: java linux

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

3 个答案:

答案 0 :(得分:4)

在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 :(得分:1)

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

  1. 添加用户帐户

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

    sudo useradd username

  2. 将用户名替换为您选择的任何名称。

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

        

      sudo mkdir / home / username

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

      

    sudo passwd username

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

      

    sudo chown username / home / username

         

    sudo chgrp username / home / username

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

      

    sudo adduser username

    将root权限授予用户帐户(可选)

    如果您想为用户帐户授予root权限,以便它可以执行" sudo"命令,运行此命令:

      

    sudo adduser username sudo

    使用java Process class

    执行所有命令

    进程p = Runtime.getRuntime()。exec(" ////命令////");

答案 2 :(得分:0)

用于添加用户的示例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身份运行:

  

./ adduser的

输出:

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