【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

案例:

相关推荐
NamoAmitabha1284 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No74 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌5 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121386 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck7 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商7 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_741484817 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS8 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿8 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog9 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros