管理用户和组:

用户账户的作用:登陆操作系统;访问控制(不同的用户具备不同的权限)

组帐号的作用:方便对用户的管理

唯一的标示:UID;GID

管理员的UID: 0

普通用户UID: RHEL7从1000开始;RHEL6从500开始

组的分类:附加组(从属组;公共组) ; 基本组(私有组)

添加用户:

用户的基本信息存放在 /etc/passwd 文件

head -1 /etc/passwd 查看用户信息第一行

root:x:0:0:root:/root:/bin/bash 用户信息的基本格式,以下为格式的解读:

用户名:密码占位符:UID:GID:用户的信息描述:家目录:解释器程序 (用户的信息描述一般没有)


--使用useradd 命令:

常用的命令选项:

-u 用户UID

-d 家目录路径

-s 登陆Shell

-g 基本组

-G 附加组

useradd nsd01 添加用户nsd01

id nsd01 查看用户nsd01信息 (例如:uid=1003(lisi) gid=1004(lisi) 组=1004(lisi) )

grep 'nsd01' /etc/passwd 在文件中查看用户的信息(例如:lisi:x:1003:1004::/home/lisi:/bin/bash)

useradd -u 1200 nsd02 修改用户nsd02的UID值

useradd -d /opt/abc nsd02 修改用户nsd02的家目录路径

useradd -s /sbin/nologin nsd02 阻止用户登陆系统(sbin/nologin 是一条命令)

groupadd study 创建study组

useradd -g study nsd02 把用户指定到study组里面

useradd -G study nsd02 指定附加组

管道操作:将前面命令的输出结果,传输给后面命令,作为后面命令的参数

head -12 /etc/passwd | tail -5 读取passwd中的前12行,因为有管道的存在,又读取已经读的12行中的最后五行;

cat -n /etc/passwd | head -12 | tail -5 显示/etc/passwd/文件8-12行内容

• 使用 passwd 命令

1.交互式设置密码(设置的时候会有一问一答的存在)

passwd nsd01 为用户nsd01设置密码

2.非交互式设置密码(设置时不存在对话)

echo 123 | password --stdin nsd01 设置用户nsd01的密码为123

用户的密码信息存放在 /etc/shadow 文件中

• 使用 usermod 命令(它就是把所有选项放一起一起来修改用户的属性)
– usermod [选项]... 用户名

常用命令选项

-u 用户id

-d 家目录路径

-s 登陆Shell

-g 基本组

-G 附加组

usermod -u 1600 -d /opt/test -G study -s /sbin/nologin nsd12

删除用户;

• 使用 userdel 命令
– userdel [-r] 用户名

userdel nsd01 删除nsd01用户

userdel -r nsd02 也是用来删除用户的命令

组管理

一.添加组

 组基本信息存放在 /etc/group  文件中

grep 'study' /etc/group 查看study组的信息(study组是已经创建好的),下面为组的格式:

组的基本格式:study:x:1600:nsd01 (nsd01是一个已经添到组里面的用户)

格式的介绍: 组名:组的密码占位符:GID:组成员列表


• 使用 groupadd 命令(这个命令是用来添加组的,后面直接添组名)

– groupadd [-g 组ID] 组名

groupadd study 创建study组

• 使用 gpasswd 命令
– gpasswd -a 用户名 组名 (就是将用户添加到一个组里面去)
– gpasswd -d 用户名 组名 (就是将用户从组中删除)

gpasswd -a zhangsan study 把张三添加到study的组里去

gpasswd -d zhangsan study 把张三从study组中删除掉

二.删除组
• 使用 groupdel 命令
– groupdel 组名(删除已经创建的组很简单,groupdel 后面直接跟组名,就可以删掉)

groupdel study 删除study组

tar 归档及压缩

~归档的含义:将许多零散的文件整理为一个文件,文件的总大小基本不变;

~压缩的含义:按照某种算法减小文件所占用的空间大小;恢复时按照对应的逆向算法解压;

压缩的工具方法有三种,每种方法所压缩出来的文件类型也不一样,以下为三种方法,和对应的文件格式:

gzip ------------> .gz

bzip2------------> .bz2

xz--------------> .xz


tar 集成备份工具:

-c 创建归档

-x 释放归档

-f 指定归档文件名称

-z , j , J 调用.gz , .bz2 , .xz 格式的工具进行处理

-t 显示归档的文件清单

