Linux用户和权限入门:新手也能看懂的实操指南

作为Linux新手,你是不是也遇到过这样的困惑:双击某个文件提示“权限不足”,输入命令后报错“Permission denied”,明明是自己创建的文件,却没法修改或删除?其实这都是Linux的“用户和权限”在起作用。

Linux和Windows最大的区别之一,就是它是一个多用户操作系统——一台Linux服务器可以同时让多个用户登录使用,而权限机制就是为了保护每个用户的文件和系统安全,避免误操作或恶意篡改。今天就用最直白的话,带大家搞懂Linux用户和权限,看完就能解决80%的新手权限问题!

一、先搞懂:Linux里的“用户”到底是什么?

Linux里的“用户”,就像我们家里的钥匙——不同的钥匙能打开不同的门,不同的用户能操作不同的文件和命令。简单来说,用户分为3类,新手记住核心2类就够了:

1. 超级用户(root):系统的“管理员”

root是Linux系统的最高权限用户,相当于Windows里的“管理员账户”,拥有系统的绝对控制权——可以创建/删除任何用户、修改任何文件、执行任何命令,甚至能删除系统核心文件(所以新手千万别随便用root操作!)。

新手常用的“sudo”命令,其实就是“临时借用root权限”——比如你用普通用户执行命令报错,前面加个sudo,输入密码后就能临时获得管理员权限,既安全又方便。

2. 普通用户:我们日常用的“普通账户”

普通用户是管理员(root)创建的,权限有限——只能操作自己家目录(/home/用户名)下的文件,不能修改系统核心设置,也不能删除其他用户的文件。

比如你安装Linux时创建的账户,就是普通用户,日常办公、编写代码、浏览文件,用这个账户就够了,既能避免误操作搞崩系统,也能保护自己的文件安全。

3. 系统用户:系统“自带”的“隐形用户”

这类用户不是给人用的,是系统运行时自动使用的,比如运行MySQL、Nginx等服务时,会用到专门的系统用户(如www-data、mysql),新手不用关注,知道有这么个类型就行。

二、核心概念:用户组(Group)——给用户“分组管理”

如果有多个普通用户,比如公司团队共用一台服务器,每个用户都有自己的文件,但有些文件需要大家共同操作(比如项目文档),总不能一个个设置权限吧?这时候就需要“用户组”。

用户组就像“小组”,把多个用户归到一个小组里,给这个小组设置权限,小组里的所有用户就都能拥有这个权限,大大简化管理。

举个例子:创建一个“dev”组,把小明、小红两个用户加入这个组,给“dev”组设置“读取项目文件”的权限,那么小明和小红都能读取这个项目文件,不用分别给两个人设置。

每个用户默认有一个“私有组”(和用户名同名),也可以加入多个其他组,就像一个人可以加入多个兴趣小组一样。

三、重点中的重点:文件/目录的权限到底怎么看?

我们最常遇到的“权限不足”,本质是“当前用户没有操作这个文件/目录的权限”。那怎么查看一个文件的权限呢?

在终端输入命令 ls -l(注意是小写L),就能看到当前目录下所有文件/目录的详细信息,比如这样:


-rw-r--r-- 1 root root 1234 4月 26 18:44 test.txt drwxr-xr-x 2 user user 4096 4月 26 18:45 test_dir

我们重点看最前面的10个字符(比如 -rw-r--r--drwxr-xr-x),这就是文件/目录的权限信息,拆解一下,新手一看就懂:

1. 第1个字符:文件类型

不用记太多,新手重点记2个:

  • -:普通文件(比如txt、sh、文档等)

  • d:目录(文件夹)

比如上面的test.txt是普通文件(开头是-),test_dir是目录(开头是d)。

2. 第2-10个字符:权限分组(3组,每组3个字符)

这9个字符分为3组,对应“所有者、所属组、其他人”,每组3个字符分别代表“读(r)、写(w)、执行(x)”权限,缺一不可:

权限分组

对应字符位置

含义

所有者(Owner)

第2-4个字符

文件/目录的创建者,默认拥有最高权限

所属组(Group)

第5-7个字符

文件/目录所属的用户组,组内用户共享这组权限

其他人(Others)

第8-10个字符

既不是所有者,也不属于所属组的其他用户

3. 权限字符含义(新手必记)

r、w、x是权限的核心,不同权限对应不同操作,而且对“文件”和“目录”的作用不一样,别搞混了:

权限字符

对文件的作用

对目录的作用

r(读)

可以查看文件内容(比如用cat、less命令)

可以列出目录里的文件(比如用ls命令)

w(写)

可以修改、删除文件内容

可以在目录里创建、删除、重命名文件/目录

x(执行)

可以运行文件(比如shell脚本、可执行程序)

可以进入目录(比如用cd命令)

注意:如果权限位是“-”,表示没有该权限。比如 r-- 表示只有读权限,没有写和执行权限;rwx 表示拥有读、写、执行全部权限。

举个例子,彻底看懂权限

还是看刚才的 -rw-r--r--(test.txt的权限):

  • 第1个字符 -:test.txt是普通文件;

  • 第2-4个字符 rw-:所有者拥有“读、写”权限,没有执行权限(因为是文本文件,不需要执行);

  • 第5-7个字符 r--:所属组只有“读”权限,不能修改;

  • 第8-10个字符 r--:其他人也只有“读”权限,不能修改。

