簡體   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