Linux之缓存、设置密码

Day 6(云计算-zsn)

[root@localhost ~]# alias                                       (补充)
alias cp='cp -i'                       -i交互式提示   

1.hash 查看系统命令缓存

[root@localhost ~]# hash
hits	command
   1	/usr/bin/rm               前面的数值是匹配的缓存次数,后面是匹配的缓存路径
   1	/usr/bin/vim
   1	/usr/bin/date
   4	/usr/bin/cat
   2	/usr/bin/cp
   3	/usr/bin/ls

2.清理缓存:

hash -d 命令 删除指定命令的缓存

[root@localhost ~]# hash -d  命令        清理缓存(删除指定命令的缓存)
[root@localhost ~]# hash          (清理缓存前)
hits	command
   1	/usr/bin/rm
   1	/usr/bin/vim
   1	/usr/bin/date
   4	/usr/bin/cat
   2	/usr/bin/cp
   3	/usr/bin/ls
   [root@localhost ~]# hash -d cat
[root@localhost ~]# hash            (清理缓存后)
hits	command
   1	/usr/bin/rm
   1	/usr/bin/vim
   1	/usr/bin/date
   2	/usr/bin/cp
   4	/usr/bin/ls

hash -r 清空所有命令缓存

[root@localhost /]# hash        在没有清理命令前可通过hash查看该主机缓存的命令
hits	command
   1	/usr/bin/rm
   3	/usr/bin/ls
[root@localhost /]# hash -r
[root@localhost /]# hash
hash: hash table empty

exit 退出终端可以清空终端中的命令缓存

[root@localhost ~]#cat  /etc/passwd
[root@localhost ~]#mv  /usr/bin/cat  /usr/local/bin
[root@localhost ~]# cat /A
-bash: /usr/bin/cat: No such file or directory          --通过缓存路径匹配命令文件

3.date 时间

%Y-%m-%d        %H-%M-%S
%F        full date;    same as %Y-%m-%d
%T        time;   same as   %H:%M:%S
[root@localhost ~]# touch `date +'%H:%M:%S'file.txt`

(1)更改时间

[root@localhost ~]# date 101110122022.34           可以更改时间
Tue Oct 11 10:12:34 CST 2022
[root@localhost ~]# date -s '2022-11-30 17:34:56'
Wed Nov 30 17:34:56 CST 2022
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai(时区名) 可以更改时区
[root@localhost ~]# timedatectl status         查看时区
               Local time: Wed 2022-11-30 17:40:34 CST
           Universal time: Wed 2022-11-30 09:40:34 UTC     UTC世界时间
                 RTC time: Wed 2022-11-30 11:40:42         RTC硬件时钟的时间
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: inactive
          RTC in local TZ: no
[root@localhost ~]# timedatectl show           查看时区
Timezone=Asia/Shanghai
LocalRTC=no
CanNTP=yes
NTP=no
NTPSynchronized=no
TimeUSec=Wed 2022-11-30 17:41:27 CST
RTCTimeUSec=Wed 2022-11-30 19:41:34 CST

(2)查看日历

格式:cal[[[日]月]年]
cal -j    查看一年的儒略日
[root@localhost ~]# cal 2022       查看2022年的日历
                               2022                               

       January               February      
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                   1          1  2  3  4  5
 2  3  4  5  6  7  8    6  7  8  9 10 11 12
 9 10 11 12 13 14 15   13 14 15 16 17 18 19
16 17 18 19 20 21 22   20 21 22 23 24 25 26
23 24 25 26 27 28 29   27 28               
30 31                                      
        March                  April       
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
       1  2  3  4  5                   1  2
 6  7  8  9 10 11 12    3  4  5  6  7  8  9
13 14 15 16 17 18 19   10 11 12 13 14 15 16
20 21 22 23 24 25 26   17 18 19 20 21 22 23
27 28 29 30 31         24 25 26 27 28 29 30
                                           
         May                   June        
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7             1  2  3  4
 8  9 10 11 12 13 14    5  6  7  8  9 10 11
15 16 17 18 19 20 21   12 13 14 15 16 17 18
22 23 24 25 26 27 28   19 20 21 22 23 24 25
29 30 31               26 27 28 29 30      
                                           
        July                  August       
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
                1  2       1  2  3  4  5  6
 3  4  5  6  7  8  9    7  8  9 10 11 12 13
