[ Linux 命令基础 6 ] Linux 命令详解-权限和用户管理命令

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

我们搞网络安全需要经常用到 linux 命令,比用拿到 linux 的 shell,需要使用 linux 命令。再比如 sh 脚本,我们经常需要使用。这里我将开始详细介绍一些常用的 linux 命令。本文讲解与权限和用户管理相关的命令。
在这里插入图片描述

文章目录

  • 🍬 博主介绍
    • 6.1 管理用户账号
      • 6.1.1 adduser
        • 6.1.1.1 基本功能
        • 6.1.1.2 基本语法
        • 6.1.1.3 常用选项:
      • 6.1.2 useradd
        • 6.1.2.2 基本功能
        • 6.1.2.2 基本语法
        • 6.1.2.3 常用选项:
        • 6.1.2.4 注意
      • 6.1.3 usermod
        • 6.1.3.1 基本功能
        • 6.1.3.2 基本语法
        • 6.1.3.3 常用选项:
      • 6.1.4 userdel
        • 6.1.4.1 基本功能
        • 6.1.4.2 基本语法
        • 6.1.4.3 常用选项:
      • 6.1.5 passwd
        • 6.1.5.1 基本功能
        • 6.1.5.2 基本语法
        • 6.1.5.3 常用选项:
    • 6.2 管理用户组
      • 6.2.1 groupadd
        • 6.2.1.1 基本功能
        • 6.2.1.2 基本语法
        • 6.2.1.3 常用选项:
        • 6.2.1.4 使用示例:
      • 6.2.2 groupdel
        • 6.2.2.1 基本功能
        • 6.2.2.2 基本语法
        • 6.2.2.3 使用示例
        • 6.2.2.4 使用注意事项:
    • 6.3 更改文件权限和所有权
      • 6.3.1 chmod
        • 6.3.1.1 基本功能
        • 6.3.2.2 基本语法
        • 6.3.2.3 常用选项:
        • 6.3.2.4 示例
        • 6.3.2.5 SUID、SGID、Sticky位介绍
      • 6.3.2 chown
        • 6.3.2.1 基本功能
        • 6.3.2.2 基本语法
        • 6.3.2.3 常用选项:
        • 6.3.2.4 示例
      • 6.3.3 chgrp
        • 6.3.3.1 基本功能
        • 6.3.3.2 基本语法
        • 6.3.3.3 常用选项:
  • 相关资源

6.1 管理用户账号

6.1.1 adduser

6.1.1.1 基本功能

用于在Unix和Linux系统上添加用户账户的命令行工具。

6.1.1.2 基本语法
adduser [选项] 用户名
6.1.1.3 常用选项:
  • --home HOME_DIR:指定用户的主目录,默认是/home/username
  • --shell SHELL:指定用户登录的shell,默认是/bin/bash
  • --uid UID: 指定用户的UID
  • --gid GROUP:指定用户的主组
  • --disabled-password:创建一个没有密码的用户
  • --ingroup GROUP:将用户添加到指定的组
  • --disabled-login:创建一个无法登录的用户
  • --force-badname:强制接收不符合规范的用户名

6.1.2 useradd

6.1.2.2 基本功能

添加新用户的命令行工具,与adduser相比,是一个较底层的命令,需要手动配置更多的选项。

6.1.2.2 基本语法
useradd [选项] 用户名
6.1.2.3 常用选项:
  • -c, --commment COMMENT:用户账户的描述
  • -d, --home HOME_DIR:指定用户的主目录
  • -r, --expiredate EXPIRE_DATA:设置账号的过期日期
  • -f, --inactive INACTIVE:设置密码过期后多少天禁用用户
  • -g, --gid GROUP:指定用户的主组
  • -G,--group GROUPS:指定用户所属的附属组
  • -m,--create-home:创建用户的主目录
  • -r,--system: 创建系统用户
  • -s, --shell SHELL:指定登录的SHELL
  • -p, --password PASSWORD:设置用户的加密密码
  • -D,--defaults:显示或更改默认设置
