Linux操作系统---从用户管理到文件权限

作为以文件为导向的操作系统,Linux的所有操作都是基于文件而进行的,那么文件的访问及修改权限将成为最值得探究的部分。

⭕️ 什么是用户?

  • 用户存在的目的是安全方向的优化/系统程序的运行优化/为了合理分配资源
  • 不同的用户有着不同的权限
  • 3a机制:account(用户账号识别);author(计算机对用户的识别授权);auth(用户获得认证权限)

⭕️ 什么是用户组?

  • 用户组是计算机方便对“类”进行识别的存在
  • 用户组存在的意义是对某一类用户进行统一授权
  • 主组也叫做初始组,代表用户初始属于的组
  • 与主组对应的是附加组,代表用户除了属于主组还可以额外属于的组

⭕️ whoami 查看当前用户:

  • id username :查看用户id信息(如果不加username 代表查看当前用户)
  • id -u:查看用户id
  • id -g:查看用户主组id
  • id -G:查看用户所有组的id
  • id -n:显示名称

illustrate:在这里插入图片描述

⭕️ su - username 用户切换

  • su username:仅身份切换,环境依旧在原用户路径下
  • su - username:身份与环境共同切换

注意:
1.只有超级用户向普通用户切换时不需要密码
2.每切换一个用户,都会开启一个shell
3.不要在一个shell中反复切换用户,否则会导致shell环境混乱

illustrate:在这里插入图片描述

⭕️ 用户涉及到的系统配置文件

以下为各类配置文件的绝对路径:

  • /etc/passwd :用户身份信息文件(name:passwd:uid:gid:explain:home:shell)
  • /etc/group :组身份信息文件(gname:gpasswd:gid:gmember)
  • /etc/skel/.* :用户环境配置文件模版
  • /etc/shadow :用户认证信息文件
  • /home/username :用户家目录
  • /var/spool/mail/username :用户邮箱

