运维之红帽管理员篇-----5. 破解红帽系统密码、cron计划任务、权限和归属 、 使用LDAP认证 、 家目录漫游

时间:2023-02-05 14:21:53

FIVE DAY

 

1..重启系统,进入 recovery 恢复模式

在读秒时候按e键,找到 linux16 行,按键盘End

末尾添加空格 rd.break console=tty0

按 ctrl + x 启动

2)以可写方式重新挂载 /sysroot,并切换到此环境

switch_root# mount  -o  remount,rw  /sysroot

switch_root# chroot  /sysroot

sh-3.2#

)root用户的密码设置为 1

# echo  1  |  passwd  --stdin  root

)重设SELinux安全标签(安全增强版Linux)

# touch  /.autorelabel            //让  SElinux  失忆

先后执行 exitreboot 完成修复


2. 软件包:croniecrontabs 系统服务:crond     日志文件:/var/log/cron

管理计划任务策略

• 使用 crontab 

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

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

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

*:匹配范围内任意时间

,:分隔多个不连续的时间点

-:指定连续时间范围

/n:指定时间频率,n ..

– 分  时    日  月  周         任务命令行(绝对路径)

   *   *      *   *   *          执行的命令或脚本程序

*/1 * * * *   /usr/bin/date  >>  /opt/time.txt

watch -n 1 cat /opt/time.txt

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

设置服务开机自起: systemctl enable  服务名

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

案例1:为虚拟机 server 重设管理密码

1)重启系统,进入 recovery 恢复模式

在读秒时候按e键,找到 linux16 行,按键盘End

末尾添加空格 rd.break console=tty0

按 ctrl + x 启动

2)以可写方式重新挂载 /sysroot,并切换到此环境

switch_root# mount  -o  remount,rw  /sysroot

switch_root# chroot  /sysroot

sh-3.2#

3)root用户的密码设置为 1

# echo  1  |  passwd  --stdin  root

4)重设SELinux安全标签(安全增强版Linux)

# touch  /.autorelabel            //让  SElinux  失忆

5)先后执行 exitreboot 完成修复

# exit

# exit

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

cron任务概述

• 用途:按照设置的时间间隔为用户反复执行某一项固

定的系统任务

• 软件包:croniecrontabs

• 系统服务:crond

• 日志文件:/var/log/cron

管理计划任务策略

• 使用 crontab 命令

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

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

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

*:匹配范围内任意时间

,:分隔多个不连续的时间点

-:指定连续时间范围

/n:指定时间频率,n ..

– 分  时    日  月  周         任务命令行(绝对路径)

   *   *      *   *   *          执行的命令或脚本程序

  每分钟记录当前系统的时间,写入到文本文件/opt/time.txt

[root@server0 ~]# date

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

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

[root@server0 ~]# which date          #查找命令对应程序位置

[root@server0 ~]# ls /usr/bin/date 

[root@server0 ~]# crontab -e -u root

[root@server0 ~]# crontab -l -u root

   */1 * * * *   /usr/bin/date  >>  /opt/time.txt

[root@server0 ~]# watch -n 1 cat /opt/time.txt   每一秒钟,执行cat /opt/time.txt

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

rcat  less  head tail 

     wvim

     x./

 ls -ld 文件或目录...

1.chmod [-R] 归属关系+-=权限类别 文档...

chmod u=rwx,g=rx,o=--- /nsd01

Linux判别用户的权限

  1.判别用户身份          所有者>所属组>其他人     匹配及停止

  2.查看相应权限位置的权限

目录的 权限:能够 ls 浏览此目录内容

目录的 权限:能够执行 rm/mv/cp/mkdir/touch等更改目录内容的操作

目录的 权限:能够 cd 切换到此目录

调整此目录的权限,使所有用户都不能进入此目录

   chmod u-x,g-x,o-x  /nsddir/

设置文档归属

• 使用 chown 命令

– chown [-R] 属主 文档...

– chown [-R] :属组 文档...

– chown [-R] 属主:属组 文档..

附加权限(特殊权限)

Set UID

• 附加在属主的 位上

– 属主的权限标识会变为 s

– 适用于可执行文件,Set UID可以让使用者具有文件属

主的身份及部分权限(传递所有者身份)

chmod g+s /nsd11

Set GID

• 附加在属组的 位上

– 属组的权限标识会变为 s

– 适用于可执行文件,功能与Set UID类似(传递所属组身份)

– 适用于目录,Set GID可以使目录下新增的文档自动设

置与父目录相同的属组

Sticky Bit

• 附加在其他人的 位上

– 其他人的权限标识会变为 t

– 适用于开放 权限的目录,可以阻止用户滥用 写入

权限(禁止操作别人的文档)

 chmod o+t /public

acl访问控制列表

acl策略的作用

– 能够对个别用户、个别组设置独立的权限

使用 getfaclsetfacl 命令

– getfacl 文档...

 setfacl [-R] -m u:用户名:权限类别 文档...

– setfacl [-R] -m g:组名:权限类别 文档...

– setfacl  -b 文档...                             #删除所有的ACL策略