6.1.2.4 注意

useradd不会自定设置密码

6.1.3 usermod

6.1.3.1 基本功能

usermode是一个用于修改已存在用户账户的命令行工具。它可以用来更改用户的各种属性,如用户名、密码、组、主目录、登录shell等。

6.1.3.2 基本语法
usermod [选项] 用户名
6.1.3.3 常用选项:
  • -d, --home HOME_DIR:更改用户的主目录路径,若与 -m 一同使用,用户的主目录会被移动到新的路径。
  • -e, --expiredate EXPIRE_DATE:设置或修改账户的过期日期(格式:YYYY-MM-DD)
  • -f, --inactive INACTIVE:设置密码过期后多少天禁用账户。
  • -g, --gid GROUP:更改用户的主组。
  • -G, --groups GROUPS:设置用户所属的附加组,多个组以逗号分隔。
  • a, --append:将用户添加到附加组时,与 -G 一同使用,以附加方式添加而不是替换。
  • -l, --login NEW_LOGIN:修改用户的登录名。
  • L, --lock:锁定用户账户,禁止登录。
  • -m, --move-home:移动用户的主目录到新的路径,与 -d 一同使用。
  • -u, --uid UID:修改用户的用户ID。
  • -U, --unlock:解锁用户账户,允许登录。

6.1.4 userdel

6.1.4.1 基本功能

删除用户账户的命令行工具。它可以删除用户的相关信息,并可选择性地删除用户地主目录和邮件目录。

6.1.4.2 基本语法
userdel [选项] 用户名
6.1.4.3 常用选项:
  • -r,--remove: 删除用户地主目录和邮件目录
  • -f,--force: 强制删除用户,当用户当前正在登录或用户地主目录无法移除时使用
  • -Z,--selinux-user:删除映射到用户地SELinux用户映射。

6.1.5 passwd

6.1.5.1 基本功能

用于更改用户密码地命令行工具,它可以用于设置或修改用户的密码,并可以由系统管理员或用户自己使用。

6.1.5.2 基本语法
passwd [选项] [用户名]
6.1.5.3 常用选项:
  • -d, --delete:删除用户的密码,使用户账户没有密码。
  • -e, --expire:使用户密码立即过期,强制用户在下次登录时更改密码。
  • -i, --inactive INACTIVE:设置密码过期后账户被禁用的天数。
  • -l, --lock:锁定用户账户。
  • -u, --unlock:解锁用户账户。
  • -S, --status:显示用户密码的状态信息。
  • -n, --mindays MIN_DAYS:设置两次更改密码之间的最短天数。
  • -x, --maxdays MAX_DAYS:设置密码的最大有效期(天)
  • w, --warndays WARN_DAYS:设置密码过期前的警告天数。

6.2 管理用户组

6.2.1 groupadd

6.2.1.1 基本功能

用于在系统中创建新用户组地命令行地工具。

6.2.1.2 基本语法
groupadd [选项] 组名
6.2.1.3 常用选项:
  • -f, --force: 如果指定地组已经存在,命令不会返回失败,而是返回成功状态。无操作
  • -g,--gid GID:指定新组地组ID(GID).必须是唯一的。
  • -k,--key KEY=VALUE:覆盖配置文件/etc/login.defs中的设置。
  • -o, --non-unique:运行创建一个非唯一组ID(GID),通常与-g一同使用。
  • -p,--password PASSWORD:设置组密码
6.2.1.4 使用示例:
#创建一个新组
sudo groupadd developers
# 创建一个带有特定GID的新租
sudo groupadd -g 1001 developers
# 创建一个允许非唯一GID的新组
sudo groupadd -g 1001 -o developers
# 设置组密码
sudo groupadd -p $(openssl passwd -1 password) developers

设置组密码通常用于允许用户临时加入一个组,而不需要系统管理员直接将用户添加到该组。

# 使用组密码加入组
newgrp groupname

6.2.2 groupdel

6.2.2.1 基本功能

