欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > [ Linux 命令基础 6 ] Linux 命令详解-权限和用户管理命令

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

2025/2/22 2:14:22 来源:https://blog.csdn.net/qq_51577576/article/details/143652891  浏览:    关键词:[ 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 命令详解-磁盘管理相关命令
[ [ Linux 命令基础 6 ] Linux 命令详解-权限和用户管理命令 ]

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词