10 11 12 13 14 15 16   14 15 16 17 18 19 20
17 18 19 20 21 22 23   21 22 23 24 25 26 27
24 25 26 27 28 29 30   28 29 30 31         
31                                         
      September               October      
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
             1  2  3                      1
 4  5  6  7  8  9 10    2  3  4  5  6  7  8
11 12 13 14 15 16 17    9 10 11 12 13 14 15
18 19 20 21 22 23 24   16 17 18 19 20 21 22
25 26 27 28 29 30      23 24 25 26 27 28 29
                       30 31               
      November               December      
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
       1  2  3  4  5                1  2  3
 6  7  8  9 10 11 12    4  5  6  7  8  9 10
13 14 15 16 17 18 19   11 12 13 14 15 16 17
20 21 22 23 24 25 26   18 19 20 21 22 23 24
27 28 29 30            25 26 27 28 29 30 31
                                           
[root@localhost ~]# cal  3 2022         查看2022年3月的日历
     March 2022     
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31      
                    
[root@localhost ~]# cal 1 3 2022    对2022年3月1日特殊标记
     March 2022     
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

(3)查看时区

[root@localhost ~]# timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

4.用户、组

(创建用户目的:让主机知道当前用户身份;创建组的目的:后期可以更方便的管理用户)

(1)Linux管理模式

(Linux主机具有多用户多任务的特点)

私有模式(默认):每一个用户对应有一个和用户同名的组
共有模式:多个用户共用一个组

(2)用户类别(最多65535个用户)

A.管理员(仅有一个):root用户
B.普通用户(1–65535个):(例:redhat用户)
a. 系统用户:系统在安装时,默认所创建的用户身份(自动创建)
[root@localhost ~]# cat /etc/passwd     在该文件下,一行表示一个用户
root:x:0:0:root:/root:/bin/bash         root是默认定义的管理员用户,因此在第一行
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
..........   (系统中的其他用户(在创建系统安装服务软件时,创建的对应的用户信息))
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
redhat:x:1000:1000:redhat:/home/redhat:/bin/bash    redhat是用户自己创建的用户,所以在最后一行
b.一般用户:由用户自己手动添加创建的用户
C.创建(添加)用户

useradd 用户名(必须有字符信息,不能只有数字)

创建用户的路径: /usr/sbin/usaradd(唯一) sbin路径只有管理员能够使用

[root@localhost ~]# useradd xiaohua        以root身份创建了xiaohau这一用户
[root@localhost ~]# 
[root@localhost ~]# su redhat          先通过su命令切换到redhat普通用户下
[redhat@localhost root]$ useradd xiaohua2     试创建xiaohua2用户
useradd: Permission denied.            创建失败,即普通用户不能用useradd命令创建用户
useradd: cannot lock /etc/passwd; try again later.
E.查看是否成功创建(添加)用户

方法:使用命令cat /etc/passwd

解释命令:/etc/passwd文件是系统中的用户配置文件,该文件中只放用户相关的参数信息

cat /etc/passwd 用户配置文件
[root@localhost ~]# useradd xiaohua           创建用户
[root@localhost ~]# cat /etc/passwd           查看用户
xiaohua:x:1001:1001::/home/xiaohua:/bin/bash      用户存在,则创建用户成功

F.grep ‘^用户名’ /etc/passwd
id 用户名 查看用户的id信息
[root@localhost ~]# grep '^xiao1' /etc/passwd    
xiao1:x:1001:1001::/home/xiao1:/bin/bash
[root@localhost ~]# id xiao1              查看xiao1用户的id信息
uid=1001(xiao1) gid=1001(xiao1) groups=1001(xiao1)
[root@localhost ~]# grep '^xiaohua' /etc/passwd
[root@localhost ~]# id xiaohua            查看xiaohua用户的id信息
uid=1001(xiaohua) gid=1001(xiaohua) groups=1001(xiaohua)

(3)删除用户名

userdel -r 用户 删除用户以及创建用户相关的所有文件
[root@localhost ~]# userdel -r xiao1       删除xiao1用户
[root@localhost ~]# id xiao1               查看xiao1用户是否被成功删除
id: ‘xiao1’: no such user                  没有xiao1用户,即表明xiao1用户删除成功

(4)组类别

A.管理组:root组

在私有模式下管理员所对应的组身份信息就是管理组。

B.普通组:

普通用户所对应的组身份信息就是普通组。

​ **系统组:**系统在安装时,默认所创建的组身份信息(自动创建)

​ **一般组:**由用户自己手动添加创建的组身份信息

C.主组,私有组,用户的默认组

主组:也叫初始组,是用户登录系统时的组

