Linux账号和权限管理

news2024/11/17 4:28:28

目录

前言

一、管理用户账号

1、Linux系统中用户账号类型

2、用户标识UID的分类

3、用户账号文件

4、用户账号的初始配置文件

5、用户账号的管理命令

5.1 useradd

5.2 usermod

5.3 passwd

5.4 userdel

二、管理组账号

1、Linux系统中组账号类型

2、组标识号GID的分类

3、组账号文件

4、组账号的管理命令

4.1 groupadd

4.2 gpasswd

4.3 groupdel

三、查询用户信息

1、finger

2、w

3、who

四、目录/文件的权限和归属

1、目录/文件的三种权限

2、访问人群(设置权限的对象)

3、修改目录/文件的权限和归属的命令

3.1 chmod

3.2 chown

3.3 umask

3.4 特殊权限

3.4.1 sticky

3.4.2 suid

3.4.3 guid


前言

Linux系统是一个多用户多任务的分时操作系统,即可通过不同的用户来管理操作系统。我们可以给不同的用户设置不同的权限,来实现不同的需求。而在企业中也是通过创建不同用户,分配不同的权限,这样企业中不同的职位就可根据自己用户权限的大小实现工作中的分工

一、管理用户账号

1、Linux系统中用户账号类型

  • 普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限
  • 超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限,系统中超级用户是唯一的
  • 程序用户: 在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等

 2、用户标识UID的分类

  • Linux 操作系统中的每一个用户账号都有一个数字形式的身份标记,称为用户标识号UID
  • UID是操作系统区分用户的基本依据,原则上每个用户的UID号应该是唯一,但也可使用useradd的-o选项来允许使用重复的 UID 创建用户

用户标识号UID的分类:

操作系统版本用户类型UID范围

CentOS 6

普通用户1~499
超级用户固定值为0
程序用户500~60000(可修改)
CentOS 7普通用户1000~60000(可修改)
超级用户固定值为0
程序用户1~999

3、用户账号文件

  • /etc/passwd:存放保存用户名称、宿主目录、登录 Shell 等基本信息

     共7段,用冒号“:”隔开

  • /etc/shadow:存放用户密码,账号有效期等信息

      共9段,用冒号“:”隔开

4、用户账号的初始配置文件

  • 文件来源

新建用户帐号时,从 /etc/skel 目录中复制而来

cat  /etc/default/useradd

  • 主要的用户初始配置文件

~/.bash_profile:开机前先运行的命令文件

~/.bashrc:开机前先运行的命令文件

~/.bash_logout:关机前先运行的命令文件

5、用户账号的管理命令

5.1 useradd
  • 新建用户账号
  • 若未明确指定用户的宿主目录,则在/home 目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件
  • 原理:使用useradd命令新建用户其实是在/etc/passwd末尾增加一条该用户账号的记录 ,实际上useradd命令是修改了passwd文件内容

通式:useradd  选项  新用户名

选项说明
-u指定用户的 UID 号,要求该 UID 号码未被其他用户使用
-M不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录
-s指定用户的登录 Shell
-e指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式
-d指定用户的宿主目录位置(当与-M 一起使用时,不生效)
-c添加用户的备注信息
-g指定用户的基本组名(或使用 GID 号)
-G指定用户的附加组名(或使用 GID 号)

拓展:

useradd  -u  1020  -M  -s  /sbin/nologin  mimi

//指定用户mimi的UID号为1020并指定该用户为程序用户不允许登录 

5.2 usermod

对已有用户账号的属性进行修改

通式:usermod  选项  已有用户名

5.3 passwd

为用户账号设置密码或修改密码

通式:passwd  选项  用户名

拓展:

如何生成12位随机密码?

cat  /dev/random  |  tr  -cd  [a-zA-Z0-9]  |  head  -c  12

echo  "新密码" |  passwd --stdin  用户名

//免交互修改密码

5.4 userdel

删除用户

通式:userdel  选项  用户名

选项说明
-r将宿主目录一起删除

二、管理组账号

1、Linux系统中组账号类型

  • 基本组(私有组): 基本组账号只有一个,一般为创建用户时指定的组
  • 附加组(公共组): 用户除了基本组以外,额外添加指定的组

2、组标识号GID的分类

用户标识号GID的分类:

操作系统版本用户类型GID范围

CentOS 6

普通用户1~499
超级用户固定值为0
程序用户500~60000(可修改)
CentOS 7普通用户1000~60000(可修改)
超级用户固定值为0
程序用户1~999

3、组账号文件

  • /etc/group:保存组帐号基本信息
  • /etc/gshadow:保存组帐号的密码信息

4、组账号的管理命令

4.1 groupadd

添加组账号

通式:groupadd  选项  组账号名

选项说明
-g指定组账号的GID

 4.2 gpasswd

添加、设置、删除组成员

通式:gpasswd  选项  组账号名

选项说明
-a向组内添加一个用户
-d从组内删除一个用户成员
-M定义组成员列表,以逗号分隔
4.3 groupdel

删除组账号

通式:groupdel  组账号名

三、查询用户信息

1、finger

查询用户帐号的详细信息

通式:finger  用户名

2、w

 查询已登录到主机的用户信息

通式:w  选项  组账号名

3、who

只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令

通式:who  选项  file

选项说明
-a列出所有信息,相当于所有选项。
-b列出系统最近启动的时间日期。
-l列出所有可登陆的终端信息。
-m仅列出关于当前终端的信息,who -m 命令等同于 who am i
-q列出在本地系统上的用户和用户数的清单。
-r显示当前系统的运行级别。
-s仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。
-u显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。
-T 或 -w显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。

四、目录/文件的权限和归属

1、目录/文件的三种权限

权限字符表示权限数字表示说明
目录r4可查看目录下有哪些文件
w2可修改目录下的文件
x1可执行(作为目录最小的权限)
文件r4可读取文件内容
w2可修改文件内容
x1可运行文件

拓展:

若一个文件可以被删除,那与它本身权限有关吗?

答:当前用户如果有该文件所在目录的wr权限,就可以实现删除操作

将/opt/test复制到/mnt,当前用户一定要有什么权限?

答:当前用户一定要有r权限

注:能不能操作目录和文件,和当前登录用户的权限有关系

2、访问人群(设置权限的对象)

对象对象字符表示
所属主u
所属组g
其他用户o
所有用户a

3、修改目录/文件的权限和归属的命令

3.1 chmod

对属主、属组,其他用户、所有用户进行修改文件权限的操作

用法:chmod  u+rwx  文件名           或   chmod  777  文件名

          //给文件的属主添加rwc权限

          

          chmod  g-w  文件名           或   chmod  757  文件名

          //给文件的属组删除w权限

选项说明
-R递归

3.2 chown

修改目录/文件的属主、属组

通式:chown  用户名:组名  文件名

 用法:

 chown  用户名:组名  文件名                             //目录/文件的属主、属组都修改

 chown  用户名 文件名                                      //只修改目录/文件的属主

 chown  :组名 文件名                                         //只修改目录/文件的属组

3.3 umask

umask的值可以用来保留在创建新文件时的初始权限

  • 新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
  • 新建目录的默认权限: 777-umask
  • root的umask 默认是0022,即目录权限为755,文件权限为644
  • 非特权用户umask默认是0002,即目录权限为,文件权限为

如当umask值为0321时,即目录权限为654,文件权限为644

3.4 特殊权限
3.4.1 sticky
  • 在目录设置Sticky位,只有文件的所有者或root可以删除该文件,为阻止拥有w权限的其他用户删除该目录中的任何文件
  • 只能设置在目录上

Sticky权限设定: chmod  o+t  目录名                          //添加Sticky权限
                             chmod  o-t  目录名                          //删除Sticky权限

3.4.2 suid

只能运用在可执行文件上,即开放文件所有者的权限给其他用户,当用户执行该执行文件时,会拥有该执行文件所有者的权限

suid权限设定:chmod  o+s  文件名

如chmod  u+s  /usr/bin/vim                     

//给vim加上suid权限,代表所有用户可以使用vim打开并编辑所有文件

3.4.3 guid
  • 可运用于文件或者目录
  • 运用在文件的含义是开放文件所属组的权限给其他用户,即当用户执行该执行文件时,会拥有该执行文件所属组用户的权限
  • 运用在目录上的含义是在该目录下所有用户创建的文件或者目录的所属组都和其一样guid权限设定:chmod  g+s  文件名

 sgid权限设定:chmod  g+s  文件名

如chmod  g+s  /usr/bin/vim                     

//给vim加上sgid权限,代表所有用户可以使用vim所属组的权限

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1338967.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

blackbox黑盒监控部署(k8s内)tensuns专用

一、前言 部署在k8s中需要用到deployment、configmap、service服务 二、部署 创建存放yaml的目录 mkdir /opt/blackbox-exporter && cd /opt/blackbox-exporter 编辑blackbox配置文件,使用configmap挂在这 vi configmap.yaml apiVersion: v1 kind: Confi…

移动app软件开发50个创意

那些需要努力工作才能赚钱的日子已经一去不复返了。现在,可以通过软件app赚钱。好吧,人类完全依赖智能手机这并不是谎言,无论是订购项目还是呼叫某人提供各种服务。因此,投资移动软件app开发是一个好主意。然而,移动软…

【51单片机系列】DS1302时钟模块

本文是关于DS1302时钟芯片的相关介绍。 文章目录 一、 DS1302时钟芯片介绍二、DS1302的使用2.1、DS1302的控制寄存器2.2、DS1302的日历/时钟寄存器2.3、片内RAM2.4、DS1302的读写时序 三、SPI总线介绍四、DS1302使用示例 一、 DS1302时钟芯片介绍 DS1302是DALLAS公司推出的涓流…

【教程】使用ipagurd打包与混淆Cocos2d-x的Lua脚本

文章目录 摘要引言正文1. 准备工作2. 使用ipaguard处理Lua文件3. 运行ipagurd进行混淆代码加密具体步骤测试和配置阶段IPA 重签名操作步骤4. IPA重签名与发布 总结 摘要 本文将介绍如何使用ipagurd工具对Cocos2d-x中的Lua脚本进行打包与混淆,以及在iOS应用开发中的…

IDEA2023创建web项目

一、新建项目 点击File->New->Project...,如果是第一次创建项目则单击New Project 二、添加Web Application 建好的样子 把web移动到main目录下同时改名为webapp 三、不存在Add Framework Support添加Web Application 如何存在Add Framework Support&#…

React快速入门之交互性

响应事件 创建事件处理函数 处理函数名常以handle事件名命名 function handlePlayClick() {alert(Playing);}传递事件处理函数 函数名、匿名两种方式&#xff01; function PlayButton() {function handlePlayClick() {alert(Playing);}return (<Button handleClick{handl…

信息科技成“新课标”重点,家长必须要懂!

日新月异的当下&#xff0c;人工智能无疑是与生活最为密切相关的核心词语。或许在不远的将来&#xff0c;技术含量低的重复性工作将会被机器取代。甚至有人认为&#xff0c;现在的小学生&#xff0c;大概多数会在未来从事目前尚未发明出来的工作。 近年来&#xff0c;我国的教…

微信消息撤回拦截:x64dbg反汇编实现揭秘

在数字世界中&#xff0c;信息传递的速度快如闪电&#xff0c;但也常常伴随着一些遗憾。微信作为我们日常生活中最常用的通讯工具之一&#xff0c;其撤回功能让许多人在发出信息后有了后悔的机会。然而&#xff0c;有时候我们却希望能够拦截这些即将被撤回的信息。通过x64dbg反…

YOLOv7+Pose姿态估计+tensort部署加速

YOLOv7是一种基于深度学习的目标检测算法&#xff0c;它能够在图像中准确识别出不同目标的位置和分类。而姿态估计pose和tensort则是一种用于实现人体姿态估计的算法&#xff0c;可以对人体的关节位置和方向进行精准的检测和跟踪。 下面我将分点阐述YOLOv7姿态估计posetensort…

