Linux 用户、用户组、文件权限、文件查找
gudong366 2025-07-28 16:48 5 浏览
3 - linux 用户、用户组、文件权限、文件查找
概述
在 Linux 操作系统中,用户与权限管理是系统安全和稳定运行的核心环节。Linux 是典型的多用户操作系统,每个使用系统的人都需要拥有独立的用户账户,系统通过用户 ID(UID)来唯一标识不同用户。
用户分类
- 超级用户(root) :UID 固定为 0,拥有系统的最高权限,可执行任何操作,包括修改系统核心配置、删除关键文件等。在日常操作中应尽量避免使用 root 账户,以降低误操作风险。
- 系统用户 :通常 UID 范围在 1-999(不同 Linux 发行版可能略有差异),这类用户并非为实际操作人员创建,而是用于运行系统服务(如 Apache、MySQL 等)。系统用户一般没有登录权限,其存在是为了保证服务运行的独立性和安全性。
- 普通用户 :UID 从 1000 开始,由管理员创建 #技术分享 #掘金,用于日常工作。普通用户的权限受到严格限制,仅能在授权范围内操作文件和执行命令。
用户
1. 创建普通用户
创建普通用户使用 useradd 命令,默认会分配 1000 及以上的 UID,同时创建对应的家目录和默认 shell。
- -m:自动创建用户的家目录(/home/stark),如果不添加此参数,家目录不会自动创建。
- -s /bin/bash:指定用户的默认 shell 为 bash,允许用户登录系统后使用 bash 交互环境。
useradd [选项] 用户名
useradd -m newuser
useradd -m -d /data/user1 -s /bin/bash user1
useradd -m -g developers -G sudo,adm user2
cut -d: -f1 /etc/passwd
2、创建系统用户
系统用户主要用于运行服务,通常不需要登录权限,因此创建时会指定较小的 UID 范围,并设置不可登录的 shell。
示例:创建一个用于运行 nginx 服务的系统用户
useradd -r -s /sbin/nologin -M nginx
- -r:表示创建系统用户,UID 会自动分配在 1-999 范围内。
- -s /sbin/nologin:指定默认 shell 为 nologin,禁止该用户登录系统,增强安全性。
- -M:不自动创建家目录,因为系统用户一般不需要家目录来存储个人文件。
系统用户创建后无需设置密码(也可以设置,但通常没必要),其主要作用是在运行 “nginx” 服务时作为进程的所有者,限制服务进程的权限范围,避免服务被攻击后获得过高权限影响系统安全。
3. 设置用户密码
passwd 用户名
passwd newuser
4. 删除用户
userdel [选项] 用户名
userdel olduser
userdel -r olduser
用户组
4.创建用户组
groupadd [选项] 组名
groupadd devops
groupadd -r systemd
5. 删除用户组
groupdel 组名
groupdel temp
6. 修改用户所属组
usermod -aG 组名 用户名
usermod -aG docker user1
usermod -aG sudo,wheel user2
7. 切换用户
su - 用户名
su - root
sudo -u user1 ls /data
文件权限
1、Linux 是多用户多任务操作系统,为了区分不同用户对文件的操作权限,采用了 用户 - 组 - 其他 (User-Group-Others)的三元权限模型。
- 所有者(User) :文件的创建者,拥有最高管理权限
- 所属组(Group) :包含多个用户的集合,便于团队协作授权
- 其他用户(Others) :系统中除所有者和所属组成员外的所有用户
2、每种身份可拥有三种基本权限,分别是:
- 读权限(r) :允许查看文件内容或列出目录内容
- 写权限(w) :允许修改文件内容或在目录中创建 / 删除文件
- 执行权限(x) :允许运行可执行文件或进入目录
3、数字表示法用三位八进制数表示权限组合,每个权限对应固定数值:
- 读权限(r):4
- 写权限(w):2
- 执行权限(x):1
- 无权限:0
chmod 755 app.py
chmod 644 README.md
chmod 700 ~/private/
chmod 777 /tmp/shared/
4、chmod 和 chown
权限赋值的核心命令:chmod
chmod [选项] 权限 文件/目录
chmod 755 app.py
chmod 644 README.md
chmod 700 ~/private/
chmod 777 /tmp/shared/
修改文件的所有者和群组,这里有个 chown 万能的命令,-R 参数非常有用,R 是 recursive 的缩写,表示递归,用来设置子目录和子文件。
chown -R stark:stark file.txt
文件查找
1. find 命令(全能搜索)
- -name :按文件名查找(支持通配符 * 、 ? )。
- -type :按文件类型查找( f = 普通文件, d = 目录, l = 符号链接)。
- -size :按文件大小查找( +10M = 大于 10MB, -50k = 小于 50KB)。
- -mtime :按修改时间查找( -2 =2 天内, +7 =7 天前)。
- -user / -group :按所有者 / 组查找。
find . -name "example.txt"
find /etc -iname "*.conf"
find /home -size +100M -mtime -7
find /tmp -type f -mtime +30 -delete
find / -type f -executable -name "nginx" 2>/dev/null
2. locate 命令(快速索引搜索)
- 基于系统预建的文件索引(由 updatedb 命令更新),速度极快。
- 适合查找已知文件名的文件,但可能不显示最新创建的文件。
locate nginx
locate /usr/bin/python3
相关推荐
- 怎么利用Python实现一个远程监控多台Linux主机资源的管理工具
-
摘要:这款基于Python和Flask设计的监控软件,主要是为了实现多主机Linux系统资源监控的目的,支持对本机及远程主机的资源进行监控。不但能定时收集包括CPU、内存、磁盘、IO和网络在内的关键数...
- Linux 流量监控怎么玩?5 个工具 + 3 个维度,保姆级教程来了
-
在数字化运维场景中,Linux服务器因其稳定性和开放性,成为承载核心应用与网络管理的主流平台。而高效监控网络流量,不仅是保障系统性能的关键,更是抵御安全威胁的第一道防线。本文将系统拆解Linux...
- Linux系统监控工具,你知道几个?(linux监控平台有哪些)
-
常用的Linux系统监控工具,可帮助您监视系统性能、资源利用率和进程活动等方面的信息:top:top是一个命令行工具,用于实时监视系统的进程活动和系统资源使用情况。它提供了CPU、内存、磁盘和网络等方...
- Linux服务器上监控网络带宽的18个常用命令和工具
-
一、如何查看CentOS的网络带宽出口检查维护系统的时候,经常会要查看服务器的网络端口是多大的,所以需要用到Linux的一个命令。如何查看CentOS的网络带宽出口多大?可以用下面的命令来查看。#e...
- 查看MySQL所有数据库列表(mysql怎样查看数据库)
-
请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1.前言本文主要讲解如何在Linux系统上查看MySQL所有数据库列表。在管理MySQL...
- Linux系统中的who命令你真的会用吗?
-
请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1.前言本教程主要介绍如何使用who命令检查用户登录信息。Linux中的who命令列出了...
- Linux系统中,查看CPU信息的多样方法
-
一、命令行工具(适合所有Linux发行版)1.lscpu命令功能:显示CPU架构、核心数、线程数、缓存、NUMA节点等详细信息。使用:bashlscpu示例输出:Architecture:x86_...
- Linux系统 用户信息的显示:users、w、who
-
前言在Linux系统中,当我们需要查看登入系统的用户相关信息的时候,可以通过如下三条命令来查看:【users|w|who】。本文来具体学习一下这三条命令。目录一、命令描述二、命令常用选项三...
- Linux 用户、用户组、文件权限、文件查找
-
3-linux用户、用户组、文件权限、文件查找概述在Linux操作系统中,用户与权限管理是系统安全和稳定运行的核心环节。Linux是典型的多用户操作系统,每个使用系统的人都需要拥有独立的用...
- 使用linux中.ssh/config配置客户端host
-
~/.ssh/config文件是一个很有用的文件,它用于配置客户端的参数在~/.ssh/config中可以定义ssh的参数,这个文件在当前用户的目录下面,即该配置只能被当前用户使用,其他用户使用不了!...
- 「技术干货」Ip头udp数据包ARP协议(代码实现netmap)
-
协议栈数据组成格式用户层:用户数据传输层:8个字节udp头+用户层网络层:20个字节的ip头+传输层链路层:14个字节的以太网头+网络层网卡(在链路层和物理层之间):将链路层数据经过DA转换,...
- uboot常用命令汇总(uboot详解)
-
我们经常使用uboot命令,虽然资料光盘->常见问题目录有U-boot常用命令汇总文档,但从大家的反馈来看,并没有很多人注意到这个文档,所以把它挪到这里。如此全的uboot命令汇总,建议收藏。注...
- 腾讯面试中的TCP/IP协议简述+经典面试题
-
面试题有福利TCP/IP协议简述+TCP握手协议在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入...
- socket连接数受端口号的限制?谬论
-
初学网络的同学对socket可能会有误解:服务器能接受的最大连接数跟端口的个数65536有关系!为什么会有这样的误会?服务器端的程序无非是这样的:socket();//创建sock...
- 研究发现近期零日IP漏洞激增,被利用攻击 Mac 和 Linux 计算机
-
据pcmag网8月8日报道,据悉,使用0.0.0.0IP地址的零日漏洞近几个月来出现激增,并被黑客利用,可能使MacOS或Linux上Safari、Chrome和Firefox等...
- 一周热门
- 最近发表
- 标签列表
-
- linux一键安装 (31)
- linux运行java (33)
- ln linux (27)
- linux 磁盘管理 (31)
- linux 内核升级 (30)
- linux 运行python (28)
- linux 备份文件 (30)
- linux 网络测试 (30)
- linux 网关配置 (31)
- linux jre (32)
- linux 杀毒软件 (32)
- linux语法 (33)
- linux博客 (33)
- linux 压缩目录 (37)
- linux 查看任务 (32)
- 制作linux启动u盘 (35)
- linux 查看存储 (29)
- linux乌班图 (31)
- linux挂载镜像 (31)
- linux 软件源 (28)
- linux题目 (30)
- linux 定时脚本 (30)
- linux 网站搭建 (28)
- linux 远程控制 (34)
- linux bind (31)