用于在系统上删除用户组的命令行工具。它可以删除指定的组,但不会删除与改组相关的文件或用户。

6.2.2.2 基本语法
groupdel [选项] 组名
6.2.2.3 使用示例
# 删除组之前检查组成员
getent group groupname
# 如果组中有成员移除成员
sudo usermode -G "" username
# 查询组并处理相关文件
sudo find / -group groupname
sudo chown :newgroup filepath
6.2.2.4 使用注意事项:
`组内用户`:在删除组之前,确保该组中没有任何用户。如果组中还有用户,应该先将这些用户从组中移除或更改它们的主组。
`文件归属`:删除组不会自定更改与改组相关的文件归属,相关文件仍然属于已删除的组ID。可以使用`find`命令找出这些文件并处理。

6.3 更改文件权限和所有权

6.3.1 chmod

6.3.1.1 基本功能

用于更改文件和目录权限的命令行工具。通过chmod命令,可以设置谁可以读取、写入或执行文件或目录。

6.3.2.2 基本语法
bash [选项] 模式 文件或目录
6.3.2.3 常用选项:

-R, --recursive:递归更改目录及其下所有文件和子目录的权限
文件权限分类

  • 读取 ®: 可以查看文件内容。
  • 写入(w): 可以修改文件内容。
  • 执行(x): 可以执行文件(如果文件是可执行程序或脚本)

每种权限可以赋予的目录

  • 用户(u): 文件或目录的所有者
  • 组(g): 文件或目录所属的组
  • 其他用户(o):系统上所有其他用户
  • 所有用户(a): 包括用户、组和其他成员

语法格式
符号模式:使用符号和字母来表示权限修改

  • +: 添加权限
  • -:移除权限
  • =设置权限
6.3.2.4 示例
# 给文件所有者添加读取权限
chmod u+r filepath
# 移除文件所属组的写入权限
chmod g-w filepath
# 设置其他用户的执行权限
chmod o=x filepath
# 给所有用户添加读取权限
chmod a+r filepath

数字模式;以数字形式更改权限,rwx 二进制形式,111 => 7

# 设置文件权限为 755 u可读可写可执行 g 可读可执行 o可读可执行
chmod 775 filepath 
6.3.2.5 SUID、SGID、Sticky位介绍
  • SUID: 当设置在可执行文件上时,执行该文件的用户将临时拥有文件所有者的权限。符号模式u+s,数字模式4
  • SGID:当设置在目录上时,新创建的文件将继承该目录的组,设置在文件,会使该文件以其所属组的权限运行,而不是以执行该文件的用户权限运行.g+s 2
  • Sticky:当设置在目录上时,仅文件所有者或目录所有者可以删除或重命名文件。用符号模式设置为 o+t,用数字模式设置为 1
    数字形式的用四位去表示
# 同时设置SUID SGID Sticky
chmod 7755 filpath

6.3.2 chown

6.3.2.1 基本功能

用于更改文件和目录的所有者和组。管理员使用。

6.3.2.2 基本语法
chown [选项] [所有者][:[]] 文件或目录
6.3.2.3 常用选项:
  • -R,--recursive:递归更改目录及其下所有文件和子目录的所有者和组。
  • -c,--changes:仅报告已更改的文件。
  • -f,--silent,--quiet:印制错误信息
  • -v,--verbose:详细显示命令执行的过程。
  • --dereference:更改符号链接所指向的文件或目录的所有者和组,而不是符号链接本身。
  • --no-dereference:更改符号链接本身的所有者和组,而不是它指向的文件或目录。
6.3.2.4 示例
更改文件所属用户
sudo chowm username filename
更改文件所属组
sudo chown :groupname filename
更改符号链接指向的文件或目录的所有者和组
sudo chown --dereference newowner:newgroup symlink

6.3.3 chgrp

6.3.3.1 基本功能

用于更改文件和目录所属组的命令行工具。专门用于更改组信息。