用 Unity 实现的安检模拟小游戏源码,通过安检设备 (扫描仪) 检查乘客的随身物品 根据禁止名单对乘客做出判断是否允许通行

介绍 用 Unity 实现的安检模拟小游戏 软件版本 Unity 2019.4.9f1 (64-bit) Visual Studio 2019 游戏玩法 在游戏中你将扮演一名安全检查员 通过安检设备 (扫描仪) 检查每位乘客的随身物品 根据禁止名单对乘客做出判断&#xff1a;允许通行或者下令逮捕 游戏效果 游戏截图…

maven工具的搭建以及使用

文章目录 &#x1f412;个人主页&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;首先进行maven工具的搭建&#x1f993;1.[打开下载 maven 服务器官网](http://maven.apache.org)&#x1fa85;2.解压之后&#xff0c;配置环境变量&#x1f3e8;3.打开设…

【SAM系列】I-MedSAM: Implicit Medical Image Segmentation with Segment Anything

论文链接&#xff1a;https://arxiv.org/abs/2311.17081 比较有趣的点&#xff1a;frequency adapter

数据结构课设迷宫问题

迷宫问题 【问题描述】以一个mn的长方阵表示迷宫&#xff0c;0和1分别表示迷宫中的通路和障碍。设计一个程序&#xff0c;对任意设定的迷宫&#xff0c;求出一条从入口到出口的通路&#xff0c;或得出没有通路的结论。 【基本要求】编写一个求解迷宫的非递归程序。求得的通路…

微信小程序获取手机号

1、先新建vue页面 打开看到页面是下图 在method定义方法 源码&#xff1a; <template><view><button type"primary" open-type"getPhoneNumber" getphonenumber"getPhoneNumberFn">登录</button><view class"&…

Explain分析-Mysql索引优化(三)

欢迎大家关注我的微信公众号&#xff1a; 传送门&#xff1a;Explain分析——索引优化实践 传送门&#xff1a;Explain分析-Mysql索引优化&#xff08;二&#xff09; 目录 分页查询优化 Join关联查询优化 in和exsits优化 count(*)查询优化 分页查询优化 示例表&am…

115基于matlab的用于铣削动力学建模的稳定性叶瓣图分析(stablity lobe)

基于matlab的用于铣削动力学建模的稳定性叶瓣图分析(stablity lobe)&#xff0c;程序已调通&#xff0c;可直接运行。 115matlab铣削动力学 (xiaohongshu.com)

HarmonyOS的功能及场景应用

一、基本介绍 鸿蒙HarmonyOS主要应用的设备包括智慧屏、平板、手表、智能音箱、IoT设备等。具体来说&#xff0c;鸿蒙系统是一款面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统&#xff0c;能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备…

SpringBoot 3.2.0 结合Redisson接入Redis

依赖版本 JDK 17 Spring Boot 3.2.0 Redisson 3.25.0 工程源码&#xff1a;Gitee 集成Redis步骤 导入依赖 <properties><redisson.version>3.25.0</redisson.version> </properties> <dependencies><dependency><groupId>org.pr…

无需手动搜索!轻松创建IntelliJ IDEA快捷方式的Linux教程

轻松创建IntelliJ IDEA快捷方式的Linux教程 一、IntelliJ IDEA简介二、在Linux系统中创建快捷方式的好处三、命令行创建IntelliJ IDEA快捷方式四、图形界面创建IntelliJ IDEA快捷方式五、常见问题总结 一、IntelliJ IDEA简介 IntelliJ IDEA是一个由JetBrains搞的IDE&#xff0…

Bridge桥模式(单一职责)

目的 链接&#xff1a;桥模式实例代码 解析 由于某些类型的固有的实现逻辑&#xff0c;使得它们具有两个变化的维度&#xff0c;乃至多个纬度的变化。 如何应对这种“多维度的变化”&#xff1f;如何利用面向对象技术来使得类型可以轻松地沿着两个乃至多个方向变化&#xff…