#####################################################

管理用户和组

用户账户的作用:登陆操作系统、访问控制(不同的用户具备不同的权限)
组帐号:方便对用户的管理

唯一标识: UID GID

管理员的UID: 0
普通用户UID: RHEL7从1000开始

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

#####################################################

添加用户
用户基本信息存放在 /etc/passwd 文件
[root@server0 ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash

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

• 使用 useradd 命令
– useradd [选项]... 用户名

• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录Shell
– -g 基本组、-G 附加组

[root@server0 ~]# useradd nsd01
[root@server0 ~]# id nsd01 #查看用户基本信息
[root@server0 ~]# grep 'nsd01' /etc/passwd

[root@server0 ~]# useradd -u 1200 nsd02
[root@server0 ~]# grep 'nsd02' /etc/passwd
[root@server0 ~]# id nsd02

[root@server0 ~]# useradd -d /opt/abc nsd07
[root@server0 ~]# grep 'nsd07' /etc/passwd

/sbin/nologin:阻止用户登陆系统

[root@server0 ~]# useradd -s /sbin/nologin nsd09
[root@server0 ~]# grep 'nsd09' /etc/passwd

[root@server0 ~]# groupadd study
[root@server0 ~]# useradd -g study nsd10 #指定基本组
[root@server0 ~]# id nsd10

[root@server0 ~]# useradd -G study nsd11 #指定附加组
[root@server0 ~]# id nsd11
####################################################
管道操作:将前面命令的输出结果,传输给后面命令,作为后面命令的参数

显示/etc/passwd/文件8-12行内容?

[root@server0 ~]# head -12 /etc/passwd | tail -5

[root@server0 ~]# cat -n /etc/passwd | head -12 | tail -5

[root@server0 ~]# ifconfig | head -2

[root@server0 ~]# ifconfig | less

[root@server0 ~]# echo 1+1 | bc

[root@server0 ~]# echo 3*2 | bc

#######################################################

• 使用 passwd 命令

1.交互式设置密码
[root@server0 ~]# passwd nsd01

2.非交互式设置密码
[root@server0 ~]# echo 123 | passwd --stdin nsd01
[root@server0 ~]# echo redhat | passwd --stdin nsd02

#####################################################

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

######################################################

• 使用 usermod 命令
– usermod [选项]... 用户名

• 常用命令选项
– -u 用户id、-d 家目录路径、-s 登录Shell
– -g 基本组、
– -G 附加组

[root@server0 ~]# useradd nsd12
[root@server0 ~]# grep 'nsd12' /etc/passwd

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

[root@server0 ~]# grep 'nsd12' /etc/passwd
[root@server0 ~]# id nsd12

####################################################

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

[root@server0 ~]# userdel nsd01
[root@server0 ~]# id nsd01

[root@server0 ~]# userdel -r nsd02
[root@server0 ~]# id nsd02

###################################################
[root@server0 ~]# useradd tom
[root@server0 ~]# useradd natasha
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd jack

[root@server0 ~]# groupadd stugrp
####################################################
组管理

添加组
组基本信息存放在 /etc/group 文件
[root@server0 ~]# grep 'stugrp' /etc/group
stugrp:x:1605:

组名:组的密码占位符:GID:组成员列表

• 使用 groupadd 命令
– groupadd [-g 组ID] 组名

• 使用 gpasswd 命令
– gpasswd -a 用户名 组名
– gpasswd -d 用户名 组名

[root@server0 ~]# grep 'stugrp' /etc/group
[root@server0 ~]# gpasswd -a natasha stugrp
[root@server0 ~]# grep 'stugrp' /etc/group

[root@server0 ~]# gpasswd -a kenji stugrp
[root@server0 ~]# grep 'stugrp' /etc/group

[root@server0 ~]# gpasswd -d kenji stugrp
[root@server0 ~]# grep 'stugrp' /etc/group

###################################################
删除组
• 使用 groupdel 命令
– groupdel 组名

###################################################
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 被备份的文档....

rm -rf /opt/*

tar -zcf /opt/file.tar.gz /boot/ /home/

ls /opt/

tar -jcf /opt/test.tar.bz2 /boot/ /home/

ls /opt/

tar -Jcf /opt/abc.tar.xz /boot/ /home/

ls /opt/

rm -rf /mnt/*

tar -xf /opt/file.tar.gz -C /mnt/

ls /mnt

##################################################
– -t:显示归档中的文件清单
– -P(大写):保持归档内文件的绝对路径

[root@server0 /]# rm -rf /opt/*
[root@server0 /]# echo 123456 > /opt/1.txt
[root@server0 /]# ls /opt/

[root@server0 /]# cat /opt/1.txt

[root@server0 /]# tar -zcPf /mnt/nsd.tar.gz /opt/1.txt
[root@server0 /]# tar -tf /mnt/nsd.tar.gz

[root@server0 /]# echo hahaxixi > /opt/1.txt
[root@server0 /]# cat /opt/1.txt

[root@server0 /]# tar -xPf /mnt/nsd.tar.gz
[root@server0 /]# cat /opt/1.txt
###################################################

NTP时间同步

• Network Time Protocol

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

服务端: 提供相应功能的程序
NTP服务器:cla***om.example.com

客户端:访问服务端程序
客户机:server0.example.com

1.安装客户端程序chrony
[root@server0 /]# rpm -q chrony

2.配置chrony指定服务端位置,修改配置文件, 注释:解释文字,以#开头的行

[root@server0 /]# vim /etc/chrony.conf
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
server cla***oom.example.com iburst

3.重起客户端服务chronyd
[root@server0 /]# systemctl restart chronyd #重起服务
[root@server0 /]# systemctl enable chronyd #设置开机自起服务

4.验证时间同步
[root@server0 /]# date
[root@server0 /]# date -s "2000-9-9"

[root@server0 /]# systemctl restart chronyd
[root@server0 /]# date
[root@server0 /]# 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 用户名]

[root@server0 /]# date > /opt/time.txt
[root@server0 /]# cat /opt/time.txt

[root@server0 /]# crontab -e -u root
/1 * date >> /opt/time.txt

[root@server0 /]# watch -n 1 cat /opt/time.txt

                            #每一秒钟运行cat /opt/time.txt 

###################################################
which : 查找命令所对应的程序文件

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

#####################################################

真机上:

[root@room9pc14 桌面]# which rht-vmctl
/usr/local/bin/rht-vmctl
[root@room9pc14 桌面]# crontab -e
0 9 /usr/local/bin/rht-vmctl reset cla***oom
0 9
/usr/local/bin/rht-vmctl reset server
0 9 * /usr/local/bin/rht-vmctl reset desktop

[root@room9pc14 桌面]# crontab -l #查看周期性计划任务
0 9 /usr/local/bin/rht-vmctl reset cla***oom
0 9
/usr/local/bin/rht-vmctl reset server
0 9 * /usr/local/bin/rht-vmctl reset desktop

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