– setfacl  -x u:用户名   文档...            #删除指定的ACL策略

客户端:server

• 查看NFS资源

 showmount -e [服务器地址]

[root@server0 ~]# showmount -e 172.25.0.254

• 挂载NFS共享目录

– mount 服务器地址:目录路径 本地挂载点

# mkdir /home/guests

# mount 172.25.0.254:/home/guests   /home/guests

# ls /home/guests

# su - ldapuser0

1.基本权限的类别

• 访问方式(权限)

– 读取:允许查看内容-read   r

– 写入:允许修改内容-write    w

– 可执行:允许运行和切换-execute   x

对于文本文件:

     rcat  less  head tail 

     wvim

     x./

• 权限适用对象(归属)

– 所有者:拥有此文件/目录的用户-user u

– 所属组:拥有此文件/目录的组-group   g

– 其他用户:除所有者、所属组以外的用户-other  o

查看权限

• 使用 ls -l 命令

– ls -ld 文件或目录...

权限位  硬连接数  属主   属组  大小   最后修改时间   文件/目录名称

开头:

    -:文本文件

  d:目录

  l:快捷方式

[root@server0 /]# ls -ld /etc/

[root@server0 /]# ls -l /etc/passwd

[root@server0 /]# ls  -ld /tmp

[root@server0 /]# ls  -l /etc/rc.local

设置基本权限

• 使用 chmod 命令

– chmod [-R] 归属关系+-=权限类别 文档...

[root@server0 /]# mkdir /nsd01

[root@server0 /]# ls -ld /nsd01

[root@server0 /]# chmod u-w /nsd01

[root@server0 /]# ls -ld /nsd01

[root@server0 /]# chmod g+w /nsd01

[root@server0 /]# ls -ld /nsd01

[root@server0 /]# chmod o+w /nsd01

[root@server0 /]# ls -ld /nsd01

[root@server0 /]# chmod o=rx /nsd01

[root@server0 /]# ls -ld /nsd01

[root@server0 /]# chmod u=rwx,g=rx,o=--- /nsd01

[root@server0 /]# ls -ld /nsd01

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

Linux判别用户的权限

  1.判别用户身份          所有者>所属组>其他人     匹配及停止

  2.查看相应权限位置的权限

目录的 权限:能够 ls 浏览此目录内容

目录的 权限:能够执行 rm/mv/cp/mkdir/touch等更改目录内容的操作

目录的 权限:能够 cd 切换到此目录

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

root用户新建/nsddir/目录,在此目录下新建readme.txt文件,并进一步完成下列操作

1)使用户zhangsan能够在此目录下创建子目录

    chmod o+w  /nsddir/

2)使用户zhangsan不能够在此目录下创建子目录

    chmod o-w  /nsddir/

3)使用户zhangsan能够修改readme.txt文件

    chmod o+w  /nsddir/readme.txt

4)调整此目录的权限,使所有用户都不能进入此目录

   chmod u-x,g-x,o-x  /nsddir/

5)为此目录及其下所有文档设置权限 rwxr-x---

   chmod -R  u=rwx,g=rx,o=---  /nsddir/

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

2.设置文档归属

• 使用 chown 命令

– chown [-R] 属主 文档...

– chown [-R] :属组 文档...

– chown [-R] 属主:属组 文档...

[root@server0 /]# mkdir /nsd03

[root@server0 /]# ls -ld /nsd03

[root@server0 /]# useradd dc 

[root@server0 /]# groupadd stugrp

[root@server0 /]# chown dc:stugrp /nsd03

[root@server0 /]# ls -ld /nsd03

[root@server0 /]# chown zhangsan /nsd03

[root@server0 /]# ls -ld /nsd03

[root@server0 /]# chown :root /nsd03

[root@server0 /]# ls -ld /nsd03

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

root身份新建/nsd10目录,并进一步完成下列操作

1)将属主设为gelin01,属组设为tarena

     useradd gelin01

     groupadd tarena

     chown gelin01:tarena /nsd10

2)使用户gelin01对此目录具有rwx权限,其他人对此目录无任何权限

    chmod o=--- /nsd10

3)使用户gelin02能进入、查看此目录

     useradd gelin02

     gpasswd -a gelin02 tarena

4)将gelin01加入tarena组、将nsd10目录的权限设为r--r-x---,再测试gelin01用户能否进入此目录

     gpasswd -a gelin01 tarena

     chmod u=r,g=rx,o=--- /nsd10

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

3.附加权限(特殊权限)

Set UID

• 附加在属主的 x 位上

– 属主的权限标识会变为 s

– 适用于可执行文件,Set UID可以让使用者具有文件属

主的身份及部分权限(传递所有者身份)

Set GID

• 附加在属组的 x 位上

– 属组的权限标识会变为 s

– 适用于可执行文件,功能与Set UID类似(传递所属组身份)

– 适用于目录,Set GID可以使目录下新增的文档自动设

置与父目录相同的属组

[root@server0 /]# mkdir /nsd11

[root@server0 /]# ls -ld /nsd11

