您的位置:首页 > 运维架构 > Shell

Shell编程通过批量创建用户的实验看Linux家目录和根目录的区别

2020-07-04 17:05 417 查看

Shell编程通过批量创建用户的实验看Linux家目录和根目录的区别

在完成此次实验之前首先明确Linux当中两个操作概念:
家目录:→Linux中的“~”,cd ~ 即可切换到当前用户的家目录,之后pwd,发现路径为/home/当前用户名,ls后是当前用户上的一些文件,如:

根目录:→Linux中的“/”, cd / 即可切换到根目录,之后pwd,发现路径为/
,ls后是:
可以看到,根目录底下包括了home 和root(root用户的家目录在/root下),因此根目录是目录的最高层,所有文件都在根目录下面,而根目录下有bin,etc,root,mnt,dev,var等,根目录包括家目录

实验过程

环境:

CentOS7 64位

需求:

批量新建5个用户stu1~stu5,要求这几个用户的家目录都在/rhome

前提:

由于是要创建新的用户,要用到useradd 命令,这个命令的权限只有管理员才有,所以要提前进入root

脚本:

脚本文件命名为piliang.sh

#!/bin/bash
#判断/rhome是否存在
[ -f /rhome ] && mv /rhome /rhome.bak#r若存在,先将这个rhome改名,因为如果让这个rhome继续存在,就创建不了新的用来做实验的rhome了。
test ! -f /rhome -a ! -d /rhome && mkdir /rhome#判断是否有名为rhome文件或目录,如果没有,就新建一个名为rhome的目录
#创建用户,循环5次
for ((i=1;i<=5;i++))
do
useradd -d /rhome/stu$i stu$i#useradd -d 家目录 用户名:是创建新的用户,并指定新的用户的家目录
echo 123|passwd --stdin stu$i#非交互的给每个新的用户设置密码:echo 密码|passwd --stdin 新的用户名(此命令不适用Ubuntu)
done

过程:

su root→输入管理员密码
vim piliang.h →编辑脚本文件
chmod +x piliang.h :赋予执行权限
bash -x piliang.h 执行脚本

执行完后,如果在root里面su stu&i 切换到新建好的用户stu1后,ls的话会报错,说权限不够

此时应该用cd ~再用户stu1的基础上切换到当前用户stu1的家目录(因为如果不这样做的话,当前位置还是root的家目录),等于说是将当前位置由root的家目录切换到stu1的家目录。
之后再ls,便可以了,也可以在切换到stu1的家目录后mkdir 1 创建一个目录,然后ls 可以看到这个1。

结论:

当然,在切换到家目录后,便可pwd了,发现

再次切换到根目录

cd 到/rhome,然后ls,发现新建立的5个用户都在:

再cd一下stu1可发现刚刚在stu1家目录里的目录1也在:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: