1.5python
用户管理mysql
内容:linux
1. 设置命令和脚本开机自启动web
2. 用户相关的配置文件和目录面试
3. 用户管理命令sql
4. sudo临时为普通用户提权shell
5. yum相关知识vim
1) 脚本放在/etc/rc.localcentos
2) chkconfig缓存
(1) 这个脚本 存放在 /etc/init.d下面
(2) 脚本要有x(执行)权限
(3) 脚本开始必须有能够被chkconfig识别的标记
(4) 把脚本加入到chkconfig管理
[root@oldboy init.d]# cat gao.sh 脚本存放在/etc/init.d下
date +%F
[root@oldboy init.d]# chmod +x gao.sh 给脚本x权限
[root@oldboy init.d]# ls -l gao.sh
-rwxr-xr-x. 1 root root 9 Jan 5 02:44 gao.sh
[root@oldboy init.d]# chkconfig --add gao.sh 将脚本添加自启动
service gao.sh does not support chkconfig 报错:chkconfig命令不支持
脚本必须有能够被chkconfig识别的标记
[root@oldboy init.d]# head /etc/init.d/iptables 找chkconfig管理命令的特色(以iptables为例)
#!/bin/sh
#
# iptables Start iptables firewall
#
# chkconfig: 2345 08 92 将此行添加至脚本
# description: Starts, stops and saves iptables firewall
[root@oldboy init.d]# cat gao.sh
date +%F
# chkconfig: 2345 08 92 - -del 删除自启动任务
[root@oldboy init.d]# chkconfig - -add gao.sh 添加自启动任务
[root@oldboy init.d]# chkconfig |grep "gao.sh" 查看
gao.sh 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig: 2345 08 92
2345运行级别 启动顺序 关闭顺序
小结
1.必须放在/etc/init.d 而且有执行权限
2.开头要有chkconfig要求格式
# chkconfig: 2345 99 99 (系统命令启动顺序有要求,本身建立的通常没事)
3.添加到chkconfig管理
root用户忘记密码如何解决
1. 单用户模式
https://blog.51cto.com/lidao/1932128
2. 救援模式
普通用户忘记密码
1. root用户修改
2. /etc/passwd 把第二列密码占位符删掉
id
cat /etc/passwd
建立一个用户 useradd oldboy
cp /etc/skel/* /home/oldboy 系统至关于会执行这个操做
ls -la /etc/skel
~/.bash_logout 用户退出系统的时候 Ctrl +d 会运行这个文件的内容
~/.bash_profile 做用同/etc/profile
~/.bashrc 做用同/etc/bashrc
1. sh 与 bash区别
[root@gao ~]# useradd test -s /bin/sh
[root@gao ~]# su - test
-sh-4.1$
2. 查看隐藏文件
[root@gao ~]# cd /etc/skel/
[root@gao skel]# ls .[^.]*
.bash_logout .bash_profile .bashrc
3. CentOs6.9下的shell
[root@gao skel]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
1.以下登陆环境故障的缘由及解决办法
-bash-4.1# cp /etc/skel/.bash* ~
-bash-4.1# logout
缘由:这个用户家目录下面与环境变量有关的文件 没了
模拟:
[root@oldboy ~]# rm -rf .bash*
[root@oldboy ~]# logout
[root@oldboy /]# su - root
-bash-4.1#
解决:
[root@oldboy ~]#cp /etc/skel/.bash* ~
[root@oldboy ~]#logout
[root@oldboy /]#su - oldboy
[oldboy@gao ~]$
2.oldboy用户的登陆环境故障,复制家目录模板权限不够
-s 指定用户的使用shell /bin/bash 默认 /sbin/nologin 添加虚拟用户
-M 不建立家目录 (虚拟用户)
-g 指定用户属于的组
-c 指定用户说明信息
-r 连窝端 删除与用户有关的全部信息(家目录)
在工做中,不要删除用户,可能会误删除用户数据
方法:在/etc/passwd 对应用户前加注释#
-c 指定说明信息
-s 修改用户登陆shell
-g 属于的家庭 用户的名字 --基本组
-G 属于多的家庭 --附加组
--stdin 从管道中获取用户的密码 (非交互式)
echo ‘123456’ |passwd --stdin oldboy 非交互式
1.密码复杂 12位以上字母数字特殊字符
2.保存密码
keepass 软件,密码存放在本地,,本地保险柜
lastpass 在线版本,,银行的保险柜
3.大的企业用户和密码统一管理(至关于活动目录(AD),openldap域)
4.动态密码:动态口令,第三方提供本身的开发也很简单
给重要的文件或命令作一个指纹
文件的内容变化 === 指纹变化
文件的内容变化 === 指纹变化
(1)给这个文件建立指纹
md5sum oldboy.txt
(2)如何快速的对比指纹
1)把你的指纹记录下来 md5sum oldboy.txt >finger.txt finger.txt是指纹库
2)如何进行对比 md5sum -c finger.txt
(3)定时任务+md5sum定时检查
-R 递归修改文件或目录的全部者和用户组
实例1-1 添加一个用户alex指定uid为888 禁止用户登陆系统 不建立家目录,用户说明信息为nologin CentOs
[root@gao skel]# useradd alex -u 888 -s /sbin/nologin -M -c "nologin CentOs"
[root@gao skel]# tail -1 /etc/passwd
alex:x:888:888:nologin CentOs:/home/alex:/sbin/nologin
实例1-2 企业场景:用户及密码管理 --指纹
方法:给重要的文件或命令,作一个指纹
原理:文件内容变化,指纹就会变化
步骤:
1. 建立指纹
[root@gao oldboy]# touch gao.txt
[root@gao oldboy]# md5sum gao.txt 为文件建立指纹
d41d8cd98f00b204e9800998ecf8427e gao.txt
2. 记录指纹
[root@gao oldboy]# md5sum gao.txt >police.log 将指纹记录到指纹库中
[root@gao oldboy]# echo 'I am a student'>gao.txt 改变文件内容
[root@gao oldboy]# md5sum gao.txt 再生成指纹
553ae6494e59791c64771d6e4ac36786 gao.txt
3. 根据指纹库指纹对比 -c = = = - -check
[root@gao oldboy]# md5sum -c police.log 指纹与指纹库对比,不匹配
gao.txt: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
[root@gao oldboy]# md5sum gao.txt>police.log 将新指纹输入到指纹库
[root@gao oldboy]# md5sum -c police.log 指纹与指纹库对比,匹配
gao.txt: OK
[root@gao oldboy]# >gao.txt 再次清空文件
[root@gao oldboy]# echo 'd41d8cd98f00b204e9800998ecf8427e gao.txt'>police.log
[root@gao oldboy]# md5sum -c police.log 将最开始指纹输入到指纹库,对比,匹配
gao.txt: OK
文件的指纹随内容的变化而变化
groupadd 建立用户组
-g 指定用户组的gid
linux中新建立用户默认uid=gid
[root@oldboy oldboy]# useradd -u 666 -s /sbin/nologin -M mysql
[root@oldboy oldboy]# id mysql
uid=666(mysql) gid=666(mysql) groups=666(mysql)
w每部分的含义
[root@gao oldboy]# w 最近1分钟 5 15 分钟
06:36:45 up 22:31, 2 users, load average: 0.00, 0.00, 0.00
错误 25 column window is too narrow 窗口过小
w
uptime
top 1.-P /默认按CPU排序 2.-M 按内存使用率排序
htop 加强版的top命令
iotop 显示系统中每一个进程使用的磁盘io
iftop 显示系统网络流量
ps aux cpu与内存的使用率 默认不排序
和sort -rnk2搭配 增长sort -h参数
sort -h 以人类可读的形式进行排序
-r 倒序/逆序 -n 把内容当作数字 进行排序
-k 指定某一列进行排序
例:查看占地大的文件或目录并按大小顺序排序
du -sh /*|sort -rhk1
last 哪一个用户 在何时 从哪里 远程登录你的系统 用户登陆的信息
lastlog 显示Linux中全部用户最近一次远程登陆的信息
模拟占用CPU
dd if=/dev/zero of=/tmp/100 bs=1k count=10000000
查看占地大的文件或目录并按大小顺序排序
du -sh /*|sort -rhk1
扩展:
history -c 清除命令行 历史记录
历史记录还被保存在日志里
总结:
1. 面试题-让一个脚本开机自启动?
2. 如何让一个脚本被chkconfig管理
3. 与用户有关的文件和目录
4. 案例提示:-bash-4.1$缘由及解决过程
5. 一堆命令
6. 添加虚拟用户
7. 查看系统性能命令 系统管理命令 进程管理命令
题目:
root用户密码忘记如何解决
1.单用户模式 √
https://blog.51cto.com/lidao/1932128
2.救援模式
2.批量添加3个用户stu01,stu02....stu10,并设置8位密码(禁止使用for,while等循环)
批量添加10个用户stu01,stu02....stu10,并设置8位随机密码(禁止使用for,while等循环)
visudo root授予尚方宝剑
sudo -l 普通用户查看尚方宝剑
root用户操做
visudo ==vim /etc/sudoers visudo命令授予普通用户权限
92gg 切换到文件的第92行
oldboy ALL=(ALL) /bin/ls,/bin/touch,/usr/bin/vim 授予用户命令权限
ALL授予全部权限 oldboy前加% 表示授予oldboy组权限
oldboy用户操做
sudo -l 查看拥有的尚方宝剑
输入oldboy密码
sudo ls /root 使用尚方宝剑
1./etc/passwd把root 密码占位符x删去,普通用户就能够随意登陆root
2.修改sudo 配置文件
oldboy ALL=(ALL) NOPASSWD: /bin/ls,/bin/touch,/usr/bin/vim
NOPASSWD ; (冒号空格)
sudo -k 清除密码缓存
visudo 授予oldboy用户权限
管理员登陆oldboy用户
sudo su - 切换到root身份
oldboy ALL=(ALL) /bin/*
oldboy ALL=(ALL) /bin/*, ! /bin/vi
su 切换用户的时候不更新环境变量
env 显示当前的环境变量
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
MAIL=/var/spool/mail/root
PWD=/root
su - 切换到root用户并更新环境变量
MAIL=/var/spool/mail/oldboy
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oldboy/bin
PWD=/home/oldboy
1.齐治的堡垒机:商业产品
2.gateone web 跳板机
3.python开发的开源的跳板机产品
开源跳板机(堡垒机) Jumpserver部署详解
alex写的crazyEYE
4.shell跳板机
日志,行为记录在本地 --谁什么时间对服务器进行什么命令
跳板机官网 (了解)
http://liftoffsoftware.com/Products/GateOne
http://demo.jumpserver.org
跳板机能够实现 sudo的功能
yum相关知识
yum从网上下载
yum下载软件的地方===yum源(软件仓库)
base CentOS-6 - Base 6,706
extras CentOS-6 - Extras 47
updates CentOS-6 - Updates 857
epel系统yum源的扩展 Extra Packages for Enterprise Linux 6 - x86_64 12,447
增长epel源方法:
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
备份
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
下载
http://mirrors.aliyun.com/help/epel 阿里云
https://mirror.tuna.tsinghua.edu.cn/help/epel/ 清华
http://ftp.sjtu.edu.cn/fedora/epel/ 上海交大
1. 网络问题,,慢
2. epel源是阿里
base extra updates 默认是国外的
解决:
更新默认yum源 到阿里找centos的软件包
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
小结:
1. yum源(软件仓库)
2. 如何更新base源 如何添加epel源
3. 常见的yum源 阿里 清华 网易 搜狐
直接下载软件
https://mirrors.aliyun.com/centos/6.9/os/x86_64/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm