Linux用户管理和权限管理

目录

Linux用户管理

用户类型

用户和组相关路径

passwd文件解析

用户范围

shadow文件解析

创建、删除用户相关命令

密码相关命令

修改现有用户属性相关命令

组相关命令

查看用户相关信息

权限管理

ll命令文件和目录的信息

第一段(drwxr-xr-x)

文件权限

安全上下文

第二段(2)

第三段(root root)

第四段(6)

第五段(4月22 10:52)

第六段(文件名)

修改权限相关命令

八进制模式设置权限


Linux用户管理

用户类型

用户

说明

root

管理员(超级用户)

普通用户

能登录系统,/sbin下的命令不能用

程序用户

一般不能登录系统,给程序用的

说明

基本组

每个用户都有基本组,但最多只能有一个基本组

附加组

每个用户可以有多个附加组

  • 每一个用户和组都有自己的唯一标识:id
    • 用户:UID(user id)
    • 组:GID(group id)
  • 用户和组相关路径

路径

说明

/etc/passwd

该文件是Linux系统存储用户账户信息

/etc/group

该文件用于存储和管理用户组信息

/etc/shadow

该文件为只读文件,用于存储系统中用户的密码

passwd文件解析

# 示例
useradd zhangsan # 创建一个普通用户
cat /etc/passwd # 查看存储用户信息的文件
# 结果: 
zhangsan:x:1000:1000::/home/zhangsan:/bin/bash
# 每个数据以列显示,列与列之间以:隔开
#结构:用户名:密码:UID:GID:描述:该用户的家目录:登录时的默认Shell程序
# 密码-x:这个字段通常显示为 x,因为用户的加密密码实际上存储在 /etc/shadow 文件中。/etc/passwd 文件只保留一个占位符
# 描述:用户的全名或描述(GECOS field)

可以看到普通用户的UID是从1000开始分配的

从CentOS 7 往后开始的版本从1000开始,之前的系统从500开始

用户范围

用户

范围

root

固定为0

系统内置程序用户

1 ~ 999

普通用户

1000 ~ 60000

当用户被删除时,id会被释放,按序分配给下一个新建的用户

shadow文件解析

# 示例 zhangsan:$6$Wj4AkIEd$D61H31XsJgy/Axa6glMwgi7knKkYNQFMYyLXyVn6B8cSHnrTPL3n/OqnOw0N0uVVmQsKhhvEQPivbZ0NDa4SS/:19869:0:99999:7:::
# 结构: 
# 用户名 : 密码 : 上次修改密码的时间 : 密码最短有效期限 : 最长密码的有效天数 : 提示天数 : 宽限天数 : 失效时间 : 保留字段
# 密码:表示被加密后的密码,如果显示为!!则表示该用户未激活密码,如果显示为空则表示该用户没有密码 # 上次修改密码的时间:从1970年1月1日开始计算,单位为天数(1970.1.1是unix第一版发布的时间)
# 密码最短有效期限:为0时不限制有效期限,假如为30,代表在30天内不能改密码
# 最长密码的有效天数:假如设为60,60天后必须修改密码
# 提示天数:密码到期前的警告天数
# 宽限天数:表示在密码过期后,用户仍然可以登录的天数。如果此字段为空,那么密码过期后用户将不能登录。 
# 失效时间:如果此字段设置了,那么在到期日期之后,用户将不能登录。 
# 保留字段:这里有两个空字段,通常用于未来扩展或特定于系统的实现。

创建、删除用户相关命令

命令

说明

logout

注销用户(重新登录)

useradd 用户名

创建一个普通用户

在创建用户时,系统会自动创建一个跟用户同名的组

useradd -M 用户名 -s /sbin/nologin

创建一个程序用户,指定用户使用Shell的路径

-M或--no-create-home:不创建家目录

-s或--shell:指定新用户登录的Shell

/sbin/nologin:是一个特殊的 shell,它不允许用户登录系统

useradd -u 2000 -g 2001 用户名

-u:指定新用户的UID

-g:将用户指定到一个基本组(组要提前存在)

-G:将用户指定到一个附加组(组要提前存在)

useradd -e 2025-01-01 用户名

创建用户时指定该用户失效时间

-e或--expiredate:用户失效时间

userdel -r 用户名

删除一个用户并且删除对应家目录

密码相关命令

命令

说明

passwd 用户名

添加、修改该用户登录系统的密码

passwd -d 用户名

-d或--delete:清除该用户的密码

passwd -l 用户名

-l或--lock:锁定该用户,不能登录

passwd -u 用户名

-u或--unlock:解锁该用户

passwd -S 用户名

-S--status:查询该用户的密码状态

chage -d 0 用户名

强制修改该用户密码失效,登录时输入旧密码修改密码

修改现有用户属性相关命令

命令

说明

usermod -L 用户名

usermod:User Modify

-L或--lock:锁定该用户

usermod -U 用户名

-U或--unlock:解锁该用户

usermod -l 修改后用户名 用户名

-l或--login:修改用户的登录名

