【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

案例:

相关推荐
007php0076 小时前
linux服务器上CentOS的yum和Ubuntu包管理工具apt区别与使用实战
linux·运维·服务器·ubuntu·centos·php·ai编程
人类群星闪耀时6 小时前
深度学习在灾难恢复中的作用:智能运维的新时代
运维·人工智能·深度学习
djykkkkkk6 小时前
ubuntu编译遇到的问题
linux·运维·ubuntu
LinkTime_Cloud6 小时前
GitLab 将停止为中国区用户提供服务,60天迁移期如何应对? | LeetTalk Daily
大数据·运维·gitlab
qq_429856576 小时前
linux 查看服务是否开机自启动
linux·运维·服务器
就爱学编程7 小时前
重生之我在异世界学编程之C语言:数据在内存中的存储篇(下)
java·服务器·c语言
Smile丶凉轩7 小时前
Docker核心技术和实现原理
运维·docker·容器
清风细雨_林木木7 小时前
Docker使用——国内Docker的安装办法
运维·docker·容器
运维&陈同学7 小时前
【Kibana01】企业级日志分析系统ELK之Kibana的安装与介绍
运维·后端·elk·elasticsearch·云原生·自动化·kibana·日志收集
7yewh8 小时前
Linux驱动开发 IIC I2C驱动 编写APP访问EEPROM AT24C02
linux·arm开发·驱动开发·嵌入式硬件·嵌入式