linux学习笔记(九)

1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www

[root@VM_0_14_centos soft]# sh create_magedu.sh magedu /www
magedu
/www
id: magedu: no such user
magedu CREEATED!HOME DIRECTORY IS /www 
[root@VM_0_14_centos soft]# cat create_magedu.sh 
#!/bin/bash
#auther: zhs
#time: 2020/2/26
USER_NAME=$1
USER_HOME=$2
if [[ $# -lt 2 ]];then 
    echo "You need to input two arguments:username and directory!"
    exit 1
fi
if id -u $USER_NAME > /dev/null 2>&1;then
    echo "$USER_NAME ALREADY EXISTS !"
else
    useradd -d $USER_HOME $USER_NAME
    echo "$USER_NAME CREEATED!HOME DIRECTORY IS $USER_HOME "
fi
[root@VM_0_14_centos soft]# cat /etc/passwd |grep magedu
magedu:x:2004:2004::/www:/bin/bash

[root@VM_0_14_centos soft]# sh create_magedu.sh magedu 
You need to input two arguments:username and directory!
[root@VM_0_14_centos soft]#

2、使用expect实现自动登录系统。

[root@VM_0_14_centos soft]# sh ssh_expect.sh 
zhs.123456
spawn ssh zhs@172.16.0.14 df -h
zhs@172.16.0.14's password: 
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        50G   12G   35G  26% /
devtmpfs        909M     0  909M   0% /dev
tmpfs           920M   24K  920M   1% /dev/shm
tmpfs           920M  620K  919M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
tmpfs           184M     0  184M   0% /run/user/0
tmpfs           184M     0  184M   0% /run/user/1000
[root@VM_0_14_centos soft]# cat ssh_expect.sh 
#!/bin/bash

passwd='zhs.123456'
echo $passwd
/usr/bin/expect <<-EOF
spawn ssh zhs@172.16.0.14  df -h 
expect {
    "*yes/no" { send "yes\r";exp_continue} 
    "*password" { send "$passwd\r"}
}
expect eof
EOF
[root@VM_0_14_centos soft]# 

3、简述linux操作系统启动流程

参考这位大佬画的思维导图,很详细
linux启动流程

  1. post 加电自检,硬件信息

服务器打开电源后,post开始检查硬件是否故障,无问题则进入下一步,BIOS引导

  1. bootloader加载内核

    1. grub stage1 ,读取默认启动设备MBR 前446 字节(MBR前446),引导进去1.5阶段

    2. grub stage1.5,加载分区文件系统,主要存放文件系统驱动

    3. grub stage2,加载核心文件,以及驱动模块设备,进入/boot/grub/文件夹,根据配置文件grub.conf加载内核

  2. 内核引导

    1. 内核文件加载到内存并解压,/boot/vmlinuz-3.10.0-957.21.3.el7.x86_64
    2. initramfs-3.10.0-957.21.3.el7.x86_64.img,加载至内存并解压,获得虚拟根文件系统,此系统具有少量功能,可加载驱动模块
    3. 根据/boot/grub/grub.conf配置文件只读挂载根
    4. 切换真正根文件系统并以读写方式挂载
    5. 进入第一个初始化程序/sbin/init
  3. 系统初始化

    1. 执行init程序,并且根据/etc/inittab获取默认信息

    2. 执行/etc/rc.d/rc.sysinit初始化脚本

    3. 根据使用的运行模式,运行/etc/rc(n).d/S、K开头的服务(n为运行级别:0-6,主要运行级别为0 3 5)

    4. 执行/etc/rc.d/rc.local(最后运行的初始化脚本)脚本,里面包含自主设定的一些内容

  4. Login 用户登录

4、破解centos7 密码。

  1. 单用户模式,可以无密码登陆机器,直接password修改root密码
  2. 光盘启动,进入救援模式,找到密码文件,将密码字段置空即将root设置为空密码,重启机器
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容