6.3.3.2 基本语法
chgrp [选项][组名] 文件或目录
6.3.3.3 常用选项:
  • -R, --recursive:递归更改目录及其下所有文件和子目录的组。
  • -c, --changes:仅报告已更改的文件。
  • -f, --silent, --quiet:抑制错误信息。
  • -v, --verbose:详细显示命令执行的过程。
  • --dereference:更改符号链接所指向的文件或目录的组,而不是符号链接本身。
  • --no-dereference:更改符号链接本身的组,而不是它指向的文件或目录。

相关资源

shell脚本 从入门到精通
[ DOS 命令基础 1 ] DOS 命令命令详解-系统查询相关命令
[ DOS 命令基础 2 ] DOS 命令命令详解-网络相关命令
[ DOS 命令基础 3 ] DOS 命令命令详解-文件操作相关命令
[ DOS 命令基础 4 ] DOS 命令命令详解-端口进程相关命令
[ Linux 命令基础 7 ] Linux 命令详解-磁盘管理相关命令

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

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

相关文章

# ubuntu创建新用户和它的家目录

ubuntu创建新用户和它的家目录 一、使用 useradd命令创建新用户和它的家目录: 1、命令如下: #sudo useradd -r -m -s /bin/bash userName #如:sudo useradd -r -m -s /bin/bash zhangsan2、命令参数解释 -r : 建立系统账号。 -m : 自动建…

网线类别线芯含义和传输距离以及水晶头制作标准

网线八芯每根的含义: 网线的八根线芯,也被称为RJ45网线中的8芯,网线采用8根线芯,这八根线芯各自承担着特定的功能。这8根线芯被分为4对,每对以特定的方式绞合在一起,8芯网线主要是为了减少电磁信号的相互干…

