首页 > 系统相关 > Linux学习-DAY8

Linux学习-DAY8

时间:2023-02-09 21:01:09浏览次数:47  
标签:文件 DAY8 用户 学习 命令 参数 Linux 权限 目录

第5章 用户身份与文件权限

5.1用户身份与能力

UID=0:            root用户

UID=1~999:    系统用户

UID=>1000:     普通用户

注意:如果创建用户的时候手动指定了用户UID,那一定要注意,UID不能和其他用户的UID相同,这样容易出现错误

Linux用户组

 Linux学习-DAY8_用户名

1.id命令

id命令用于显示用户的详细信息,语法格式为“id用户名”。

2.useradd命令

useradd命令用于创建新的用户账户,语法格式为“useradd [参数] 用户名”。

 useradd命令中的参数以及作用

参数

作用

-d

指定用户的家目录(默认为/home/username)

-e

账户的到期时间,格式为YYYY-MM-DD.

-u

指定该用户的默认UID

-g

指定一个初始的用户基本组(必须已存在)

-G

指定一个或多个扩展用户组

-N

不创建与用户同名的基本用户组

-s

指定该用户的默认Shell解释器

3.groupadd命令

groupadd命令用于创建新的用户组,语法格式为“groupadd [参数] 群组名”。

4.usermod命令

usermod命令用于修改用户的属性,英文全称为“user modify”,语法格式为“usermod [参数] 用户名”。

     usermod命令中的参数以及作用

参数

作用

-c

填写用户账户的备注信息

-d -m

参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去

-e

账户的到期时间,格式为YYYY-MM-DD

-g

变更所属用户组

-G

变更扩展用户组

-L

锁定用户禁止其登录系统

-U

解锁用户,允许其登录系统

-s

变更默认终端

-u

修改用户的UID

5.passwd命令

passwd命令用于修改用户的密码、过期时间等信息,英文全称为“password”,语法格式为“passwd [参数] 用户名”。

     passwd命令中的参数以及作用

参数

作用

-l

锁定用户,禁止其登录

-u

解除锁定,允许用户登录

--stdin

允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username

-d

使该用户可用空密码登录系统

-e

强制用户在下次登录时修改密码

-S

显示用户的密码是否被锁定,以及密码所采用的加密算法名称

etc/shadow下可以查看用户,是否设置密码以及加密方式:

 Linux学习-DAY8_用户名_02

6.userdel命令

userdel命令用于删除已有的用户账户,英文全称为“user delete”,语法格式为“userdel [参数] 用户名”。

  userdel命令中的参数以及作用

参数

作用

-f

强制删除用户

-r

同时删除用户及用户家目录

5.2文件权限与归属

在Linux系统中,每个文件都有归属的所有者和所属组,并且规定了文件的所有者、所属组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。

 Linux学习-DAY8_用户名_03

 Linux学习-DAY8_用户名_04

 Linux学习-DAY8_文件名_05

 Linux学习-DAY8_用户名_06

上图包含了文件的类型、访问权限、所有者(属主)、所属组(属组)、占用的磁盘大小、最后修改时间和文件名称等信息。通过分析可知,该文件的类型为普通文件,所有者权限为可读、可写(rw-),所属组权限为可读(r--),除此以外的其他人也只有可读权限(r--),文件的磁盘占用大小是34298字节,最近一次的修改时间为4月2日的0:23,文件的名称为install.log。

常见的文件类型包括普通文件(-)、目录文件(d)、链接文件(l)、管道文件(p)、块设备文件(b)以及字符设备文件(c)。

5.3文件的特殊权限

 Linux学习-DAY8_文件名_07

1.SUID

SUID是一种对二进制程序进行设置的特殊权限,能够让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效)

2.SGID

SGID特殊权限有两种应用场景:当对二进制程序进行设置时,能够让执行者临时获取文件所属组的权限;当对目录进行设置时,则是让目录内新创建的文件自动继承该目录原有用户组的名称。

chmod命令用于设置文件的一般权限及特殊权限,英文全称为“change mode”,语法格式为“chmod [参数] 文件名”。

chown命令用于设置文件的所有者和所有组,英文全称为change own,语法格式为“chown所有者:所有组 文件名”。

chmod和chown命令是用于修改文件属性和权限的最常用命令,它们还有一个特别的共性,就是针对目录进行操作时需要加上大写参数-R来表示递归操作,即对目录内所有的文件进行整体操作。

3.SBIT

SBIT特殊权限位可确保用户只能删除自己的文件,而不能删除其他用户的文件。换句话说,当对某个目录设置了SBIT粘滞位权限后,那么该目录中的文件就只能被其所有者执行删除操作了。其实,文件能否被删除并不取决于自身的权限,而是看其所在目录是否有写入权限。

  SUID、SGID、SBIT特殊权限的设置参数

参数

作用

u+s

设置SUID权限

u-s

取消SUID权限

g+s

设置SGID权限

g-s

取消SGID权限

o+t

设置SBIT权限

o-t

取消SBIT权限

 Linux学习-DAY8_用户组_08

 Linux学习-DAY8_用户名_09

 Linux学习-DAY8_用户名_10

5.4文件的隐藏属性

Linux系统中的文件除了具备一般权限和特殊权限之外,还有一种隐藏权限,即被隐藏起来的权限,默认情况下不能直接被用户发觉。既然叫隐藏权限,那么使用常规的ls命令肯定不能看到它的真面目。隐藏权限的专用设置命令是chattr,专用查看命令是lsattr。

