Linux学习之用户和组管理与文件权限

1.用户管理和组管理

1.1 用户管理

  Linux系统下,用户分为三个类型:

  • 超级用户:用户名为root,有一切的权限,对系统进行一些维护的时候(建立新用户,删除一些文件)。
  • 系统用户(伪用户):不能登录,存在的意义就是Linux在正常工作时所需要的內建的用户,主要是为了满足相应的系统进程对文件的操作。
  • 普通用户:用于管理Linux,常见用于一般的操作。

1.2 组管理

  Linux系统下,组分为三类:

  • 基本组(私有组):建立新的用户的时候,如果不去指定分组,系统就会自动创建一个和该用户名相同的组,该组为该用户的基本组。
  • 附加组(公有组):可以容纳多个用户的分组,该组下所有的用户都具有该组对应的所有权限,当一个基本组加入别的用户时,该基本组就变为附加组。
  • 系统组:root组,存系统用户。

1.3 UID

  对于每一个用户而言,都会分配一个标号UID唯一表示:

  • 超级用户:0

  • 系统用户:1~999

  • 普通用户:≥1000

    新创建的普通用户如果不指定UID的话,默认从1000开始,之后+1即可

[root@localhost ~]# id root 
uid=0(root) gid=0(root)=0(root) 
[menzi@localhost ~]$ id menzi 
uid=1000(menzi) gid=1000(menzi)=1000(menzi) 
whoami

2.对于用户和组的一些文件管理

2.1 /etc/passwd

是一个文本文件,存储的是一些用户的定义信息,由于这个文件的权限是所有用 户都可读,所以关于密码的内容是加密的,具体的密码在/etc/shadow中。

/etc/passwd配置文件信息
在这里插入图片描述

  • 第一字段:用户名称
  • 第二字段:密码标志
  • 第三字段: UID
  • 第四字段:GID用户初始组【只有一个,创建用户时自动建立,不推荐改】和附加组【同时属于其他组,像是大学的社团】
  • 第五字段:用户说明
  • 第六字段:家目录【普通用户 home/用户名【二级目录】 超级用户:/root/【一级目录】
  • 第七字段:登陆之后的shell:linux的命令解释器标准bin/bash sbin/nologin
    注意:Root不一定是管理员,uid=0的一定是管理员。

2.2 /etc/shadow

是一个文本文件,存储的是用户的密码和时间管理。

etc/shadow配置文件地信息:
在这里插入图片描述

  • 第一字段:用户名
  • 第二字段(加密口令):加密密文【密码相同,密文也不相同】 sha521加密 ** !!没密码
  • 第三字段(最后一次修改的时间):最近一次更改密码的日期,以距离1970年1月1日的天数来表示的,数值越大越接
    近当前时间
  • 第四字段(最小时间间隔):密码不能在多少天内被修改,默认值为0,不限制
  • 第五字段(最大时间间隔):密码在多少天之后必须被修改,默认值为99999,不限制
  • 第六字段(警告时间):提前多少天警告用户密码即将过期,默认值为7,0表示不提供警告
  • 第七字段(不活动时间):到期后的宽限时间,密码过期多少天后禁用此用户
  • 第八字段(失效时间):账号失效时间,以距离1970年1月1日的天数表示,默认为空永久不失效
  • 第九字段(标识):保留字

2.3 etc/group和etc/gshadow

  1. etc/group:

是一个文本文件,存的是组的信息和存的是组的密码信息。

etc/group配置文件信息:
在这里插入图片描述

  • 第一字段:组名
  • 第二字段:组密码标志
  • 第三字段:GID
  • 第四字段:组中附加用户
  1. /etc/gshadow

存的是组的密码信息

2.4 用户添加命令:useradd

在这里插入图片描述

2.5 删除用户命令:userdel(删除用户 但是不删除用户家目录)

  • userdel -r 用户名 全删 或者手动删
[root@localhost home]# userdel wang6 、
//家目录没删 邮件没删

userdel -r 用户名 全删
或者手动删

2.6 修改用户信息: usermod(除了具有useradd的参数外)

  • -l 新用户名
  • 未登录 -L 锁定
  • -U 解锁

3. 用户组相关操作

3.1 groupadd 增加组

  • -g 指定GID
  • -r 建立一个系统组,与g不同时使用,并且分配一个1~999的GID

3.2 groupdel

删除组(基本组中有用户 不能直接删除组)

3.3 gpasswd

向组里面添加和删除成员

在这里插入图片描述

3.4 useradd -g 给用户改变分组

3.5 usermod -g 修改用户组

4.文件权限

4.1 文件权限解释