usermod -d 目标路径 用户名

-d或--home:修改该用户的家目录路径

usermod -g 组名 用户名

-g:修改用户的基本组(组必须存在)

usermod -a -G 组1,组2 用户名

-G:修改用户的附加组(组必须存在)

-a:为该用户追加附加组

不加-a就是替换原有的附加组

组相关命令

命令

说明

groupadd 组名

创建一个新组

groupdel 组名

删除一个组

如果要删除的组是某个用户的基本组是不能删除的

groupadd -g 1001 组名

创建一个新组,并指定其GID为1001

-g或--gid:指定GID

gpasswd -a 用户名 组名

-a或--add:添加

将用户添加到一个组(附加组)

gpasswd -d 用户名 组名

-d或--delete:删除

将用户从这个组删除

gpasswd -M user1,user2,user3 group1

设置组1的成员为user1,user2,user3

-M或--members:指定组的成员列表

查看用户相关信息

命令

说明

id 用户名

查看用户信息

uid=1007(zhaoliu) gid=1008(zhaoliu) 组=1008(zhaoliu)

groups 用户名

查看用户所属的组信息

zhangsan : 基本组 附加组

users

显示当前登录到系统的用户列表

w

比who命令更详细的显示当前系统信息

who

显示当前登录到系统的用户列表

权限管理

ll命令文件和目录的信息

示例:drwxr-xr-x. 2 root root 6 4月 22 10:52 文件名

第一段(drwxr-xr-x)

第一个字母:文件类型

文件类型

说明

d

目录

-

普通文件

l

链接文件

b

块设备文件(存储文件)

c

字符文件

文件权限

后面的字母每三个为一组

  • rwx:属主,这是文件所有者的权限
  • r-x:属组,这是与文件所有者同组的用户的权限
  • r-x:其他,这是其他用户的权限
安全上下文

drwxr-xr-x.(文件权限后面的点)

  • 叫做:安全上下文
    • 由内核安全机制赋予的权限,内核安全机制默认打开
    • 代表该文件
    • 在实际部署一些服务时,如果不关闭内核安全机制的话,有些服务就不能正常运行
  • 永久关闭内核安全机制
    • vim /etc/sysconfig/selinux;将SELINUX修改为disabled。重启生效
# This file controls the state of SELinux on the system. 
# SELINUX= can take one of these three values: 
# enforcing - SELinux security policy is enforced. 
# permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. 
SELINUX=disabled 
# SELINUXTYPE= can take one of three values: 
# targeted - Targeted processes are protected, 
# minimum - Modification of targeted policy. Only selected processes are protected. 
# mls - Multi Level Security protection. SELINUXTYPE=targeted

临时关闭内核安全机制

  • setenforce 0

第二段(2)

  • 这是该文件的硬链接数量。或目录内的文件数量

第三段(root root)

  1. 第一个 root 是文件或目录的所有者用户名。
  2. 第二个 root 是文件或目录所属的组名。在这个例子中,文件或目录的所有者和所属组都是 root。

第四段(6)

  • 这是目录本身的大小,以字节为单位。如果是目录的话,它只包含目录文件的元数据,而不包含其目录里文件数据的总和大小。

第五段(4月22 10:52)

  • 这是该文件或目录的最后修改时间。

第六段(文件名)

  • 这是该文件或目录的名称

修改权限相关命令

属主、属组、其他用u、g、o来表示,也可以用a(all)来一起表示这三个权限

示例:rwx r-x r-x 代表三个权限组

权限类别

rwx

r-x

r-x

说明

通常是创建该文件的用户

该用户对于当前文件的权限

除了属主之外,文件还关联了一个用户组。这个组内的成员对于当前文件的权限

属主和属组中的用户之外,所有其他用户都被视为“其他”用户

关联概念

属主

属组

其他

对应符号

u

g

o

权限

说明

r

read(读)

w

write(写)

x

execute(执行)

命令

说明

chmod u+x 文件名

给文件或目录的所有者添加执行权限。

u+x:u对应属主,表示操作的对象;x对应execute(执行),表示要为该添加执行的权限

所以u+x表示 对创建该文件的用户添加

chmod ug-rw

给文件所有者和文件关联组(u和g)减少读写(rw)的权限

chmod -R a+x 目录名

给目录和该目录下的所有子目录和文件 增加 给ugo的执行权限

chown 属主名:属组名 文件名

更改该文件的属主和属组

chown :属组名 文件名

只更改该文件的属组

chown 属主名: 文件名

只更改文件的属主

八进制模式设置权限

使用八进制模式来设置权限。在这种模式下,每个权限位都有一个数字值(读=4,写=2,执行=1),通过将这些值相加来设置特定的权限组合。

例如,chmod 755 文件名 将设置所有者的权限为读/写/执行(7=4+2+1),组的权限为读/执行(5=4+1),其他用户的权限也为读/执行(5=4+1)。

角色

对应数字

目录的默认权限

755

文件的默认权限

644

目录umask

044

目录的权限基数

777

文件umask

044

文件的权限基数

666

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值