1.chattr

chattr命令用于设置文件的隐藏权限,英文全称为change attributes,语法格式为“chattr [参数] 文件名称”。如果想要把某个隐藏功能添加到文件上,则需要在命令后面追加“+参数”,如果想要把某个隐藏功能移出文件,则需要追加“-参数”。

 chattr命令中的参数及其作用

参数

作用

i

无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件

a

仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)

S

文件内容在变更后立即同步到硬盘(sync)

s

彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)

A

不再修改这个文件或目录的最后访问时间(atime)

b

不再修改文件或目录的存取时间

D

检查压缩文件中的错误

d

使用dump命令备份时忽略本文件/目录

c

默认将文件或目录进行压缩

u

当删除该文件后依然保留其在硬盘中的数据,方便日后恢复

t

让文件系统支持尾部合并(tail-merging)

x

可以直接访问压缩文件中的内容

 Linux学习-DAY8_用户组_11

2.lsattr命令

lsattr命令用于查看文件的隐藏权限,英文全称为“list attributes”,语法格式为“lsattr [参数] 文件名称”。

5.5文件访问控制列表

一般权限、特殊权限、隐藏权限其实有一个共性—权限是针对某一类用户设置的,能够对很多人同时生效。如果希望对某个指定的用户进行单独的权限控制,就需要用到文件的访问控制列表(ACL)了。通俗来讲,基于普通文件或目录设置ACL其实就是针对指定的用户或用户组设置文件或目录的操作权限,更加精准地派发权限。另外,如果针对某个目录设置了ACL,则目录中的文件会继承其ACL权限;若针对文件设置了ACL,则文件不再继承其所在目录的ACL权限。

1.setfacl命令

setfacl命令用于管理文件的ACL权限规则,英文全称为“set files ACL”,语法格式为“setfacl [参数] 文件名称”。

2.getfacl命令

getfacl命令用于查看文件的ACL权限规则,英文全称为“get files ACL”,语法格式为“getfacl [参数] 文件名称”。

 Linux学习-DAY8_文件名_12

 Linux学习-DAY8_用户组_13

备份ACL  getfacl -R home > backup.acl

恢复ACL  setfacl --restore backup.acl

5.6 su命令与sudo服务

su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户

su linuxprobe : 不会初始化用户环境

su -linuxprobe: 初始化用户环境

sudo命令用于给普通用户提供额外的权限,语法格式为“sudo [参数] 用户名”。

使用sudo命令可以给普通用户提供额外的权限来完成原本只有root管理员才能完成的任务,可以限制用户执行指定的命令,记录用户执行过的每一条命令,集中管理用户与权限(/etc/sudoers),以及可以在验证密码后的一段时间无须让用户再次验证密码。

isudo命令用于编辑、配置用户sudo的权限文件,语法格式为“visudo [参数]”。

 Linux学习-DAY8_文件名_14


标签:文件,DAY8,用户,学习,命令,参数,Linux,权限,目录
From: https://blog.51cto.com/u_14211843/6047316

相关文章

  • 自我介绍和学习心得
    自我介绍和学习心得一.自我介绍1.我的基本信息,性格,爱好等我的基本信息我叫李志恒,男,来自河南南阳,之前在材料成型及控制工程1班,现在在计算机科学与技术1班性格性格比较......
  • 自我介绍与学习记录
    这个作业属于哪个课程https://edu.cnblogs.com/campus/fzzcxy/2023learning这个作业要求在哪里https://edu.cnblogs.com/campus/fzzcxy/2023learning/homework/1......
  • 自我介绍和学习记录
    这个作业属于哪个课程https://www.bilibili.com/video/BV1EW411u7th/?p=1&vd_source=216cf9b3022cb27589439297d6b1da9a这个作业要求在哪里https://edu.cnblogs.......
  • 《分布式技术原理与算法解析》学习笔记Day06
    分布式事务什么是分布式事务?事务提供了一种机制,将包含一系列操作的工作序列纳入到一个不可分割的执行单元,只有所有操作都被正确执行才能提交事务,任意一个操作失败都会导......
  • 自我介绍与学习心得
    1.自我介绍大家好,我是于建潮,来自于河北的保定,上学期是传媒与设计系工业设计专业的一个学生,非常高兴能与大家一起来到软件工程这个专业。我的生日是11月6日,星座是天蝎座。......
  • 自我介绍与学习内容记录
    自我介绍与学习内容记录这个作业属于哪个课程22级转专业同学寒假作业这个作业要求在哪里第一次寒假作业这个作业的目标自我介绍与学习内容记录自我介......
  • Spring学习笔记
    Spring的优良特性非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API控制反转:IOC——InversionofControl,指的是将对象的创建权交给Spring去创建。使用S......
  • 自我介绍和学习心得
    这个作业属于哪个课程https://edu.cnblogs.com/campus/fzzcxy/2023learning?filter=homework这个作业要求在哪里https://edu.cnblogs.com/campus/fzzcxy/2023lea......
  • 自我介绍和学习心得
    这个作业属于哪个课程班级链接这个作业要求在哪里作业链接这个作业的目标自我阐述基本信息叮咚~WARNING:秉着各位都是自己人,我就不拿各位当外人的看法,本......
  • 自我介绍和学习记录
    这个作业属于哪个课程https://edu.cnblogs.com/campus/fzzcxy/2023learning这个作业要求在哪里https://edu.cnblogs.com/campus/fzzcxy/2023learning/homework/1......