Linux学习(4):用户身份与文件权限

20230519所阅刘遄《Linux就该这么学》第五章所做笔记

用户身份与能力

useradd命令

该命令用于创建新用户
格式:useradd [选项] 用户名
Linux系统在创建用户时,将自动创建一个与其同名的基本用户组,而基本用户组只有该用户一人。如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组

参数作用
-d指定用户的家目录(默认为/home/username)
-e账户的到期时间,格式为YYYY-MM-DD.
-u指定该用户的默认 UID
-g指定一个初始的用户基本组(必须已存在 )
-G指定一个或多个扩展用户组
-N不创建与用户同名的基本用户组
-s指定该用户的默认 Shell 解释器

groupadd命令

该命令用于创建组
格式:groupadd [选项] 群组名

usermod命令

该命令用于修改用户属性
格式:usermod [选项] 群组名

参数作用
-c填写用户账户的备注信息
-d -m参数-m 与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e账户的到期时间,格式为YYYY-MM-DD
-g变更所属用户组
-G变更扩展用户组
-L锁定用户禁止其登录系统
-U解锁用户,允许其登录系统
-s变更默认终端
-u修改用户的 UID

passwd命令

该命令用于修改用户密码、过期时间、认证信息等
格式:passwd [选项] [用户名]
root管理员在Linux系统中修改自己或他人的密码时不需要验证旧密码

参数作用
-l锁定用户,禁止其登录
-u解除锁定,允许用户登录
–stdin允许通过标准输人修改用户密码,如echo"NewPassWord"passwd–stdin Username
-d使该用户可用空密码登录系统
-e强制用户在下次登录时修改密码
-S显示用户的密码是否被锁定,以及密码所采用的加密算法名称

userdel 命令

该命令用于删除用户
格式:userdel [选项] 用户名

参数作用
-f强制删除用户
-r同时删除用户及用户家目录

文件权限与归属

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

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

权限项执行
字符表示rwx
数字表示421

如:rwxrw-r–表示的是所有者对文件有可读可写可执行的权限,所属组成员对文件有可读可写的权限,其他人对文件只有可读的权限

文件特殊权限

SUID

权限允许一个程序在执行时使用该程序的拥有者(一般情况下是root用户)的权限来访问系统资源。例如,一个可执行文件的所有者将该文件设置为SUID,则任何用户在执行该程序时都会具有该文件所有者的权限。在这种方式下,即使用户本身没有足够的权限访问某些资源,通过SUID权限,仍然可以在该资源上执行相应的操作。
设置SUID之后权限由rwx变成rxs,如果没有x(可执行)权限,那么被赋予SUID权限之后将变成大写S

通过chmod命令将SUID权限添加到该文件或脚本上,例如:

chmod u+s /path/to/file

SGID

权限允许一个程序在执行时使用该程序所在组的权限来访问系统资源。例如,一个目录的所属组被设置为SGID,那么该目录下的所有文件和子目录都将继承该目录所在组的权限。这种方式下,即使用户不是该组的成员,也可以通过SGID权限访问该组所拥有的资源。

通过chmod命令将SGID权限添加到该目录或文件上,例如:

chmod g+s /path/to/directory

chmod

用于设置文件或目录的权限
格式:chmod [参数] 权限 文件或目录名称

chown

用于设置文件或目录的所有者和所属组
格式:chown [参数] 所有者:所属组 文件或目录名称

chmod和chown命令是用于修改文件属性和权限的最常用命令,在针对目录进行操作时需要加上大写参数-R来表示递归操作

SBIT

SBIT特殊权限位可确保用户只能删除自己的文件,不能删除其他用户的文件,当某个目录设置了SBIT粘滞位权限之后,那么该目录的文件只能被所有者执行删除操作了。RHEL7系统中的/tmb作为一个共享文件的目录,默认已经设置了SBIT特殊权限位了。
当目录被设置SBIT特殊权限位后,文件的其他人权限部分的x执行权限会被替换成t或者T,没有x执行权限则会被写成T

要设置一个文件的 SBIT 属性,可以使用 chmod 命令,对应的参数o+t代表设置SBIT粘滞位权限:

chmod -R o+t linux/

文件的隐藏属性

chattr

用于设置文件的隐藏权限
格式:chattr [参数] 文件
想要把某个隐藏功能添加到文件上,则需要在命令后面追加“”+参数“”,想要把某个隐藏功能移出文件,则需要追加“-参数”

参数作用
i无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S文件内容在变更后立即同步到硬盘(sync)
s彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
A不再修改这个文件或目录的最后访问时间(atime)
b不再修改文件或目录的存取时间
D检查压缩文件中的错误
d使用dump 命令备份时忽略本文件/目录
c默认将文件或目录进行压缩
u当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t让文件系统支持尾部合并(tail-merging)
X可以直接访问压缩文件中的内容

lsattr

显示文件的隐藏权限
格式:lsattr [参数] 文件

文件访问控制列表

ACL是一种用于控制文件或目录访问权限的机制,它可以允许或禁止单个用户或组访问文件或目录。

setfacl

用于管理文件的ACL规则
格式:setfacl [参数] 文件名称

参数作用
-R针对目录文件需要递归
-m针对普通文件
-b删除某个文件的ACL

getfacl

用于显示文件上设置的ACL信息
格式:getfacl 文件名称

su命令和sudo服务

su

在不退出登录的情况下,解决切换用户身份的需求
在切换到新用户时,su命令与用户名之间有一个减号(-),意味着切换到新的用户,把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。

su - root

sudo

把特定命令的执行权限赋予给指定用户

参数作用
-h列出帮助信息
-l列出当前用户可执行的命令
-u 用户名或UID值以指定的用户身份执行命令
-k清空密码的有效时间,下次执行 sudo 时需要再次进行密码验证
-b在后台执行指定的命令
-p更改询问密码的提示语

可以使用sudo提供的visudo来配置用户权限,一般在第99行,按照格式填写上指定的用户信息:
谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表
在这里插入图片描述
在赋予用户某个指令选项时候,一定要写出改名的绝对路径(使用 whereis 指令)

在这里插入图片描述
切换用户使用该命令时,前面要加上sudo
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值