[英]How to add user in linux pc using shell script in php
我試圖將用戶添加到我的局域網PC(ubuntu 14.04)中,但是失敗了。 例如說:
mypc:192.168.0.11服務器pc:192.168.0.100
我可以使用Shell腳本將用戶創建為“ mypc”。 但是,當我嘗試連接並將用戶添加到“ serverpc”中時:返回“無法添加用戶!”。 我正在使用PHP:
這是我的方法:
public function test_ldap(){
$username = escapeshellarg('different');
$password = escapeshellarg('different');
#$udomain = 'edutechsolutionsbd.com';
$u_domain = '192.168.0.100';
$u_user = 'etsb';
$output = exec("sudo shell_script/add_user.sh $username $password $u_domain $u_user 2>&1");
#$output = shell_exec("/usr/bin/php -v");
print_r($output);
exit;
}
外殼腳本::
#!/bin/bash
# Script to add a user to Linux system
# -------------------------------------------------------------------------
# Copyright (c) 2007 nixCraft project <http://bash.cyberciti.biz/>
# This script is licensed under GNU GPL version 2.0 or above
# Comment/suggestion: <vivek at nixCraft DOT com>
# -------------------------------------------------------------------------
# See url for more info:
# http://www.cyberciti.biz/tips/howto-write-shell-script-to-add-user.html
# -------------------------------------------------------------------------
if [ $(id -u) -eq 0 ]; then
username=$1
password=$2
u_domain=$3
u_user=$4
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
sudo ssh $u_user@$u_domain "useradd -m -p $pass $username"
[ $? -eq 0 ] && echo "User is Created Successfully!" || echo "Failed to add a user!"
fi
else
echo "Only root may add a user to the system"
exit 2
fi
我的問題:如何在ubuntu的另一台PC中創建用戶? 提前致謝。
根據我的經驗,PHP的exec()
函數不支持帶有sudo
高權限標志的運行任務。 我將www-data
用戶(即Web服務器應在其下運行的用戶)添加到您使用命令sudo visudo -f /etc/sudoers
在計算機上打開的/etc/sudoers
文件中,然后在該行下方includedir /etc/sudoers.d user_name ALL=(ALL)
。
然后我添加了以下行...
www-data ALL=(ALL) NOPASSWD: ALL
基本上,您正在做的是將www-data用戶添加到sudoers列表中,並允許其訪問sudo命令並在提升的特權下運行。
但是,我應該指出,這是非常危險的更改,因為這意味着任何人都可以使用Web服務器的用戶來訪問提升的特權,如果這是面向公眾的服務器,則存在巨大的風險,因此請格外小心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.