HTB:Sightless[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机TCP端口进行开放扫描 继续使用nmap对靶机开放的TCP端口进行脚本、服务扫描 首先尝试对靶机FTP服务进行匿名登录 使用curl访问靶机80端口 使用浏览器可以直接访问该域名 使用浏览器直接访问该子域 Getshell 横向移动 查…

Golang | Leetcode Golang题解之第554题砖墙

题目: 题解: func leastBricks(wall [][]int) int {cnt : map[int]int{}for _, widths : range wall {sum : 0for _, width : range widths[:len(widths)-1] {sum widthcnt[sum]}}maxCnt : 0for _, c : range cnt {if c > maxCnt {maxCnt c}}retur…

斯坦福泡茶机器人DexCap源码解析:涵盖收集数据、处理数据、模型训练三大阶段

前言 因为我司「七月在线」关于dexcap的复现/优化接近尾声了,故准备把dexcap的源码也分析下。​下周则分析下iDP3的源码——为队伍「iDP3人形的复现/优化」助力 最开始,dexcap的源码分析属于此文《DexCap——斯坦福李飞飞团队泡茶机器人:带…

高中数学:概率-随机实验、样本空间、随机事件

文章目录 一、随机实验二、样本空间三、随机事件例题 四、事件运算 一、随机实验 二、样本空间 三、随机事件 例如 样本空间 Ω { a , b , c , d , e , f } 则,事件 A { a , b , c } ,是一个随机事件 事件 B { d } 是一个基本事件 样本空间Ω\{a,b,c…

w~大模型~合集21

我自己的原文哦~ https://blog.51cto.com/whaosoft/12459590 #大模型~微调~用带反馈的自训练 面对当前微调大模型主要依赖人类生成数据的普遍做法,谷歌 DeepMind 探索出了一种减少这种依赖的更高效方法。大模型微调非得依赖人类数据吗?用带反馈的自训…

利用 Vue.js 开发动态组件的实战指南

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 Vue.js 是现代 Web 开发中非常流行的框架,以其渐进式架构和组件化设计受到广泛欢迎。组件化开发是 Vue.js 的核心优势…

Jmeter中的配置原件(一)

配置原件 1--CSV Data Set Config 用途 参数化测试:从CSV文件中读取数据,为每个请求提供不同的参数值。数据驱动测试:使用外部数据文件来驱动测试,使测试更加灵活和可扩展。 配置步骤 准备CSV文件 创建一个CSV文件&#xff0c…

MCU的OTA升级(未完-持续更新)

1.术语 ISP : In-System Programming 在系统编程,是一种通过MCU(微控制器单元)上的内置引导程序(BootLoader)来实现对芯片内部存储器(如Flash)进行编程的技术。 华大目前对应的ISP IAP&…

让redis一直开启服务/自动启动

文章目录 你的redis是怎么打开的黑窗不能关?必须要自动启动吗?再说说mysql 本文的所有指令都建议在管理员权限下打开cmd控制台 推荐的以管理员身份打开控制台的方式 Win R 打开运行 输入cmdShift Ctrl Enter 你的redis是怎么打开的 安装过redis的朋友都知道, redis的安…

从认识 VNode VDOM 到实现 mini-vue

前言 现有框架几乎都引入了虚拟 DOM 来对真实 DOM 进行抽象,也就是现在大家所熟知的 VNode 和 VDOM,那么为什么需要引入虚拟 DOM 呢?下面就一起来了解下吧!!! VNode & VDOM VNode 和 VDOM 是什么&am…

vue项目实战

1.项目文件夹添加(结构如下) 2.页面构建 安装路由 npm install react-router-dom 3.页面基本模板 router文件夹下index.js的模板 // 引入组件 import Login from "../views/login"; // 注册路由数组 const routes [{// 首页默认是/path: …

SD-WAN跨境加速专线:打造无缝、高效的全球社交媒体营销网络

在数字化时代,电子商务与社交媒体的融合已成为不可逆转的趋势。亚马逊,作为全球领先的电子商务平台,近期与Facebook、Instagram、Snapchat、Pinterest和TikTok等社交媒体巨头携手,推出了一项革命性的无缝购物体验。这一创新举措不…

yelp商家数据集上使用火算法求解TSP 问题

先简要回顾下什么是TSP问题, 旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题,广泛应用于运筹学、计算机科学和物流等领域。TSP的基本描述如下: 问题描述 定义:假设有一…

【深度学习目标检测|YOLO算法1】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析...

【深度学习目标检测|YOLO算法1】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析… 【深度学习目标检测|YOLO算法1】YOLO家族进化史:从YOLOv1到YOLOv11的架构创新、性能优化与行业应用全解析… 文章目录 【深度学习目标检测|YOL…

星期-时间范围选择器 滑动选择时间 最小粒度 vue3

星期-时间范围选择器 功能介绍属性说明事件说明实现代码使用范例 根据业务需要,实现了一个可选择时间范围的周视图。用户可以通过鼠标拖动来选择时间段,并且可以通过快速选择组件来快速选择特定的时间范围。 功能介绍 时间范围选择:用户可以…

Java | Leetcode Java题解之第554题砖墙

题目&#xff1a; 题解&#xff1a; class Solution {public int leastBricks(List<List<Integer>> wall) {Map<Integer, Integer> cnt new HashMap<Integer, Integer>();for (List<Integer> widths : wall) {int n widths.size();int sum 0…

牛客小白月赛104 —— C.小红打怪

C.小红打怪 1.题目&#xff1a; 2.样例 输入 5 1 2 3 4 5 输出 2 说明 第一回合&#xff0c;小红攻击全体怪物&#xff0c;队友1攻击5号怪物&#xff0c;队友2攻击4号和5号怪物&#xff0c;剩余每只怪物血量为[0,1,2,2,2]。 第二回合&#xff0c;小红攻击全体怪物&#…

python画图|text()和dict()初探

【1】引言 在进行hist()函数的学习进程中&#xff0c;了解到了subplot_mosaic()函数&#xff0c;在学习subplot_mosaic()函数的时候&#xff0c;又发现了text()和dict()函数。 经探究&#xff0c;text()和dict()函数有很多一起使用的场景&#xff0c;为此&#xff0c;我们就一…