《Linux就该这么学》第5章 用户身份与文件权限

5.1 用户身份与能力

1、root管理员:Linux系统的管理员之所以是root,并不是因为它的名字叫root,而是因为该用户的身份号码即UID(User IDentification)的数值为0。
2、系统用户UID为1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。
3、普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。
4、用户组:通过使用用户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方便为组中的用户统一规划权限或指定任务
(基本用户组和扩展用户组:在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组,从而满足日常的工作需要。)

基本命令语句:

1、useradd命令:用于创建新的用户,格式为“useradd [选项] 用户名”。

使用该命令创建用户账户时,默认的用户家目录会被存放在/home目录中,默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。这些默认设置可以根据表5-1中的useradd命令参数自行修改。
在这里插入图片描述

2. groupadd命令:用于创建用户组,格式为“groupadd [选项] 群组名”。

3. usermod命令:用于修改用户的属性,格式为“usermod [选项] 用户名”。在这里插入图片描述

4. passwd命令:用于修改用户密码、过期时间、认证信息等,格式为“passwd [选项] [用户名]”

Note:普通用户只能使用passwd命令修改自身的系统密码,而root管理员则有权限修改其他所有人的密码。
在这里插入图片描述
举个栗子:在这里插入图片描述

5. userdel命令:用于删除用户,格式为“userdel [选项] 用户名”

在这里插入图片描述
举个栗子:在这里插入图片描述

5.2 文件权限与归属

1、区分不同文件类型的常见字符:

-:普通文件。
d:目录文件。
l:链接文件。
b:块设备文件。
c:字符设备文件。
p:管道文件。

2、文件的三个权限,可读(r)、可写(w)、可执行(x):

(1)对于一般文件来说:
“可读”表示能够读取文件的实际内容;
“可写”表示能够编辑、新增、修改、删除文件的实际内容;
“可执行”则表示能够运行一个脚本程序
(2)对于目录文件:
“可读”表示能够读取目录内的文件列表;
“可写”表示能够在目录内新增、删除、重命名文件;
“可执行”则表示能够进入该目录
在这里插入图片描述
在这里插入图片描述

5.3 文件的特殊权限

三种特殊权限位:
1、SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。
查看passwd命令属性时发现所有者的权限由rwx变成了rws,其中x改变成s就意味着该文件被赋予了SUID权限。另外有读者会好奇,那么如果原本的权限是rw-呢?如果原先权限位上没有x执行权限,那么被赋予特殊权限后将变成大写的S。
在这里插入图片描述
2、SGID
让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置);
在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。
举例:chmod -Rf g+s testdir/
3、SBIT(Sticky Bit) 特殊权限位
可确保用户只能删除自己的文件,而不能删除其他用户的文件。
(用chmod命令就可以了。对应的参数o+t代表设置SBIT粘滞位权限)

常用命令:chmod和chown。

1、chomod用来设置文件或目录的权限,格式为“chmod [参数] 权限 文件或目录名称”。

2、chwon用来设置文件或目录的所有者和所属组,格式为“chown [参数] 所有者:所属组 文件或目录名称”。

5.4 文件的隐藏属性

1. chattr命令:用于设置文件的隐藏权限,格式为“chattr [参数] 文件”。

如果想要把某个隐藏功能添加到文件上,则需要在命令后面追加“+参数”,如果想要把某个隐藏功能移出文件,则需要追加“-参数”。
在这里插入图片描述

2. lsattr命令:用于显示文件的隐藏权限,格式为“lsattr [参数] 文件”。

5.5 文件访问控制列表

如果希望对某个指定的用户进行单独的权限控制,就需要用到文件的访问控制列表(ACL)了。
基于普通文件或目录设置ACL其实就是针对指定的用户或用户组设置文件或目录的操作权限。另外,如果针对某个目录设置了ACL,则目录中的文件会继承其ACL;若针对文件设置了ACL,则文件不再继承其所在目录的ACL。

1. setfacl命令:用于管理文件的ACL规则,格式为“setfacl [参数] 文件名称”。

使用setfacl命令可以针对单一用户或用户组、单一文件或目录来进行读/写/执行权限的控制。其中,针对目录文件需要使用-R递归参数;针对普通文件则使用-m参数;如果想要删除某个文件的ACL,则可以使用-b参数。

2. getfacl命令:用于显示文件上设置的ACL信息,格式为“getfacl 文件名称”。

在这里插入图片描述

5.6 su命令与sudo服务

1、su命令:从一个用户切换到另一个用户

在这里插入图片描述
这里的(-)表示完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。强烈建议在切换用户身份时添加这个减号(-)。

2、sudo服务:用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式为“sudo [参数] 命令名称”。

在这里插入图片描述

sudo命令的功能:
1、限制用户执行指定的命令:
2、记录用户执行的每一条命令;
3、配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;
4、验证密码的后5分钟内(默认值)无须再让用户再次验证密码。

visudo命令:配置用户权限
(只有root管理员才可以使用visudo命令编辑sudo服务的配置文件。)

使用visudo命令配置sudo命令的配置文件时,其操作方法与Vim编辑器中用到的方法一致,因此在编写完成后记得在末行模式下保存并退出。在sudo命令的配置文件中,按照下面的格式将第99行(大约)填写上指定的信息:
谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表
举个栗子:
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值