栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux实训项目二 题一(Linux系统用户管理策略分析)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux实训项目二 题一(Linux系统用户管理策略分析)

1 、实训内容

(1)创建1个组群账户,取名stugrp,设置GID=610;

(2)批量创建50个用户stu001,stu002,…,stu050,设置其UID=510,511,512,…,559。并设置GID=610,设置用户主目录为/home/stu001,… ,/home/stu050,

设置shell为/bin/bash。
2 、设计要求

(1)请分析下面几种不同解决方案的实现过程;选取两种方案分析各自优缺点。

(2)将以上两个方案运行结果截图放到课程设计报告中。

(3)根据要求编写课程设计报告(WORD文档)上交。
3 、设计思路

批量创建用户,必须在建立用户后,考虑为用户设置初始密码。以下提供了几种方法,请设计一个shell程序,列出菜单选择一种方法实现批量用户添加。添加用户数由键盘输入(小于100),并输入用户名前缀,如stu,wrk等等,则用户名为stu01,stu02,……,wrk01,wrk02,……。

方法一:通过直接修改用户信息文件方式,即修改组信息文件/etc/group和用户信息文件/etc/passwd、用户加密口令信息文件/etc/shadow等。此种方法亦可以通过shell程序实现,不必直接用编辑程序修改用户信息文件。

方法二:使用批量添加用户口令newusers,需要建立用户信息文件user.txt,步骤是:

(1)先用groupadd添加一个组用户stugrp:

(2)用vi编辑用户信息文件user.txt

  编辑完成,检查无误后保存并退出vi。

(3)使用newusers命令批量建立用户:

(4)为批量设置用户初始口令,编辑口令文件userpw.txt,设每个用户初始密码均设置为stu123。

 编辑完成,检查无误后保存并退出vi。

(5)执行下属命令完成初始密码建立工作:

方法三:通过shell编程方法实现批量用户添加

基本原理:应用useradd命令循环添加用户实现批量用户添加,然后,生成密码信息文件,在执行useradd命令后,执行一条如下命令:

echo “$uname:stu123”>>usrpw.txt

批量建立用户初始密码。由于passwd命令必须由键盘输入密码并重复输入,因此不适宜在shell程序中使用passwd命令。步骤如下:

(1) 画出程序流程图

  (2)编制shell程序脚本文件adduser.sh

        根据流程图,很容易写出shell脚本文件。

  (3)对脚本文件添加可执行属性

  (4)执行脚本文件

方法四:可先通过循环输出语句构造用户信息文件和密码信息文件,然后直接应用newusers命令批量建立用户,用chpasswd命令批量设置初始密码。

关键技术:用echo命令和重定向输出构造用户信息文件和密码信息文件。

(1)(瞎编)方法一可以使用shell程序采用for循环、while循环或if循环逐个创建用户与修改密码,有点是容易实现,缺点是占用系统资源大;
方法三是使用shell程序,批量创建完用户名与路径写在一个txt文档里,再创建一个密码文件写在txt文档,采用批量创建用户的命令创建,有点是占用资源小,缺点是编辑文档的shell代码容易出错。
方法一源代码:(无调试硬编可能会错)

#/bin/bash
uid=500
groupadd -g 610 stugrp
for((i=1;i<51;i++))
do
if [ "$i" -lt 10 ]
then
uname=stu0$i
else
uname=stu$i
fi
useradd -g stugrp -s /bin/bash -d /home/$uname -m $uname
echo “stu123”|passwd $uname 
done

方法三源代码:

#/bin/bash
uid=500
gid=610
groupadd -g $gid stugrp
for((i=1;i<51;i++))
do
if [ "$i" -lt 10 ]
then
uname=stu0$i
else
uname=stu$i
fi
    let "uid=uid+1"
    echo $uname:x:$uid:$gid:$uname:/home/$uname:/bin/bash>>user.txt
    echo $uname:stu123>>userpw.txt
done
echo "用户与密码文本生成成功"
newusers < user.txt #读取user.txt文本创建用户
pwunconv #暂时取消shadow加密
chpasswd < userpw.txt #读取userpw.txt为用户设置密码
pwconv #恢复shadow加密
echo "创建成功"

bash执行完出查询到批量创建的50个用户
运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941426.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号