用户身份与文件权限

本文详细介绍了Linux系统中的用户身份,包括UID、GID、用户管理命令如useradd、passwd、usermod等,以及文件权限的概念和管理,如读、写、执行权限,特殊权限SUID、SGID、SBIT。还提到了文件访问控制列表(ACL)的使用,如setfacl和getfacl命令。此外,讨论了用户切换和sudo命令的用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户身份

UID(User Identification):每个用户都有对应的UID值

超级用户 UID0:root 用户默认为0
系统用户 UID1-999:系统中系统服务由不同用户运行,更加安全,默认被限制登陆系统
普通用户UID1000~:即管理员创建的用于日常工作而不能管理系统的普通用户

注意UID一定是不能冲突的,管理员创建的普通用户UID从1000开始(即便前面有闲置的号码)

GID(Group Identification):可将多个用户加入一个组中,方便指派任务或工作

/etc/passwd:保存账户名称
/etc/shadow:保存账户密码
/etc/group:保存用户组名称和GID

*每个用户在被创建的时候会被创建一个默认组(GID和UID相同,俗称基本组),而后加入的称为扩展组组。

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

-d :指定用户的家目录(默认为/home/username)
-D :展示默认值
-e :帐号有效截至日期,格式:YYYY-MM-DD.
-g :指定一个初始用户组(必须已存在)
-G :指定一个或多个扩展用户组
-N :不创建与用户同名的用户组
-s :指定默认的Shell
-u :指定用户的UID

passwd命令用于修改用户的密码,格式为:“passwd [选项] [用户名]”

修改当前用户的密码:passwd
修改其他用户的密码:passwd 其他用户名
-l:锁定用户禁止其登陆
-u:解除锁定,允许用户登陆。
–stdin:允许从标准输入修改用户密码,如(echo “NewPassWord” | passwd –stdin Username)
-d:使帐号无密码
-e:强制用户下次登陆时修改密码
-S:显示用户的密码状态

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

-f:强制删除用户,家目录与其相关文件
-r:同时删除用户,家目录与其相关文件

usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”

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

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

-f:强制删除用户,家目录与其相关文件
-r:同时删除用户,家目录与其相关文件

usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”

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

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

文件权限

Linux系统中一切都是文件,文件和目录的所属与权限——来分别规定所有者、所有组、其余人的读,写,执行权限。
读(read),写(write),执行(execute)简写即为(r,w,x),亦可用数字(4,2,1)表示

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

普通文件(实际保存数据的地方,其并不具备删除自身的权限):

r:可读取文件的实际内容
w:可编辑/新增/修改该文件的实际内容
x:可执行

目录文件(保存有目录结构和文件权限):

r:可读取目录结构和权限
w:课更改目录结构列表,新建/删除/重命名/转移子文件或目录
x:用户可以进入该目录

文件的特殊权限

1. SUID:让执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)
2. SGID:

功能一:让执行者临时拥有属组的权限(对拥有执行权限的二进制程序设置)
功能二:在该目录中创建的文件自动继承此目录的用户组(只可以对目录设置)

3. SBIT(Sticky Bit):只可管理自己的数据而不能删除他人文件(仅对目录有效)

修改文件和目录权限和所有者所有组的命令:

chmod命令用于修改文件或目录的权限,格式为:”chmod [参数] 权限 文件或目录名称”
chown命令用于修改文件或目录的所属主与所属组,格式为:“chown [参数] 所属主:所属组 文件或目录名称”

chmod与chown的命令参数——对于文件不加参数,遇到目录加大写-R(递归,修改目录内所有文件的属性)。

4:SUID (U+S)
2:SGID (G+S)
1:SBIT

在原先777前加上需要修改的数字,如:chmod 4777 test ls -l -rwsrwxrwx

chattr(change attribute)命令 用于设置文件的隐藏属性,格式: chattr [参数] 文件

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

lsattr命令 用于显示文件的隐藏权限,格式:lsattr [参数] 文件

a:显示所有文件和目录
l:显示隐藏属性的全称(默认简写成一个字母)
R:递归处理,将指定目录下的所有文件及子目录一并处理
d:若目标文件为目录,请加此参数

su命令 用于变更使用者的身份,格式:su [-] 用户名(需要将环境变量改变为新用户时添加参数-)

sudo命令 用于给普通用户提供额外权利来完成原本属于超级用户才能完成的任务,格式:sudo [参数] 命令名称

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

sudo的特色功能

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

文件访问控制列表

ACL设置指定有点特定用户或用户组队某个文件的操作权限*

setfacl命令 用于增加或者修改ACL规则,格式:setfacl [参数] 文件

-R:递归(对目录使用)
-m:设置文件的acl规则
-b:删除acl规则

getfacl命令 用于显示文件的ACL规则,格式:getfacl 文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值