再看 drwxr-xr-x(test_dir的权限):

  • 第1个字符 d:test_dir是目录;

  • 第2-4个字符 rwx:所有者可以读(ls)、写(创建文件)、执行(cd进入);

  • 第5-7个字符 r-x:所属组可以读、执行,不能写(不能创建/删除文件);

  • 第8-10个字符 r-x:其他人可以读、执行,不能写。

四、新手必学:常用权限操作命令(直接复制能用)

看懂权限后,更重要的是学会修改权限、管理用户,下面这些命令是新手高频使用的,记下来,遇到权限问题直接用!

1. 用户管理(创建、删除、切换)

  • 创建普通用户:sudo useradd 用户名(比如 sudo useradd xiaoming);

  • 给用户设置密码:sudo passwd 用户名(输入后会提示输入密码,密码输入时不显示,正常输入即可);

  • 切换用户:su - 用户名(比如 su - xiaoming,切换到小明账户;输入 su - root 切换到root账户);

  • 删除用户:sudo userdel -r 用户名(-r表示同时删除该用户的家目录,避免残留文件);

  • 查看当前用户:whoami(输入后会显示当前登录的用户名)。

2. 用户组管理(创建、添加用户)

  • 创建用户组:sudo groupadd 组名(比如 sudo groupadd dev);

  • 将用户加入用户组:sudo usermod -aG 组名 用户名(比如 sudo usermod -aG dev xiaoming,把小明加入dev组);

  • 查看用户所属组:id 用户名(比如 id xiaoming,会显示小明的所属组)。

3. 权限修改(重点!)

修改权限用 chmod 命令,有两种方式:字符方式(新手易理解)和数字方式(高手常用),新手先学字符方式,熟练后再用数字方式。

方式1:字符方式(推荐新手)

格式:chmod 权限对象+权限字符 文件名/目录名

权限对象:u(所有者)、g(所属组)、o(其他人)、a(所有用户,即u+g+o);

权限操作:+(添加权限)、-(删除权限)、=(设置权限,覆盖原有权限);

示例(直接复制实操):

  • 给test.txt的所有者添加写权限:chmod u+w test.txt

  • 给test_dir的所属组删除写权限:chmod g-w test_dir

  • 给所有人添加读权限:chmod a+r test.txt

  • 给所有者设置读、写、执行权限,所属组和其他人设置读、执行权限:chmod u=rwx,g=rx,o=rx test.sh

方式2:数字方式(高效)

每个权限对应一个数字,新手记住3个数字即可:r=4,w=2,x=1;

权限组合:将每组的3个权限对应的数字相加,得到每组的权限值(比如 rwx=4+2+1=7,rw-=4+2=6,r--=4);

格式:chmod 三组权限值 文件名/目录名(三组权限值对应:所有者、所属组、其他人);

示例(新手高频使用):

  • 给test.sh设置“所有者rwx、所属组rx、其他人rx”:chmod 755 test.sh(最常用,适合可执行脚本);

  • 给test.txt设置“所有者rw、所属组r、其他人r”:chmod 644 test.txt(最常用,适合普通文本文件);

  • 给test_dir设置“所有人rwx”:chmod 777 test_dir(⚠️ 谨慎使用!所有人都能修改/删除,有安全风险,仅测试时用)。

4. 修改文件/目录的所有者和所属组

chown 命令修改所有者,chgrp 修改所属组,格式如下:

  • 修改所有者:sudo chown 用户名 文件名/目录名(比如 sudo chown xiaoming test.txt,把test.txt的所有者改成小明);

  • 同时修改所有者和所属组:sudo chown 用户名:组名 文件名/目录名(比如 sudo chown xiaoming:dev test.txt);

  • 修改所属组:sudo chgrp 组名 文件名/目录名(比如 sudo chgrp dev test.txt)。

五、新手避坑:常见权限问题及解决方法

新手遇到的权限问题,基本就这3种,对照解决即可:

1. 报错“Permission denied”(权限不足)

原因:当前用户没有操作该文件/目录的权限;

解决:要么用sudo临时提升权限(比如 sudo cat test.txt),要么修改该文件的权限(chmod),要么修改所有者(chown)。

2. 能查看文件,但不能修改(提示权限不足)

原因:当前用户只有“读(r)”权限,没有“写(w)”权限;

解决:给当前用户添加写权限,比如 chmod u+w 文件名(如果是其他人,用 chmod o+w 文件名)。

3. 不能进入目录(cd 目录名 报错权限不足)

原因:当前用户没有该目录的“执行(x)”权限(记住:目录的x权限是进入目录的关键);

解决:给当前用户添加执行权限,比如 chmod u+x 目录名

六、新手总结:记住这3点,搞定权限问题

  1. Linux用户分3类:root(管理员,少用)、普通用户(日常用)、系统用户(不用管);

  2. 权限分3组:所有者、所属组、其他人,每组有r(读)、w(写)、x(执行)3种权限;

  3. 常用命令:创建用户(useradd)、修改权限(chmod)、修改所有者(chown),记住高频示例,遇到问题直接复制。

其实Linux用户和权限并不复杂,核心就是“谁(用户)能对什么(文件/目录)做什么(操作)”。新手不用死记硬背,多实操几次,比如创建一个用户、修改一个文件的权限,很快就能掌握。

如果觉得本文对你有帮助,欢迎点赞收藏,后续会分享更多Linux新手实操指南~ 有疑问的话,评论区留言,一起交流学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值