gpt4 book ai didi

Linux bash从文件中读取然后将用户添加到linux

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:55 24 4
gpt4 key购买 nike

我想添加 Linux 用户,然后我想尽可能严格地限制他们。 (noshell 等)来自名为 users 的文件。

这是我的代码,但不起作用:

    while read line
do
input = echo ($input | tr ":" "\n")

#!/bin/bash
# Script to add a user to Linux system
if [ $(id -u) -eq 0 ]; then
if [ $? -eq 0 ]; then
echo "$username exists!"
exit 1
else
pass=$(perl -e 'print crypt($ARGV[0], "password")' $input[1)
useradd -m -p $input[1] $input[0]
[ $? -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
done < /var/www/users

然后我想用 noshell 限制他们的帐户。 (但我知道该怎么做。但我无法正确地将输入与文件分开:/)

输入(用户):

john:lol
rambo:sanyi
cula:kari

非常感谢!

最佳答案

我认为,下面的脚本就可以了:

#!/bin/bash

USERS=`cat /etc/passwd | cut -d: -f1`

if [ `id -u` -ne 0 ]
then
echo "Login as Root"
else
while read line
do
USER=`echo $line | cut -d ":" -f1`
PASS=`echo $line | cut -d ":" -f2`

echo $USERS | grep "${USER}" > /dev/null

if [ $? -eq 0 ]
then
echo "Username ${USER} Exists!"
else
password=`perl -e 'print crypt("${PASS}", "salt")', "\n"`
useradd -p "${password}" ${USER}

echo "User ${USER} created!"
fi

i+=1
done < /var/www/users
fi

关于Linux bash从文件中读取然后将用户添加到linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26075632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com