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

2023-12-14 00:15:00

前言

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

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

案例:

文章来源:https://blog.csdn.net/2302_79590880/article/details/134980915
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。