特点:a.创建新用户时,若未明确指定该用户所属的主组,会默认创建一个与用户名相同的组,作为该用户的主组

b.用户创建文件时,文件的所属权限组就是当前用户的主组

c.使用useradd命令时用-g参数可以指定主组,则不会默认创建同名的主组

d.用户有且只能所属一个主组,而且用户的主组不能被删除

e.用户不能直接被移出主组,但可以更换主组

f.用户被删除时它的主组若没有其他所属用户,则会自动删除该主组

私有组:任何用户都必须依赖一个用户组才能存在,所以如果我们在创建用户的时候没有指定用户组,那么系统会为该用户创建一个同名的组。

D.附加组(额外组):用户默认组之外的组

附加组:登录后可切换的其他组

特点:a.使用useradd命令时用-G参数可以指定附加组

b.用户可以所属零个或多个附加组

c.用户的附加组和主组可相同

d.附加组可以直接被删除而无需关心是否所属于用户

e.附加组可以新增和移除任意个所属用户

f.用户被删除时所属附属组不会受影响

E.创建,删除组

groupadd 组名 创建组

cat /etc/group 组配置文件

在这里插入图片描述

在这里插入图片描述

grep ‘^组名’ /etc/group 判断组信息是否存在

在这里插入图片描述

groupdel 组名 删除组

在这里插入图片描述

在这里插入图片描述

5.更改,设置,破解用户密码

(1)passwd [用户名]

​ 不加用户名表示对当前用户的密码信息进行更改;

​ 加用户名时,如该用户有密码及更改密码,没有密码及创建密码

管理员:可以指定用户名更改系统任意用户的密码,不需要输入之前的密码,不严格匹配密码等级设置

普通用户:不可以指定用户,只能更改自己的密码,需要输入之前的密码,严格匹配密码等级设置

(2)给用户设置密码

[root@localhost ~]# passwd xiao1
Changing password for user xiao1.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]# su -l xiao1
[xiao1@localhost ~]$

(3)更改当前用户密码

A.passwd 对当前用户更改密码
[root@localhost ~]# passwd
Changing password for user root.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

[root@localhost ~]# su xiaohua                        切换为普通用户
[xiaohua@localhost root]$ passwd redhat               给指定用户更改密码
passwd: Only root can specify a user name.            更改密码失败

[redhat@localhost root]$ passwd
Changing password for user redhat.
Current password:                输入原密码
New password:                    输入新密码
BAD PASSWORD: The password contains the user name in some form
passwd: Authentication token manipulation error

B.echo 密码 | passwd --stdin 用户名 (非交互式)

通过passwd 后的–stdin把前一个的输出结果作为passwd命令的标准输入,即在命令执行后用户要进行一个标准输入。

C.chpasswd 更改密码
一次性可更改多个用户的密码
[root@localhost ~]# vim users
[root@localhost ~]# cat users | chpasswd
[root@localhost ~]# cat users
root:redhat
redhat:redhat
xiaohua:redhat
一次性也可只更改一个用户的密码
[root@localhost ~]# echo redhat:123456 | passwd

(4)删除用户的密码

[root@localhost ~]# passwd -d xiao1               -d表示删除
Removing password for user xiao1.
passwd: Success

(6)破解密码

步骤: 关机–>开机–>鼠标进入启动界面–>第一个引导菜单–>按一下e键–>找到linux这一行在行尾添加rd.break–>ctrl-x---->mount -o remount,rw /sysroot ---->chroot /sysroot—>passwd root—>设置密码–确认密码---->touch /.autorelabel -->exit --exit(等待)

开机,并将鼠标点进启动界面,以进入第一个引导菜单,然后用上下键控制选择(上下两个都可以)然后按一下e键进入下一步

在这里插入图片描述

进入下一步之后,控制光标到含有linux字样的一行

在这里插入图片描述

然后在倒数第二行末尾添加命令rd.break 来截止前面的启动命令

在这里插入图片描述

然后通过ctrl+x启动,进入内核层

在这里插入图片描述

然后通过mount命令对文件系统进行更改,挂载命令mount -a remount,rw /sysroot

成功(没有报错即为成功)以后,输入chroot /sysroot命令

在这里插入图片描述

然后通过输入passwd root命令为root用户更改密码

在这里插入图片描述

然后通过输入两次exit命令让虚拟机自动重启(一定不能手动点击虚拟机的重启按钮,不然原密码和破解后的密码都不能用)

在这里插入图片描述

最后等待虚拟机重新开启即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值