🍬 博主介绍
👨🎓 博主介绍:大家好,我是 _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 命令详解-磁盘管理相关命令