第14章 Linux 用户管理知识与应用实践
思想:人性的本质就是需求的满足
13.10章节重点
(1)定时任务的时间及特殊字符书写语法。
(2)编写定时任务的众多要领,都是规范、
(3)两个企业故障案例总结
(4)调试cron定时任务的技巧总结
13.1 如何调制定时任务?
No space left on device常见企业故障案例
企业故障案例:程序通过手动可以执行,定时任务里不执行。
14.1 用户管理:
14.2 存储用户信息文件 /etc/passwd
14.3 /etc/shadow 用户组密码文件(ls -l /bin/sh)
14.4 /etc/group 用户组信息文件
14.5 /etc/gshadow 用户组密码文件
14.6useradd命令的常用介绍(/etc/login.defs,/etc/skel,/etc/default/useradd)
14.7 /etc/skel 目录,创建用户默认就会把此目录拷贝到/home/用户名下
14.8 /etc/login.defs 添加用户要用的文件(了解)
14.9 usermod 说明
14.9 useradd与usermod 实践
14.10 交互与非交互设置密码
14.11 企业场景下用户及密码管理思路
14.12 chpasswd 批量更改用户密码
作业:批量创建10个用户,oldboy01-oldboy10,请设置和用户名相同的密码
下节命令:
chage和passwd对比
groupadd
groupdel
id whoami w last lastlog
su sudo visudo
磁盘基础。
核心命令实战的书籍
思想:人性的本质就是需求的满足
我们寻找另一半,都是满足自己的动机,如果满足了(他)她的动机(需求),自然就可以追求到(他)她。这里的动机就是需求。
我们做事的本质就是为了自己,单纯完全为了别人做事,在心理学里是不存在的。人和人之间,只要能够持续互相满足需求,关系就会持久下去:男女之间亦是如此。
13.10章节重点
(1)定时任务的时间及特殊字符书写语法。
(2)编写定时任务的众多要领,都是规范、
(3)两个企业故障案例总结
(4)调试cron定时任务的技巧总结
13.1 如何调制定时任务?
(1).查看错误日志
/var/log/cron
学会最小化排除:
先清空,>/var/log/cron
然后在测试和观察。
(2).增加执行任务频率调试任务
把频率调快。
(3).把定时任务执行时间比当前时间拖后五分钟。
00 03执行,当前5:00,咱们就把时间调整到五点零五
(4).调整系统时间
00 03执行,把系统时间调到2:55
(5).通过脚本日志输出调试定时任务
注意点:有时候程序只能执行一次。一定要在测试环境测试好,然后直接复制到正式环境
代码发布流程:
办公室测试环境===>IDC机房测试环境====>IDC机房正式环境
防止在正式环境发生错误,从而影响用户体验,业务稳定。
No space left on device常见企业故障案例
磁盘满的报错,原因往往是Inode被占满了。
因为定时任务没有加&>/dev/null,定时任务执行的时候把输出给系统root 发邮件。
邮件服务器postfix服务默认不开,这些给系统发的邮件就会堆在临时目录(大量小文件存在)。
企业故障案例:程序通过手动可以执行,定时任务里不执行。
export变量生产案例
定时任务在执行脚本的时候,多数情况没办法加载环境变量,特别是/etc/profile.
登录后怎么操作都对,但是就是放到定时任务不行
命令行:bash登录方式
1.手工登陆后,加载所有环境变量(~/.bash_profile,/etc/profile,/etc/bashrc)
2.定时任务执行脚本属于非登录状态(/etc/bashrc)。
实践检验。定时任务能否加载/etc/bashrc和/etc/profile.
所有运维都会把变量放到此文件/etc/profile,把这个文件里的变量定义
在执行的脚本中重新定义。
作业题:
14.1 用户管理:
(1) 用户相关文件:
/etc/passwd 用户所在文件
/etc/shadow 密码所在文件
useradd oldboy 添加用户实际上就是修改上述两个文件
passwd oldboy 改密码实际上就是修改密码所在文件
(2)用户组相关文件:
/etc/group 用户组所在文件
/etc/gshadow 用户组密码所在文件(废弃状态)
useradd oldboy 添加用户实际上就是修改上述两个文件(因为要创建同名的用户组)
groupadd sa 添加用户组就是修改上述两个文件
14.2 存储用户信息文件 /etc/passwd
查看用户信息:cat /etc/passwd
ps:有关bash解释器相关知识
Linux是命令行管理,平时输入ls,cp,谁识别,帮我们把我们想要的输出呢?
这个工具就是bash (命令行解释器)。 * ? 【abc】
用户登录:输入指令,希望哪个解释器(结尾列决定)
/etc/passwd:bingbing:x:1003:1005::/home/bingbing:/bin/bash
centos7默认解释器是bash
bash 是sh的扩展,sh是bash 的软链接
14.3 /etc/shadow 用户组密码文件(ls -l /bin/sh)
cat /etc/shadow (查看shadow信息)
14.4 /etc/group 用户组信息文件
14.5 /etc/gshadow 用户组密码文件
14.6useradd命令的常用介绍(/etc/login.defs,/etc/skel,/etc/default/useradd)
useradd命令行的配置文件(etc/default/useradd文件)
默认shell就是/bin/sh
为什么默认的家目录在Home下
为什么默认的家目录/home/用户名下面有很多隐藏文件
就是/etc/default/useradd文件配置的。
修改/etc/default/useradd文件配置
1.useradd -D -s /bin/sh
2.vim /etc/default/useradd 添加用户的默认配置文件
14.7 /etc/skel 目录,创建用户默认就会把此目录拷贝到/home/用户名下
/etc/skel 为每个用户提供用户环境变量的目录。
ls /etc/skel -A
(1)登录系统后,命令行出现如下提示:为什么?
[root@oldboyedu /home/chenglong1]# su - chenglong1
-sh-4.2$
-sh-4.2$
解答:用户的环境变量缺失导致的。
执行如下命令解决
-sh-4.2$ cp /etc/skel/.bash* .
-sh-4.2$source ./.bash_profile ./.bashrc 让拷贝过来的环境变量生效(C7)
[chenglong1@oldboyedu ~]$
[chenglong1@oldboyedu ~]$
14.8 /etc/login.defs 添加用户要用的文件(了解)
14.9 usermod 说明
14.9 useradd与usermod 实践
[root@oldboyedu ~]# useradd -u 999 -s /bin/sh -M -g sa -c "老男孩" -e "2019/5/1" zongsheng
useradd: UID 999 is not unique 提示UID不唯一
You have new mail in /var/spool/mail/root
[root@oldboyedu ~]# useradd -u 9999 -s /bin/sh -M -g sa -c "老男孩" -e "2019/5/1" zongsheng
[root@oldboyedu ~]# tail -1 /etc/passwd
zongsheng:x:9999:1003:老男孩:/home/zongsheng:/bin/sh
[root@oldboyedu ~]# id zongsheng
uid=9999(zongsheng) gid=1003(sa) groups=1003(sa)
[root@oldboyedu ~]# chage -l zongsheng
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : May 01, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
14.10 交互与非交互设置密码
交互设置密码:
[root@oldboyedu ~]# echo 123456|passwd --stdin oldgirl
Changing password for user oldgirl.
passwd: all authentication tokens updated successfully.
不交互设置密码:
方法2:
[root@oldboyedu ~]# echo 123456 >pass
[root@oldboyedu ~]# cat pass
123456
[root@oldboyedu ~]# passwd --stdin oldgirl Changing password for user oldgirl. passwd: all authentication tokens updated successfully. 14.11 企业场景下用户及密码管理思路 用户密码要足够复杂,最好8位以上字母(含大小写)、数字、特殊字符的组合。 较大的企业用户和密码可以统一管理(采用微软活动目录或openldap开源工具)。 动态密码:动态口令,需要时登录到动态口令系统中,及时申请获得密码,但如果若干时间内不操作服务器,密码就会失效。 14.12 chpasswd 批量更改用户密码 作业:批量创建10个用户,oldboy01-oldboy10,请设置和用户名相同的密码 下节命令: chage和passwd对比 groupadd groupdel id whoami w last lastlog su sudo visudo 磁盘基础。 核心命令实战的书籍