Linux账号权限管理

账号和权限管理

linux安全模型

linux 安全上下文

vim 查看文件 f1

cat 查看文件 f1

人是系统中的用户

用户账号和组账号概述

Linux基于用户身份对资源访问进行控制

  • UID和GID

    • UID(User IDentity,用户标识号),唯一
    • GID(Group IDentity,组标识号),唯一

1. 用户账号管理

1.1 用户账号UID(User Id)

用户权限以UID表示,唯一,UID=0就是超级管理员

管理员:root 0

Linux中每个用户是通过User Id(UID)来唯一标识的 新建普通用户 1-60000 自动分配

程序用户:1-499(CentOS6以前),1-999(CentOS7以后)

普通用户:500+(CentOS6以前),1000+(CentOS7以后)

  • 用户账号(UID)

    • 超级用户(权限最大)、普通用户(权限受限的用户)、程序用户(程序用)

      • 超级用户 0超级

      • 普通用户、超级用户都是可以登录到系统中(受到系统某一类限制)

      • 程序用户:给程序使用,管理程序的用户(黑客攻破用户,不能操作系统,只能对程序破坏)

1.2 用户账号文件/etc/passwd

所有文件都存在/etc/passwd下

  • 文件位置:/etc/passwd

    保存用户名称、宿主目录(家目录)、登录Shell等基本信息

    root :x :0 :0 :root :root :/bin/shell

root :x :0 :0 :root :root :/bin/shell
用户名 密码占位符 UID GID 用户说明 宿主目录 登录类型shell类型
  • 每一行对应一个用户的账号记录

1.3 用户账号文件/etc/shadow

  • 文件位置:/etc/shadow

保存用户密码,账号有效期等

1.4 添加用户账号useradd

  • useradd命令
基本格式
useradd  [选项]  用户名

对新建用户进行设置

useradd lisi -d /data/kk  #指定家目录kk
  • 新建用户未设置密码不能登录

  • !!和*不能登录

选项
-u:指定用户的UID号,要求该UID号码未被其他用户使用
  
-d:指定用户的宿主目录位置(当与-M一起使用时,不生效)
  
-e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式
  
-g:指定用户的基本组名(或使用GID号)
  
-G:指定用户的附加组名(或使用GID号)
  
-M:不建立宿主目录,即使/etc/login.defs系统配置中已设定要建立宿主目录
  
-s:指定用户的登录 Shell /sbin/nologin 类型
  
-r:创建系统用户CentOS 6之前:ID<500,CentOS 7以后:ID<1000  系统用户=程序用户
  
-c:备注信息
  • 经常用的操作useradd -s /sbin/nologin -M -u 11111 ww

1.5 设置/更改用户口令passwd

  • passwd命令
基本格式
passwd [选项]  用户名
  
useradd lisi=passwd
  
useradd lisi=shadow
  
  
passwd

1. passwd   【passwd是一个命令(改密码)】
  
2. cat /etc/passwd   【passwd是一个文件】
常用选项
-d:清除用户密码,仅使用用户名就可以登录

-l:锁定 不让用户登录

-u:解锁,使用-f强制解锁    对所有用户生效包括超级管理员

-S:查看用户账号状态(是否被锁)

1.6 修改用户账号的属性usermod

  • usermod命令
基本格式
usermod [选项]  用户名

对已有用户进行设置
选项
-l:更改用户账号的登录名称(Login Name)

-L:锁定用户账户

-u:修改用户的 UID 号

-U:解锁用户账户

-d:修改用户的宿主目录位置。

-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

-g:修改用户的基本组名(或使用 GID 号)

-G:修改用户的附加组名(或使用 GID 号)

-s:指定用户的登录 Shell

1.7 删除用户账号userdel

  • userdel命令
基本格式

userdel [-r] 用户名

添加-r选项,表示连用户的家目录一并删除,不加-r只会删除里面的

1.8 用户账号的初始配置文件

文件来源

  • 新建用户账号,从/etc/skel目录中复制
  • cat /etc/default/useradd

用户账号初始配置文件

- ~/.bash_profile
- ~/.bashrc
- ~/.bash_logout
/etc/bashrc

2. 组账号管理

2.1 组账号GID

  • 组账号(GID)
    • 一类人拥有相同权限
      • 基本组(私有组),有且唯一
      • 附加组(公共组),可有可无,可多个

2.2 组账号初始配置文件

文件位置:/etc/group /etc/gshadow
/etc/group:保存组账号基本信息
/etc/gshadow:保存组账号的密码信息(基本不使用)

2.3 添加组账号groupadd

格式
groupadd [选项] 组账号名
-g:指定组id

2.4 删除组账号groupdel

格式
groupdel 组账号名

2.5 组内管理gpasswd

gpasswd:添加、设置、删除组成员
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔

gpasswd -d lisi wheel
#  ! 取反  谁在后面谁生效

2.6 查询组账号信息

  • groups命令
groups 用户名
查询用户所属的组
  • id命令
格式
id 用户名
查询用户身份标识
  • finger命令
先安装yum install finger -y
格式
finger 用户名
查询用户账号的详细信息,目前正在登录的用户
  • w、who、users、whoami命令
wheel #超级管理员组
w #命令查询已登录到主机的用户信息
who #命令只能显示当前登录的用户信息,无法知晓每个用户正在执行的命令
users #命令简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。 如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数。
whoami  #查看当前登录用户信息

3.权限掩码umask

umask 作用控制新建文件或文件夹的权限

文件默认最大权限为666,因为x执行权限很危险,所以需要去掉 777-111=666

文件夹默认最大权限为777

新建文件默认权限=666-umask(umask中含有1 是不需要减去的)
新建文件夹/目录默认权限=777-umask
非特权用户的umask默认002
root的umask默认022
umask是需要减去的权限
普通权限对root无效
问题:

执行cp /etc/issue /data/dir/所需要的最小权限?


/bin/cp          #需要x权限

/etc/            #需要x权限

/etc/issue       #需要r权限

/data            #需要x权限

/data/dir        #需要wx权限

3.1 文件/目录的权限和归属

归属

  • 属主 u
  • 属组 g
  • 其他人 o
  • 所有人 a
访问人群
u 所属主
g 所属组
o 其他人
a 所有人

访问权限:

  • 读取r:允许查看文件内容、显示目录列表
  • 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
  • 可执行x:允许运行程序、切换目录
权限
r,4
w,2
执行(程序、脚本) x,1

3.2 对文件的权限

  • 一个文件是否可以被删除和本身权限没有关系,和所在文件夹有关
r #可使用文件查看类工具,如cat
w #可修改其内容
x #可以执行此文件(文件内容必须是可执行)

3.3 对目录的权限

  • 执行权限是文件夹的最小权限,如果没有x权限,文件夹的rw权限没有用
r #可以使用ls查看目录中文件列表
w #可以在此目录中创建文件,也可以删除此目录中的文件,与权限无关
x #可以cd进入此目录,可用ls -l查看此目录中文件元数据(配合r权限)

3.4 修改

chmod 修改权限

chmod 对谁(u,g,o,a)操作(+,-,=) 权限(r,w,x) 文件
chmod -R 递归修改

chown 修改所属主

chown 用户:组名  文件名
chown -R 递归修改
chown -R zhangsan:zhangsan /opt/aa/
            用户    组名     文件名

3.5 三种特殊权限

suid

SGID

Sticky
posted @   Candy独角兽  阅读(100)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2022-07-23 随记1
2022-07-23 快捷键
2022-07-23 Day01

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示