在这里插入图片描述
drwxr-xr-x. 2 root root 6 5月 22 13:31 公共
        属主 属组 大小 最后一次修改的日期 文件/目录名

  • 第1个字符 d 表示文件类型
  • 第2~4个字符 rwx 表示的是文件属主的权限
  • 第5~7个字符 r-x 表示的是文件属组的权限
  • 第8~10个字符 r-x 表示其他所有用户对该文件的权限
  • 第11个字符 . 表示的是文件的访问控制ACL , . 表示被SELinux安全上下文访问,空格表示没有访问限制, + 该文件上有ACL控制限制
  • 数字:如果当前是文件 则表示该文件对应的硬链接数;如果目录的话,表示的是该目录下子目录的个数
    ( .是当前目录 …当前目录的父目录 )
  1. 文件的权限针对三类对象进行定义

owner 属主,缩写u
group 属组,缩写g
other 其他,缩写o

  1. 每个文件针对每类访问者定义了三种主要权限

r:Read 读
w:Write 写
x:eXecute 执行

  另 X:针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)
  注意:root账户不受文件权限的读写限制,执行权限受限制

  1. 对于文件和目录来说,r,w,x有着不同的作用和含义:

   针对文件:

r:读取文件内容
w:修改文件内容
x:执行权限对除二进制程序以外的文件没什么意义

  针对文件目录:

r:查看目录下的文件列表
w:删除和创建目录下的文件
x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

4.2 修改权限的指令chmod

  1. 第一种形式:+ - =变更权限
1.chmod u=rwx,g=rw,o=x 文件/目录 (u 属主 g 属组 o 其他所有用户 a所有人) 
2.chmod o+w 文件/目录 
3.chmod a-x 文件/目录
第二种形式:通过数值变更
  		rwx rw- r–	
  		111 110 100
  		7   6   4
  		r:4
  		w:2
 		x:1

[menzi@localhost ~]$ touch abc
-rw-rw-r--. 1 menzi menzi 0 65 15:50 abc 
//1.给abc属主给读写执行 属组读执行 其他读写 
[menzi@localhost ~]$ chmod u=rwx,g=rx,o=rw abc
-rwxr-xrw-. 1 menzi menzi 0 65 15:50 abc 
//2.给abc文件属主去除执行权限,属组增加写的权限 
[menzi@localhost ~]$ chmod u-x,g+w abc
-rw-rwxrw-. 1 menzi menzi 0 65 15:50 abc 
//3.给abc文件的所有用户增加读的权限 
[menzi@localhost ~]$ chmod a+r abc
-rw-rwxrw-. 1 menzi menzi 0 65 15:50 abc
  1. 通过数值变更
//将abc文件权限修改为rwx r-x r-x
[menzi@localhost ~]$ chmod 755 abc
-rwxr-xr-x. 1 menzi menzi 0 65 15:50 abc 
[menzi@localhost ~]$ chmod 123 abc
---x-w--wx. 1 menzi menzi 0 65 15:50 abc 
[menzi@localhost ~]$ chmod 000 abc
----------. 1 menzi menzi 0 65 15:50 abc

4.3 修改文件属主chown

[root@localhost menzi]# chown root abc
----------. 1 root menzi 0 65 15:50 abc 
[root@localhost ~]# chown -R menzi test 
//将test目录下所有的文件和目录包括自己属主改为menzi

4.4 chgrp

  设置文件所属组(普通用户要想该所属组,前提是文件所有者为自己,自己在所属组中)

  • -R 递归
  • -reference=f1 f2 f3 参考f1文件权限设置f2,f3文件

5 练习

  建立两个组神仙,妖怪;建立四个用户:唐僧、悟空、八戒、沙僧;分别给四个 用户设置密码;把悟空 八戒 放入妖怪 把唐僧 沙僧 放入神仙;用悟空建立一个文 件monkey.java 文件写一段话"I am monkey king!" ;给八戒一个可以rw的权限 ; 八戒修改monkey.java,并加入一句话 “I am pig” 唐僧 沙僧 对该文件没有权限 ;
把沙僧放入妖怪组 让沙僧修改文件monkey.java 加入了一个冒泡排序“…”

  • 创建用户和组
    在这里插入图片描述
    给用户设置密码

在这里插入图片描述 登录四个用户和root

在这里插入图片描述
给用户分组
在这里插入图片描述
创建一个java文件
在这里插入图片描述
写入文件
在这里插入图片描述
给权限

在这里插入图片描述

给权限
在这里插入图片描述
修改monkey.java文件
在这里插入图片描述
检测用户唐僧是否有权限
在这里插入图片描述
检测用户悟空是否有权限
在这里插入图片描述
把沙僧放入妖怪组
在这里插入图片描述

写一个冒泡排序程序
在这里插入图片描述

冒泡排序
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值