Linux账号与权限管理

一、用户和组账号管理

1.1用户账号

  • 超级用户
  • 普通用户
  • 程序用户

1.2组账号

  • 基本组:有且唯一,默认新建用户时自动添加同名的组,基本组在 /etc/passwd 文件中指定
  • 附加组:可有可无,可以有多个,附加组在 /etc/group 文件中指定

1.3ID

1.3.1UID

UID 是区分用户的基本依据,原则上每个用户的 UID 号应该是唯一的。

系统版本 超级用户 程序用户 普通用户
CentOS 6以前 0 1-499 500-60000
CentOS 7以后 0 1-999 1000-60000
1.3.2GID

与 UID 类似,每一个组账号也有一个数字形式的身份标记,称为 GID。
root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。

1.4用户账号管理

1.4.1用户文件位置
  • /etc/passwd
    存放保存用户名称、宿主目录、登录 Shell 等基本信息
mtwm:x:1000:1000:mtwm:/home/mtwm:/bin/bash
mtwm 用户名称
:x 密码占位符
:1000 UID
:1000 GID
:mtwm 备注信息,描述
:/home/mtwm 家目录路径
:/bin/bash shell环境
  • /etc/shadow
    存放保存密码
mtwm:$6$lUXP9zJMkSSSSJ.8$vkxPwwCWw25rfdlw0q7Zj.vHzG3p.Yen7b/pRB8cJbjtp.7sOTgvx434WCE0u/hNmQI3ItO4XFVaIhAEv6ySZ.::0:99999:7:::
第一mtwm:用户名
第二:密码
第三:最后一次修改密码时间
第四0:修改密码最小天数
第五99999:密码有效期
第六7:提前7天提醒
第七:宽限天数
第八:失效时间
第九:保留
1.4.2添加用户
useradd [选项] 用户
-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:指定用户的基本组名(或使用 GID 号)。
-G:指定用户的附加组名(或使用 GID 号)。
-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。
-s:指定用户的登录 Shell /sbin/nologin
-r:创建系统用户
-c:备注信息
1.4.3密码管理
passwd [选项] 用户
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户。
-S:查看用户账户的状态(是否被锁定)。
-u:解锁用户账户。
1.4.4修改用户属性
usermod [选项] 用户名
-l 更改用户账号的登录名称(Login Name)
-L 锁定用户账户
-u 修改用户的 UID 号
-U 解锁锁用户账户
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:修改用户的基本组名(或使用 GID 号)
-G:修改用户的附加组名(或使用 GID 号)
-s:指定用户的登录 Shell
1.4.5删除用户
userdel [选项] 用户
-r 将宿主目录一起删除
1.4.6用户初始配置

用户宿主目录下的初始配置文件只对当前用户有效

~/ .bash_profile
#此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会调用该用户的~/.bashrc文件
~/.bashrc
#此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行(登录 切换 新的bash环境)
~/.bash_logout
#此文件中的命令将在该用户每次退出时bash shell时使用

1.5组账号管理

1.5.1组账号文件
/etc/group:#保存组帐号基本信息
/etc/gshadow:#保存组帐号的密码信息基本不使用
1.5.2添加组
groupadd 组名
groupadd [-g GID] 组名
1.5.3管理组
gpasswd 命令——添加、设置、删除组成员
-a:组内添加一个用户
-d:组内删除一个用户
-M:定义组成员列表,以逗号分隔
1.5.4删除组
groupdel 组名

1.6查询

  • figure
    查询用户帐号的详细信息
    figure 用户账号
  • w
    查询已登录到主机的用户信息
w [选项] [用户名]
-h 不显示输出信息的标题
-l 用长格式输出
-s 用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间
-V 显示版本信息
  • who
    只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令
who [选项] [file]
-a 列出所有信息,相当于所有选项。
-b 列出系统最近启动的时间日期。
-l 列出所有可登陆的终端信息。
-m 仅列出关于当前终端的信息,`who -m` 命令等同于 `who am i`。
-q 列出在本地系统上的用户和用户数的清单。
-r 显示当前系统的运行级别。
-s 仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。
-u 显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。
-T或-w 显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。
  • users
    登陆此终端的用户
    users

二、文件目录的权限和归属

2.1文件和目录的权限

  • 权限的访问者
    • 属主(u)
    • 属组(g)
    • 其他(o)
  • 访问权限
    • r读权限
    • w写权限
    • x执行权限
  • 二进制数字表示权限:
r w x
1 0 0
0 1 0
0 0 1

二进制转换成十进制:
r =100(二进制)--->4(十进制)
w=010(二进制)--->2(十进制)
x =001(二进制)--->1(十进制)
二进制权限:

rwx rwx rwx
二进制 111 111 111
十进制 7 7 7
  • 对文件的权限

    • r可以查看文件内容,如cat
    • w可以修改文件内容
    • x可以执行该文件
  • 对目录的权限

    • r可以使用ls查看此目录中文件列表
    • w可以在目录中创建文件和删除文件,和文件本身权限无关
    • x可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限

2.2修改文件和目录的权限chmod

chmod #格式
#1.模式法
chmod [u:属主;g:属组;o:其他人;a:所有人][+:增加;-:减少;=:覆盖][r:读;w:写;x:执行]文件
#2.数字法
chmod 三组数字 文件目录
-R 递归,将文件夹下所有文件都修改权限

2.3修改文件和目录的归属chown

chown #格式
#1.改属主
chown 属主 文件目录
#2.改属组
chown :属组 文件目录
#3.改属主属组
chown 属主:属组 文件目录
-R 递归,将文件夹下所有文件都修改权限

2.4umask

作用:保留在创建文件权限

umask
查看umask值:umask
修改umask值:umask 数值

新建文件夹权限=777-umask(文件夹默认最高777)
新建文件权限=666-umask(文件默认最高666)
root的umask 默认是 022
非特权用户umask默认是 002

本文作者:德国南部之星

本文链接:https://www.cnblogs.com/mtwm/p/17575061.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   德国南部之星  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