精华内容
下载资源
问答
  • linux shell脚本创建用户
    千次阅读
    2022-01-08 11:50:07

    Linux中shell脚本训练

    • 执行users_create.sh userlist passlist

    • 建立userlist列表中的用户

    • 设定userlist列表中的密码为passlist列表中的密码

    • 当脚本后面跟的文件个数不足两时,报错

    • 当文件行数不一致时报错

    • 当文件不存在时报错

    思路:建立两个file文件userlist、passlist 在文件中分别写入用户名和密码,建立users_create.sh名字的 shell脚本实现报错信息和添加用户。

    Vim userlist
    User1
    User2
    User3
    Vim passlist
    123456
    234567
    345678
    Vim users_create.sh
    
    #!/bin/bash
    if
    	[ "$#" != 2 ]						##如果输入的文件数量不等于2
    then
    	echo "please input userfile and passfile!!!" 			
    	exit
    elif
    	[ ! -e "$1" ]						##如果userlist 不存在
    then
    	echo "$1 is not exist !!!"
    	exit
    elif
    	[ ! -e "$2" ]						##如果passlist不存在
    then
    	echo "$2 is not exist !!!"
    	exit
    elif
    	USER_LINE=`awk "BEGIN{N=0}{N++}END{print N}" $1`			##USER_LINE存储userlist行数
    	PASS_LINE=`awk "BEGIN{n=0}{n++}END{print n}" $2`			##PASS_LINE 存储passlist 行数
    	[ "$USER_LINE" != "$PASS_LINE" ]						##比较行数是否相等
    then
    	echo "用户和密码个数不匹配"
    	exit
    else
    	for LINE in `seq 1 $USER_LINE`					##循环 从第一行到最后一行
    	do
    		USERNAME=`sed -n ${LINE}p $1` 			
    		PASSWORD=`sed -n ${LINE}p $2`			
    		useradd $USERNAME &&{
    		echo $PASSWORD | passwd --stdin $USERNAME &>/dev/null && echo $USERNAME CREATED!!
    	} ||{
    		echo $USERNAME is exist!
    		}
    	done
    fi

    sh users_create.sh userlist passlist   ## 执行脚本 传参两个文件 

    更多相关内容
  • 今天小编就为大家分享一篇在linux shell脚本中root切换到普通用户执行脚本或命令的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的最新特性进行了全面更新,不仅涵盖了...
  • 当我们在linux平台上开发一些项目...如果此时用脚本来维护这些account,就会简化一些不必要的操作,大家应该都知道在linux如果手动添加用户都会涉及到一个交互的操作,无论你是用useradd命名或者直接操作/etc/passwd 或

    当我们在linux平台上开发一些项目时,或者有一些项目是需要部署到linux系统上时,有时候会涉及到linux上的特定的账户,例如有一些项目需要运行在某些特定的账户下,或者有时候需要在全新的环境上搭建一些环境(例如:LAMP)linux+apache+mysql+php 时都可能会涉及到需要添加一些账户信息。如果此时用脚本来维护这些account,就会简化一些不必要的操作,大家应该都知道在linux如果手动添加用户都会涉及到一个交互的操作,无论你是用useradd命名或者直接操作/etc/passwd 或 /etc/shadow 文件。那么这里就以用脚本创建FTP账户为例。

    1.首先需要检查你创建的账户是否已经存在该系统上,常见的办法是通过解析/etc/passwd文件确定。当然在linux上如果想实现此操作的方式有很多种,这里就以常见命令组合来完成。借助linux上的cat、awk、grep 来实现此步骤,关于这些命令可以查l命令本身帮助文档 用  “命令 --help” 或者是通过 man 的方式 。代码如下(以创建demo_ftp账户为例):

    /bin/cat /etc/passwd | /bin/awk -F ':' '{print $(1)}' | /bin/grep -E "^$FTP_USER$"

    这里FTP_USER是一个变量,里面存储的是demo_ftp, cat命令是读取整个passwd文件,然后通过管道命令传递给awk命令,这里用-F是以“:”分隔那些信息,因为在paswwd文件的对于每一行的存储格式都是多个单元用"":"链接的。简单的理解就相当于php中explode函数和js中的spilt,其中print $(1) 就是打印第一列信息。然后将第一列信息在传递给grep命令,-E代表可以使用正则表达式,这是就以这个账户开始和结束(唯一确定一个账户)。

    2.如果在shell中执行此命令,需要用``(键盘上Esc键下面那个字符)这个符号来把那个命名包装起来,该命名就返回该账户的信息(前提是该账户已经存在),否在返回空。在此可以做一个判断决定是否创建该账户。

    3.如果该机器上没有账户就需要创建,创建命令如下:

    #create folder if not exist
    mkdir -p $FTP_FOLDER;
    /bin/chmod 777 -R $FTP_FOLDER;
    #create user if not exist
    /usr/sbin/useradd -c 'FTP User create by shell' -d $FTP_FOLDER -s /sbin/nologin $FTP_USER >/dev/null 2>&1;
    echo $FTP_PASSWORD | /usr/bin/passwd $FTP_USER --stdin >/dev/null 2>&1;    

    FTP_FLODER代表了该FTP账户默认对外提供访问的folder,可以用mkdir -p 命名来创建它,如果该folder存在,该命令就不会创建。chmod命令就是给该folder授权,一般情况下不需要这步,除非有特殊需求。接下来的2行命令就是创建账户的核心。其中-c代表描述信息,-d代表该账户对外提供的访问空间,-s 代表了禁用该账户通过SSH登录,后面的 2 > &1 重定向标准输出和错误信息到伪设备中。如果对这个不熟悉可以在网上查找。最后一行就是给该用户创建密码。

    到此步骤完了,但然你还可以通过这样一个脚本完成许多对该账户的特殊设置。

    下面一张截图关于整个过程:

    展开全文
  • 创建 test_sql.properties 作为shell脚本的外部配置参数修改: [andya@liunx01 sql_sh]$ vim test_sql.properties # set parameters start # 1 db name dbName="db01" # 2 the valueof net spee
  • Linux shell脚本 批量创建多个用户

    千次阅读 2019-09-29 18:59:49
    Linux shell脚本 批量创建多个用户 1 #!/bin/bash 2 groupadd charlesgroup 3 for username in charles1 charles2 charles3 4 do 5 useradd -G charlesgroup $username 6 echo "baita...

    Linux shell脚本 批量创建多个用户

     

     

     

    1 #!/bin/bash
    2 groupadd charlesgroup
    3 for username in charles1 charles2 charles3
    4 do
    5         useradd -G charlesgroup $username
    6         echo "baitang" | passwd --stdin $username
    7 done

     

    如有问题,欢迎纠正!!!

    如有转载,请标明源处:https://www.cnblogs.com/Charles-Yuan/p/9847053.html

     

    转载于:https://www.cnblogs.com/Charles-Yuan/p/9847053.html

    展开全文
  • 通过循环输出语句构造用户信息文件和密码信息文件,然后直接应用newusers命令批量建立用户,用chpasswd命令批量设置初始密码。 关键技术:用echo命令和重定向输出构造用户信息文件和密码信息文件。 echo “$uname:x:...
  • 手动创建用户的过程分析 手动添加pig(5005),基本组hive(5005) 1.添加/etc/passwd ...通过shell程序实现创建用户 #!/bin/bash #创建pig用户UID(5005),GID(5005) USERNAME='pig' PASSFILE='/etc/passwd' GRP

    手动创建用户的过程分析

    手动添加pig(5005),基本组hive(5005)
    1.添加/etc/passwd
    2.修改/etc/group
    3.修改/etc/shadow
    4.复制/etc/skel为/home/pig
    5.修改/home/pig属主属组为pig
    6.修改/home/pig属组和其它用户为无权限

    通过shell程序实现创建用户

    #!/bin/bash
    
    #创建pig用户UID(5005),GID(5005)
    USERNAME='pig'
    PASSFILE='/etc/passwd'
    GRPFILE='/etc/group'
    SHADOWFILE='/etc/shadow'
    # 生成用户密码,密码为123456
    USERPASS=`echo '123456' | openssl passwd -1 -salt '12345678' -stdin`
    #将用户基本信息分别写入/etc/passwd,group,shadow
    echo "$USERNAME:x:5005:5005::/home/$USERNAME:/bin/bash" >> $PASSFILE
    echo "$USERNAME:x:5005:" >> $GRPFILE
    echo "$USERNAME:$USERPASS:18631:0:99999:7:::" >> $SHADOWFILE
    #拷贝/etc/skel目录,生成用户家目录
    cp -r /etc/skel /home/$USERNAME
    #修改用户家目录的权限,属主,属组
    #修改属组和其他人没有权限为了不让其他人随便进入用户家目录
    chmod -R go= /home/$USERNAME
    chown -R $USERNAME:$USERNAME /home/$USERNAME
    echo 'USER:$USERNAME create successfully'
    
    
    展开全文
  • 简单明了,一看就会
  • #!/bin/bash dirpath="/opt/gjoy" if [ ! -d ${dirpath} ]; then mkdir -p ${dirpath} fi cd ${dirpath} pName=$(rpm -qa | grep 'expect') if [ $? -eq 0 ]; then echo "软件包"expect"已经安装" ...
  • 输入不存在用户名时,创建用户,并打印‘用户创建成功’ 不输入密码,设置默认密码为123456 输入密码后打印‘密码创建成功’ 一、创建add_user.sh文件并编辑 touch add_user.sh vim add_user.sh
  • linuxshell脚本创建用户

    千次阅读 2019-01-27 07:50:41
    Linux创建用户 创建一个以adduser.sh的文件,并授权 # vi adduser.sh # chmod +x adduser.sh 脚本内容如下:   #! /bin/bash #功能: #1.新增一个用户,用户名手动传入,密码和用户名一样; #2.静默执行,除...
  • 批量创建用户 #!/bin/bash for i in `seq 1 50` do useradd username$i ; echo username$i | passwd username$i --stdin; done 批量删除用户 #!/bin/sh i=1 while [ $i -le 50 ] do userdel -r username${...
  • Linux命令行与shell脚本编程大全(第3版)》是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。 《Linux...
  • Linux 命令或语句放在一个文件中,通过这个程序文件去执行,这个程序为 shell 脚本shell 程序;可以在脚本中输入系统的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机结合起来就形成了一...
  • 注意事项 1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格;多加注释说明。 3)命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。 4)默认变量是全局的,在函数...3 批量创建用户 4
  • linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]

    万次阅读 多人点赞 2021-09-28 10:53:50
    关于作者**作者介绍**一、shell 入门简介1.1 什么是shell1.2 shell 编程注意事项1.3 第一个shell 脚本 hello world二、shell 环境变量讲解2.1 shell 变量详解2.2 shell 系统变量 介绍2.3 shell 环境变量 介绍2.3.1 ...
  • Linux shell 自动创建目录脚本

    千次阅读 2020-12-22 10:36:26
    Linux shell 自动创建目录脚本。 写一个脚本,实现创建目录的功能,目录的名称由用户给出,需要对如下情况进行判断处理: 用户没有给出参数 用户给出的目录名称是否在当前目录存在,如果存在,提示用户重新>创建...
  • 初学者Shell脚本创建及运行代码
  • Linux中,Shell脚本非常!非常重要!!!(我们一起学习哈) 在写Shell脚本的过程中,掌握最基本的脚本语法,是完成Shell脚本的关键基础所在。但是,掌握Shell脚本的基础内容,也不是一蹴而就的!需要长期来练习,...
  • 步骤1:选择文本编辑器使用文本编辑器编写Shell脚本。在Linux系统上,有一些可供选择:Vim,Emacs,Nano,Pico,Kedit,Gedit,Geany,Notepad ++,Kate,Jed或LeafPad。选择文本编辑器后,启动文本编辑器,打开一个...
  • 是一本关于Linux命令行与shell脚本编程的全面教程。本书主要内容包括:在命令行上工作并学习基本的shell命令;...从网站提取数据并在系统间发送数据:创建有专业水准的shell脚本,适应现实环境的挑战。
  • 做了一个shell脚本定时维护数据库的案例,用于之后复习和应用。 脚本需求如下: #数据库定时备份 #备份路径 BACKUP=/data/backup/db #获取当前时间作为文件名 DATETIME=$(date +%Y_%m_%d_%H%M%S) echo “=开始备份=...
  • 如何在Linux shell脚本中提示用户输入

    千次阅读 2021-05-08 23:54:46
    本篇文章给大家介绍关于如何在Linux shell脚本中提示用户输入?下面来看具体的内容。我们首先来看一下命令# read var# read -s “Waiting for input: ” var用途:read命令用于在Linux shell脚本中获取用户输入。带...
  • 本文主要对linux-shell脚本命令中的grep命令进行简介,希望对您有所帮助。
  • Linux shell脚本中提示用户输入的方法发布时间:2020-08-26 14:23:20来源:亿速云阅读:105作者:小新小编给大家分享一下在Linux shell脚本中提示用户输入的方法,相信大部分人都还不怎么了解,因此分享这篇文章给...
  • 如何在 Linux创建 Shell 脚本

    千次阅读 2021-07-30 17:35:43
    你想在你的 Linux 系统中创建一个 Shell 脚本吗? 本指南将带您了解如何使用多个文本编辑器创建 shell 脚本、如何添加注释以及如何使用 Shell 变量。 但是在开始创建 shell 脚本之前,让我们了解 Linux 中的 Shell...
  • 本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和调整。以下为具体的示例及其方法。 1、将SQL语句直接嵌入到shell脚本文件中 代码...
  • Linuxshell脚本实战之批量新建用户一、脚本要求二、脚本内容三、运行脚本 一、脚本要求 二、脚本内容 三、运行脚本 一、脚本要求 1.使用提供的user.txt用户列表 2.批量新建user.txt中用户 二、脚本内容 1.查看用户...
  • Q:1 Shell脚本是什么、它是必需...答:在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的。使用chsh命令可以改变默认的shell。示例如下所示: # chsh <username> -s # chsh linuxtechi -s /bin/sh

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 181,756
精华内容 72,702
关键字:

linux shell脚本创建用户