3.17 day13学习笔记

3.16 day12作业涉及知识补充

  • 新建用户涉及到的文件
/etc/passwd  用户信息   useradd
/etc/shadow  用户密码信息   passwd 修改密码

/etc/gshadow 用户组信息  groupadd
/etc/group   用户组密码信息  gpasswd 
  • 验证文件被修改
md5sum  /etc/passwd  /etc/shadow  /etc/gshadow /etc/group  
  • 创建用户时不添加用户家目录
useradd   chaoge01     -M  -不创建用户的主目录,不会默认去创建
  • 新建组如何添加gid和组名
groupadd   -g  2000   devops
  • 查看系统/用户的环境变量命令

  • windows系统

  • linux系统
env   #environment环境的英文缩写,查看用户相关的的环境变量
set   #查看全系统的环境变量

# PS1变量,就是控制命令提示符的
set |grep PS1
PS1='[\u@\h   \W]\$ '
\u 显示用户名
\h 显示主机名
\W 显示用户所处目录的最后一级
\w 显示用户所处的绝对路径,省去你敲pwd
\t 以24小时制,显示时间
\$ 显示用户的身份提示符,自动识别root还是普通用户

最终你可以调整PS1 命令提示符如下格式
PS1='[\u@\h   \w \t]\$ '

该变量,临时敲打,临时生效,重新登录后,系统重新加载用户环境变量,该设置丢失
如何永久生效?把你自定义的变量
- 写入到,系统全局环境变量配置文件中(/etc/profile)
- 那么就有关于用户个人的配置文件,在用户家目录下
~/.bash_profil
  • 命令提示符出现损坏,以及家目录显示不正常的解决办法
[root@yuanlai-0224 tmp]# su - chaoge01
上一次登录:四 3月 17 09:51:51 CST 2022pts/0 上
su: 警告:无法更改到 /home/chaoge01 目录: 没有那个文件或目录
-bash-4.2$ 
-bash-4.2$ 
-bash-4.2$ 
-bash-4.2$ echo $PS1
\s-\v\$
-bash-4.2$ 

#修复命令,使用root的用户手动拷贝/etc/skel/到/home/chaoge01
cp -r /etc/skel/  /home/chaoge01 

#修复原理
1、系统读不到用户的个人配置文件,用户在useradd创建时候,系统会去 、/etc/skel 目录下,拷贝所有的用户个人环境变量配置文件,到用户生成的家目录下 /home/chaoge01

2. 用户在登录时,自动加载 /home/chaoge01 下所有的文件内容

  • su - chaoge01 和 su - chaoge01 的区别

su - chaoge01
用户完全切换,等同于用户chaoge01登录机器,系统会为该用户生成很多默认的环境变量,chaoge01用户使用的是系统中chaoge01用户的有关环境变量

su chaoge01
用户不完全切换,chaoge01用户虽然登录了机器,但系统中的chaoge01用户使用的环境变量还是上一个用户的环境变量

  • 其他用户可以通过什么方式对文件读、写、执行
5.如何让jerry01可以对如下⽂件,读、写、执⾏,请写下3种办法。

⽂件路径 /test_linux01/我是bob.log
该文件当前的权限
-rw-rw-r-- 1 bob01 bob01 0 3⽉ 16 15:02 我是bob.log

思路1

直接该文件权限,改other角色的权限
chmod 667 /test_linux01/我是bob.log

思路2

jerry01加入bob组
再修改属组的权限为 7

思路3

修改文件的属主,为jerry01
修改属主权限为 7

思路4

用sudo,以root身份,直接提权操作
前提,要配置jerry01加入到/etc/sudoers文件中

思路5,尝试将jerry01加入root组,试试权限如何。

特殊权限

  • Linux系统的9位基本权限rwx rwx rwx,系统中会有一些特殊的文件,存在s、S、t、T的权限,所在linux系统中除了9位基本权限位,还有三位特殊权限位suid(setuid)、sgid(setgid)、sbit(sticky bit),共12位权限位。

  • SUID的作用

    • SUID 特殊权限仅适用于可执行文件

      • 二进制命令,比如系统的/usr/bin下提供的命令,如 /usr/bin/ls,如/usr/bin/rm
    • 所具有的功能是,只要用户对设有 SUID 的文件有执行权限,那么当用户执行此文件时,会以文件属主的身份去执行此文件,比如passwd命令中就设置了SUID,所以当普通用户修改密码时使用passwd命令是以root身份去执行的。

    • 一旦文件执行结束,身份的切换也随之消失。

  • SGID的作用

    • 对于二进制命令来说,sgid的功能和suid基本一样,只不过一个是设置文件属主的权限,一个是设置属组的权限,和9位基本rwx理解概念相同。
    • suid是获得文件属主的权限,sgid是获得文件属组的权限
    • sgid主要用于文件夹,为某个目录设置sgid之后,在该目录中的创建的文件,都以(目录的属组)权限为准,而不属于创建该文件的用户权限,这就实现了多个用户,可以共享一个目录的作用。
    • 一般直接和文件夹结合使用,给文件夹设置sgid,等于设置了一个共享文件夹的概念
  • sbit的作用

    • 当目录有了粘滞位特殊权限,这个目录除了root用户特殊以外,任何用户都只能删除、移动自己的创建的文件,而不能影响到其他人。
posted on 2022-03-17 22:43  Cloud~Commander  阅读(87)  评论(0编辑  收藏  举报