[root@server0 /]# chown :tarena /nsd11

[root@server0 /]# ls -ld /nsd11

[root@server0 /]# mkdir /nsd11/test01

[root@server0 /]# ls -ld /nsd11/test01

[root@server0 /]# ls -ld /nsd11

[root@server0 /]# chmod g+s /nsd11

[root@server0 /]# ls -ld /nsd11

[root@server0 /]# mkdir /nsd11/test02

[root@server0 /]# ls -ld /nsd11/test02

Sticky Bit

• 附加在其他人的 位上

– 其他人的权限标识会变为 t

– 适用于开放 权限的目录,可以阻止用户滥用 写入

权限(禁止操作别人的文档)

[root@server0 /]# mkdir /public

[root@server0 /]# chmod u=rwx,g=rwx,o=rwx /public

[root@server0 /]# ls -ld  /public

[root@server0 /]# chmod o+t /public

[root@server0 /]# ls -ld  /public

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

acl访问控制列表

acl策略的作用

– 能够对个别用户、个别组设置独立的权限

– 大多数挂载的EXT3/4XFS文件系统默认已支持

[root@server0 /]# mkdir /nsd12

[root@server0 /]# ls -ld /nsd12

[root@server0 /]# chmod o=--- /nsd12

[root@server0 /]# ls -ld /nsd12

[root@server0 /]# su - dc

[dc@server0 ~]$ cd /nsd12

[dc@server0 ~]$ exit

logout

[root@server0 /]# setfacl -m u:dc:rwx /nsd12

[root@server0 /]# ls -ld /nsd12

[root@server0 /]# su - dc

[dc@server0 ~]$ cd /nsd12

[dc@server0 nsd12]$ exit

logout

[root@server0 /]# setfacl -m u:lisi:--- /public/

[root@server0 /]# getfacl /public/

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

• 使用 getfaclsetfacl 命令

– getfacl 文档...

– setfacl [-R] -m u:用户名:权限类别 文档...

– setfacl [-R] -m g:组名:权限类别 文档...

– setfacl  -b 文档...                             #删除所有的ACL策略

– setfacl  -x u:用户名   文档...            #删除指定的ACL策略

[root@server0 /]# setfacl -m u:zhangsan:rx /nsd12

[root@server0 /]# getfacl /nsd12

[root@server0 /]# setfacl -m u:lisi:rwx /nsd12

[root@server0 /]# getfacl /nsd12

[root@server0 /]# setfacl -x u:lisi /nsd12   #删除指定ACL

[root@server0 /]# getfacl /nsd12

[root@server0 /]# setfacl -b /nsd12          #删除所有ACL

[root@server0 /]# getfacl /nsd12

[root@server0 /]# ls -ld /nsd12

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

使用LDAP认证

1.真机上操作还原classroomserver

[root@room9pc14 桌面]# rht-vmctl reset classroom

[root@room9pc14 桌面]# rht-vmctl reset server

[root@room9pc14 桌面]# ssh -X root@172.25.0.11

什么是LDAP?(需要特殊的虚拟环境)

• 轻量级目录访问协议

– Lightweight Directory Access Protocol

– 由服务器来集中存储并向客户端提供的信息,存储方

式类似于DNS分层结构

– 提供的信息包括:用户名、密码、通信录、主机名映

射记录

   LDAP实现  网络用户  用户名、密码有服务器提供

     本地用户  /etc/passwd /etc/shadow

服务端:LDAP服务器 是classroom

客户端:虚拟机server

1.安装软件包sssd 与服务端进行沟通

2.通过图形配置sssd(图形工具:authconfig-gtk

[root@server0 ~]# yum -y install sssd authconfig-gtk

[root@server0 ~]# rpm -q sssd

[root@server0 ~]# rpm -q authconfig-gtk

 运行 authconfig-gtk

   指定 用户账户数据库 “LDAP

   勾选 使用TLS加密连接

   指定 证书 http://172.25.0.254/pub/example-ca.crt

   指定 认证方法 “LDAP密码”

[root@server0 ~]# systemctl restart sssd  #重起服务 

[root@server0 ~]# systemctl enable sssd   #设置服务开机自起

验证:

[root@server0 ~]# id ldapuser0

uid=1700(ldapuser0) gid=1700(ldapuser0) =1700(ldapuser0)

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

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

家目录漫游

什么是NFS共享

• Network File System,网络文件系统

– 由NFS服务器将指定的文件夹共享给客户机

– 客户机将此共享目录 mount 到本地目录,访问此共享

资源就像访问本地目录一样方便

– 类似于 EXT4XFS等类型,只不过资源在网上

服务端:classroom NFS服务器,共享服务器

  将ldapuser0ldapuser20所有用户的家目录全部共享

客户端:server

• 查看NFS资源

– showmount -e [服务器地址]

[root@server0 ~]# showmount -e 172.25.0.254

• 挂载NFS共享目录

– mount 服务器地址:目录路径 本地挂载点

# mkdir /home/guests

mount 172.25.0.254:/home/guests   /home/guests

# ls /home/guests

# su - ldapuser0