⭕️ 用户和用户组的建立及删除

  • 监控系统的介绍:为了更好的监测代码执行后文件的变动,使用监控命令实时查看后台文件的状态,具体代码如下:`watch -n 1 “tail -n 3 /etc/passwd”

illustrate:在这里插入图片描述
在这里插入图片描述

  • useradd username: 新建用户,username为建立的用户名,该命令默认会建立一个与用户名相同的组,并且自动建立用户家目录
  • 删除用户:1. userdel username: 只删除用户信息,不删除用户家目录文件;2.userdel -r username: 删除用户以及用户的系统配置文件

illustrate:在这里插入图片描述

  • groupadd groupname: 建立一个组
  • groupdel groupname: 删除该组(不同于用户的删除,在这里无需递归删除组,直接进行删除命令就可以彻底删除掉)

illustrate:在这里插入图片描述

  • 指定内容建立用户/组:
    1.useradd -u id username: 指定uid建立用户(id部分输入数字)
    2.useradd -g id username: 指定gid建立用户(需要这个id的组已经存在,否则需要先建立组)
    3.groupadd -g id groupname: 指定gid建立组
    4.useradd -G id username: 指定附加组id建立用户
    5.useradd -c "string" username: 指定说明文字建立用户
    6.useradd -d path: 指定家目录建立用户(path部分输入绝对路径)
    7.useradd -M useradd: 不建立家目录的情况下建立用户
    8.useradd -s path: 指定shell建立用户

illustrate:在这里插入图片描述

⭕️ 用户和用户组的更改

  • usermod -l newname originalname: 更改用户名
  • usermod -u id username: 更改用户id
  • usermod -g id username: 更改用户初始组目录
  • usermod -G id username: 不改变初始组的情况下加入附加组(是更改不是添加,哪怕原来有一百个附加组,用此命令更改后,也会改为更改后的那个;若要删除附加组,则在id处输入“”,代表更改为空组)
  • usermod -aG id username: 增加用户至附加组(注意区分此命令和上一条命令,如果这里的id处输入“”,代表的是增加0个附加组,相当于没有变化;若要增加多个附加组,则用逗号隔开)
  • usermod -c "string" username: 更改用户说明文字
  • usermod -d path username: 更改用户家目录(仅更改家目录的指向字符串,但实际文件目录名不会改变)
  • usermod -md path username: 更改用户家目录(字符与目录名均改变)
  • usermod -s path username: 更改用户所使用shell
  • groupmod -g id groupmodname: 更改组id

illustrate:在这里插入图片描述
在这里插入图片描述

⭕️ 用户认证与密码修改

  • 什么是用户认证? ------用户认证是计算机对于用户权限控制的一道门,认证后才可进行权限下的操作
  • 如何查看用户权限(认证文件)? -------/etc/shadow文件可查看权限
  • passwd -S username: 查看密码状态
  • passwd username: 超级用户修改密码
  • passwd: 普通用户修改密码(普通用户修改密码时,需要先输入原密码,再建立新密码,并且新密码有限制:8位以上的无序数字+无序字母)

illustrate:在这里插入图片描述

⭕️ 关于冻结认证

  • 什么是冻结认证? -------冻结认证代表锁定了某个用户
  • 锁定:usermod -L username
  • 锁定:passwd -l username
  • 解锁:usermod -U username
  • 解锁:passwd -u username
  • 删除密码:passwd -d username

注意:在第八版本及以后,usermod和passwd方式可以互相锁定与解锁,在第八版本之前,passwd的锁定级别更高,被passwd锁定后,需要用usermod方式解锁两次。

illustrate:在这里插入图片描述

⭕️ 关于密码期限

密码最大期限代表密码最多在多久期限内必须修改;
密码最小期限代表密码最少到达多久期限才能修改;
警告期代表密码过期前的警告时间期限;
非活跃天数代表密码超时多久后还可继续使用;
到期时间代表到此日期密码会被冻结。

  • chage -d 0 username: 此命令代表下次该用户登陆时强制要修改密码,否则无法登陆成功
  • passwd -n time username ; chage -m time username : 修改密码最小期限(time处填数字,单位为日)
  • passwd -x time username: 修改密码最大期限
  • passwd -w time usernamechage -W time username :修改密码警告期
  • passwd -i time usernamechage -I time username : 修改密码非活跃天数
  • chage -E "YYYY-MM-DD" username: 修改密码到期时间

illustrate:
在这里插入图片描述

⭕️ 用户权利下放
当某些用户临时需要获得部分权限时,用此方式给临时用户下放属于超级用户的权限。

  • hostname 查看当前主机名
  • /etc/sudoers文件记录了用户权限
  • visudo : 此命令的作用是编辑/etc/sudoers文件,并提供语法检测,进入文件编辑后,在100行的位置进行增加权限内容的操作
  • username hostname=(newusername) [NOPASSWD]/command1,/command2 (username位置代表当前要下放权限的用户名;hostname代表该用户的主机名;newusername代表要给该用户下放属于哪个用户的权限;[ ]内可写可不写,代表是否需要有密码操作;/command1,/command2代表要给该用户下放的具体权利

⭕️ 设定文件的用户及用户组
当需要把某些文件或目录给某个用户时(所属权转移),使用此命令

  • chown username /filename: 给某个用户某个文件
  • chown username dirname/: 给某个用户某个目录
  • chown -R username dirname/: 给某个用户这个目录及目录下的所有文件
  • chgrp groupname /filename : 给某个组某个文件

illustrate:在这里插入图片描述

⭕️ 设定文件权限(读,写,执行)

每个文件都有读;写;执行三种权限,三种权限开启了哪个,才能对此文件进行哪项操作,比如没有开启写权限的文件,是无法进行写入操作的;没有开启执行权限的文件,文件内的程序也是无法调用的,这三种权限用字母r,w,x表示,-代表没有此权限。此外,每个文件的这三种权限都可以赋予给三个不同的对象:u(用户);g(组);o(其他用户)

修改文件权限有以下几种方式:

  • 直接添加删除修改:chmod object-/+auth /filename(给某个对象删减某个权限)
  • 给对象赋予权限:chmod object=auth
  • 用数字的方式设定权限:布尔值000 代表 - - - 转换为二进制数字是0;布尔值001 代表 - - x 转换为二进制数字是1;布尔值010 代表 - w - 转换为二进制数字为2;布尔值011 代表 - w x 转换为二进制数字为3;布尔值100 代表 r - - 转换为二进制数字为4…直到二进制数字7,从0到7这8个数字每个数字都对应着一种不同的权限,一共有三个对象可拥有权限(ugo),每个对象都有一个二进制数字去代表该对象的权限,因此,用数字方式设定权限时,每个文件需要用三个二进制数字去表示这三个对象对应的权限,用命令chmod digit /filename完成,digit代表权限对应的二进制数字

illustrate:在这里插入图片描述

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值