【linux系统】用户功能与权限详细总结

前言

菜某的笔记总结,有错误还请指正。

linux用户的概念与root用户

这么理解:一台电脑有多个操作者,每个操作者只能无限制操作自己文件夹中的东西,其他地方的操作需要给与相应权限才能操作。

root用户:就是最高级的老总,啥都可以干

每个普通用户都会在/home文件夹下有个专用的文件夹,通常他的操作只能局限于自己的文件夹,但是root用户的home是在总文件夹/下的/root中,root用户有操作整个系统中所有文件的权力。

切换用户指令

语法:su - 用户名

切换用户后可以输入exit或者Ctrl+d返回原先的用户

root用户切换其他用户不需要密码

普通用户切换需要输入密码

演示

普通用户使用root权限

**作用:**因为root用户权限很大,我们长期用root用户很容易给电脑造成损害,所以我们有一个sudo命令,能够暂时使用root用户的权力

**语法:**sudo 命令

在其他命令之前加上一个sudo就可以使用root权限了。

但是并不是所有的用户都能用sudo,只有被root用户配置了的用户才能使用sudo

配置方法:

root用户下输入visudo命令打开配置文件,并进行编辑。

在后面加上一个

用户名 ALL=(ALL) NOPASSWD:ALL

NOPASSWD:ALL的作用是无需输入密码,可以去除,但是每次使用sudo命令就需要输入密码。

添加完毕之后就可以使用sudo了

我们在/中创建文件做个对比

还原回原先用户

用户组的概念

我们通俗的理解,用户组就是一个部门,用户就是一个人。假如说公司管理财务,总不能说所有人都有财务管理系统的密码吧,只有财务部的人才能有。这里同理,用户组就是一个部门,这个用户组里的所有用户都会有一些通用的权限。

比如一个文件,我们可以规定某些用户有修改权限,也可以规定某个用户组有修改权限。

用户组的操作命令

groupadd 用户组名#创建用户组

groupdel 用户组名#删除用户组

用户操作命令

#创建用户

useradd -g -d 用户名

-g指定用户所在的组

如果不指定则会创建同名组加入

-d指定用户所在的

如果不指定则会默认在/home中

#删除用户

userdel -r 用户名

-r删除用户时把home目录一起删除

#查看用户所在的组

id 用户名

如果不加用户名,则会查看自身

#修改用户所在的组

usermod -aG 用户组 用户名

查看系统中的用户

语法:getent passwd

查看系统中的用户组

语法:getent group

用户对文件权限的查看

使用ls -l进行查看

第一列的字母

第一个字母

d代表了文件夹

-代表了文件

l表示链接

后面有九个字母,每三个一组分类看

每组的字母分别为rwx,也可能是-

r代表可读权限,是否可用ls查看

w代表操作权限,文件是否可操作

x代表执行权限,文件夹是否可进入

-代表没权限

后面分为三组

第一组:所属用户的权限

第二组:所属用户组的权限

第三组:其他用户的权限

例如:第一行的

d rwx r-x r-x

代表了,这是文件夹,所属用户有rwx权力,所属用户组有rx权力,普通用户有rx权力。

ls命令中的第一个root是本文件的所属用户,第二个root是本文件所属用户的用户组。

文件权限的修改

首先文件的权限只有所属用户跟root可以修改。

使用chmod命令

语法:chmod u=权限,g=权限,o=权限 文件或文件夹

实例:chmod u=rwx,g=rx,o=w text.txt

u:所属用户

g:所属组

o:其他组

参数可选,不选就是不改,选了不写权限就是什么权限都不给

案例:

文件所属的修改

只有root用户可以修改

语法:chown -R 用户:用户组 文件或文件夹

-R 对文件夹中所有文件的所属进行修改

案例:

修改用户:chown user: exper

修改用户组:chown :group exper

案例:

相关推荐
律宏阔2 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔2 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴2 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千2 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei372 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei372 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei372 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh2 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW3 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
百万蹄蹄向前冲3 小时前
双端同步!云服务器装最新Node.js v26.10全过程追踪
服务器·人工智能·node.js