-P(大写) 保存归档内文件的绝对路径 (绝对路径就是,在以后释放里面的文件时,文件会按照之前归档时的文件路径释放,可能会导致释放后与当前文件覆盖,造成数据的丢失)

-C 指定tar包的释放位置


• 使用 tar -c ... 命令

tar -zcf 加备份文件.tar.gz 加被备份的文档

tar -jcf 备份文件.tar.bz2 被备份的文档

tar -Jcf 备份文件.tar.xz 备份的文档

tar -zcf /opt/file.tar.gz /boot/ /home/ 把boot和home的文件一起创建压缩包,压缩包的名字是自己命名的,并且自己手动选择压缩包的存放路径

tar -jcf /opt/file.tar.bz2 /boot/ /home/ 作用同上只是用的压缩工具不一样

tar -Jcf /opt/file.tar.xz /boot/ /home/ 同上

tar -xf /opt/file.tar.gz -C /mnt/ 把opt下的压缩包file.tar.gz 解压释放到mnt下


下面举个实验,主要是研究P 绝对路径的使用情况
echo 123456 > /opt/1.txt 在1.txt中写入123456
cat /opt/1.txt 查看1.txt的内容
tar -zcPf /mnt/nsd.tar.gz /opt/1.txt 以绝对路径创建1.txt的压缩包nsd.tar.gz
tar -tf /mnt/nsd.tar.gz 显示压缩文件内的文件清单
echo hahaxixi > /opt/1.txt 更改之前创建的1.txt文件内容
cat /opt/1.txt 查看txt文件,内容已经变为hahaxixi
tar -xPf /mnt/nsd.tar.gz 以绝对路径释放之前的压缩包
cat /opt/1.txt 查看txt文件内容,结果发现内容被刚释放的压缩包中的txt覆盖了

结论:我们以后在作文件压缩时,最好以绝对路径压缩文件,因为,到释放压缩包的时候

可以选择两种释放方法,一种以绝对路径释放(-P),一种以相对路径释放;尽管当时压缩文件

用的是绝对路径来压缩的,但只要你释放压缩文件时不用-P的绝对路径来释放文件的话,释放后

的文件依然是相对路径;

NTP时间同步:就是有一台时间服务器,为其他客户电脑提供标准时间的协议

• Network Time Protocol

NTP服务器为客户机提供标准时间,NTP客户机需要与NPT服务器保持沟通

实现这个功能需要有以下条件才可以进行:

1.服务端:提供相应功能的程序,会有一个NPT服务器:例如cla***om.example.com

2.客户端:访问服务器的程序

客户机:


以下为实行的具体方法操作:

1.安装客户端程序:chrony

rpm -q chrony

2.配置chrony指定的服务端位置,修改配置文件

vim /etc/chrony.conf 进入文件编辑下,添加服务器信息如下:

server cla***oom.example.com iburst

3.重起客户端服务chronyd,命令如下:

systemctl restart chronyd 重启服务;

systemctl enable chronyd 设置开机自动启用功能

4.验证时间同步:

date 显示时间

date -s “1996-1-2“ 修改时间为1996-1-2

systemctl restart chronyd 重启服务

date 查看时间是否有重新校准

cron 任务概述:

用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务;

需要安装的软件包:cronie 和 crontabs

系统服务:crond

生成的日志文件:/var/log/crond

        时间                                    任务

  分  时  日  月  周                     命令或脚本程序
   *   *    *   *   *
   0   22  *   *   *   
   0    8   *   *   1-5

下面为一个案例:

要求:每分钟记录当前的系统时间,写入到/opt/time.txt

• 使用 crontab 命令

– 编辑:crontab -e [-u 用户名]
– 查看:crontab -l [-u 用户名]

– 清除:crontab -r [-u 用户名]

date >> /opt/time.txt 查看系统时间,重定向写入到time.txt文本中;

crontab -e -u root 进入计划任务配置文件下,编辑内容,需要输入以下动作:

/1 * date >> /opt/time.txt (每分钟写入时间)

watch -n 1 cat /opt/time.txt 每1s中查看time。txt文件内容,来确定上述任务是否执行了;


备注工具:which : 这个命令是用来查找命令所对应的程序文件

                      周期性计划任务,命令写对应的程序文件。提高可靠性          

vim: 命令模式 按 yy 复制光标所在的一行
p 粘贴
dd 删除光标所在的一行