1.1 定时任务
1.1.1 1.定时备份
1.1.2 2.定时执行命令
1.1.3 3.书写排错流程
1.1.4 4.企业故障案例: 定时任务没有定向到空或追加到文件
1.1.5 5.企业故障案例: 书写重启tomcat(java程序)定时任务
第2章 面试题:如何让一个脚本开机自启动
2.1 /etc/rc.local
(Centos 7 给 /etc/rc.d/rc.local 加上执行权限)
2.2 Chkconfig
2.3 如何通过chkconfig 管理开机自启动
2.3.1 脚本存放在/etc/init.d/
2.3.2 脚本要有执行权限
chmod +x /etc/init.d/oldboyd
2.3.3 增加chkconfig要求的格式
# chkconfig: 2345 99 98
启动顺序 关机顺序
[root@oldboyedu50-lnb ~]# cat /etc/init.d/oldboyd
# chkconfig: 2345 99 98
echo oldboy
2.3.4 加入到chkconfig管理与检查
[root@oldboyedu50-lnb ~]# chkconfig --add oldboyd
[root@oldboyedu50-lnb ~]# chkconfig |grep oldboy
oldboyd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2.4 小结:
面试题:如何让一个脚本开机自启动
1./etc/rc.local
2.chkconfig
3.如何通过chkconfig管理
1)脚本/etc/init.d/ 且 有执行权限
2)符合chkconfig格式
# chkconfig: 2345 99 99
3)添加到chkconfig管理并检查
2.4.1 回顾:
如何彻底关闭 iptables 和 selinux
第3章 用户管理:
3.1 用户分类:
UID
root 0
虚拟用户 1-499 命令解释器/sbin/nologin
服务/程序 运行所需要的用户
普通用户 500
3.2 命令
3.2.1 Useradd
Useradd命令用于Linux中创建新的系统用户
语法:
Useradd (选项)(参数)
选项:
-u <uid> 指定用户uid
-s<shell > 命令解释器 (默认是/bin/bash)
/sbin/nologin 虚拟用户
-M 不创建家目录 (sM)
-g 指定用户组名称
举例:
#添加一个用户lidao999 uid为999 禁止 登录系统不创建家目录
[root@oldboyedu50-lnb ~]# useradd -u 999 -s /sbin/nologin -M lidao999
[root@oldboyedu50-lnb ~]# grep lidao /etc/passwd
lidao999:x:999:999::/home/lidao999:/sbin/nologin
[root@oldboyedu50-lnb ~]# ll /home/lidao999
ls: cannot access /home/lidao999: No such file or directory
3.2.2 userdel 默认不会删除用户老家
userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件
语法
Userdel (选项)(参数)
选项
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
删除用户的老家 与邮箱
3.2.3 passwd 修改密码
passwd 命令用于设置用户的认证信息,包括用户信息、密码过期时间等
选项
--stdin 非交互式设置密码
passwd 一问一答 交互式
举例:
#非交互式设置密码
[root@oldboyedu50-lnb ~]# echo 123456|passwd --stdin oldboy
Changing password for user oldboy.
passwd: all authentication tokens updated successfully.
3.2.4 usermod 修改用户信息
与useradd类似
usermod命令用于修改用户的基本信息。Usermod命令不允许你改变正在线上的使用者账号名称
选项
-g<群组>:修改用户所属的群组
-G<群组>:修改用户所属的附件群组
-u<uid>:修改用户的ID
-c<备注>:修改用户账号的备注文字
#附加组 -G
[root@oldboyedu50-lnb ~]# id lidao999 #id 显示用户信息,uid,gid和属于的用户组
uid=999(lidao999) gid=999(lidao999) groups=999(lidao999)
[root@oldboyedu50-lnb ~]# usermod -G root,oldboy,www lidao999 附加组
[root@oldboyedu50-lnb ~]# id lidao999
uid=999(lidao999) gid=999(lidao999) groups=999(lidao999),0(root),500(oldboy),501(www)
#清空附加组
[root@oldboyedu50-lnb ~]# usermod -G lidao999
3.2.5 groupadd 添加用户组
groupadd 命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中
语法:
groupadd (选项)(参数)
选项:
-g:指定新建工作组的id
-r:创建
3.2.6 添加一个虚拟用户mysql 用户和用户组的uid 666
useradd -u 666 -s /sbin/nologin -M mysql
#groupadd -g 666 mysql
#useradd -u 66 -g mysql -s /sbin/nologin -M mysql
3.2.7 查询用户信息
id 显示用户信息 uid gid 和属于用户组
w 显示谁登陆系统 并 在干什么
last 所有用户的每次的登录情况
lastlog 所有用户最近一次的登录情况
3.3 文件和目录
3.3.1 文件
[root@oldboyedu50-lnb ~]# ll /etc/passwd /etc/group /etc/shadow /etc/gshadow
-rw-r--r-- 1 root root 1180 Aug 13 10:14 /etc/passwd #存放用户信息
-rw-r--r-- 1 root root 614 Aug 13 10:16 /etc/group #用户组信息 每个用户组里面有什么用户?
---------- 1 root root 873 Aug 13 10:49 /etc/shadow #用户密码信息
---------- 1 root root 501 Aug 13 10:16 /etc/gshadow #用户组密码信息
第4章 目录/etc/skel 每个新用户的家目录的模板
4.1 添加用户过程
useradd oldboy
4.1.1 创建家目录 修改权限 所有者
4.1.2 把 /etc/skel下面所有文件 复制到 oldboy家目录中
[root@oldboyedu50-lnb ~]# ll -a /etc/skel/
total 20
drwxr-xr-x. 2 root root 4096 Jul 10 18:21 .
drwxr-xr-x. 78 root root 4096 Aug 13 11:08 ..
-rw-r--r--. 1 root root 18 Mar 23 2017 .bash_logout #用户退出的时候 运行里面的命令
-rw-r--r--. 1 root root 176 Mar 23 2017 .bash_profile #/etc/profile
-rw-r--r--. 1 root root 124 Mar 23 2017 .bashrc #/etc/bashrc
4.2 模拟故障:
先把/etc/profile中的
PS1的行注释
[root@oldboyedu50-lnb ~]# useradd wc
[root@oldboyedu50-lnb ~]# su - wc
[wc@oldboyedu50-lnb ~]$ ll -a
total 20
drwx------ 2 wc wc 4096 Aug 13 11:19 .
drwxr-xr-x. 5 root root 4096 Aug 13 11:19 ..
-rw-r--r-- 1 wc wc 18 Mar 23 2017 .bash_logout
-rw-r--r-- 1 wc wc 176 Mar 23 2017 .bash_profile
-rw-r--r-- 1 wc wc 124 Mar 23 2017 .bashrc
[wc@oldboyedu50-lnb ~]$ \rm -f .bash*
4.3 重新登录:
[root@oldboyedu50-lnb ~]# su - wc
-bash-4.1$
-bash-4.1$
-bash-4.1$
4.4 如何解决:
在有故障的用户下面
cp /etc/skel/.bash* ~
第5章 临时成为root
sudo
oldboy用户 查看系统日志
1. sudo
2. cat(root) suid
3. 日志加上 r权限
4. root密码
sudo 尚方大宝剑(让普通用户以root运行某个命令 )
root 授予权限 oldboy进行测试
sudo -l #查看当前用户有什么大宝剑
[sudo] password for oldboy:
Sorry, user oldboy may not run sudo on oldboyedu50-lnb.
[oldboy@oldboyedu50-lnb ~]$ #你没有配置sudo
visudo ==== crontab -e
/etc/sudoers /var/spool/cron/root
#root用户 visudo 92行下面
5.1.1 #授予oldboy用户 ls,touch,mkdir
oldboy ALL=(ALL) /bin/ls, /bin/touch, /bin/mkdir
#oldboy进行测试
sudo ls /root/
5.1.2 #授予oldboy /bin/下所有命令
oldboy ALL=(ALL) /bin/*
#授予oldboy/bin/下所有命令,禁止使用vi和rm命令
oldboy ALL=(ALL) /bin/*, !/bin/rm, !/bin/su, !/bin/vi
5.1.3 #授予oldboy 系统所有命令并且不需要输入密码
oldboy ALL=(ALL) NOPASSWD:ALL
5.2 sudo 小结:
1.sudo授予权限精确到命令
2.授权所有 排除 不需要输入密码
3.su与su - 区别
5.3 用户审计 行为审计(记录用户操作)
跳板机 堡垒机