当前位置: 首页 > article >正文

Linux的权限(一)

目录

权限的本质

Linux权限的概念

如何创建与删除普通用户

创建普通用户:

设置用户密码: 

删除普通用户:

删除与该用户关联的主目录和邮件目录 :

su指令

sudo指令

Linux权限管理

Linux中文件访问者有三种“人”

Linux中为什么要有组的概念: 

Linux中有两种人(普通用户与超级用户)的概念是否与Linux中文件访问者有三种人(拥有者、所属组、Other)的概念有所冲突?

权限的本质

一般来说:权限 = 人 + 事物的属性

在Linux中更准确的讲应该是:权限 = 角色 + 文件

Linux权限的概念

Linux下有两种用户:
超级用户(root):可以在linux操作系统下做任何事情,不受限制
普通用户:在linux操作系统下做有限的事情
注意事项:
1、超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
2、在普通用户身份下,默认情况下是无法创建其他用户的。创建和管理用户需要管理员权限(如 root 或具有适当权限的用户)才能执行。

如何创建与删除普通用户

创建普通用户:

//在root目录下:
useradd -m 新用户名

//在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力)
sudo useradd -m 新用户名

设置用户密码: 

//在root目录下:
passwd 用户名

//在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力)
sudo passwd 用户名

删除普通用户:

//在root目录下:
userdel 用户名

//在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力)
sudo userdel 用户名

删除与该用户关联的主目录和邮件目录 :

//在root目录下:
userdel -r 用户名

//在普通用户目录下:(sudo指令用于提权即赋予普通用户超级用户的权力)
sudo userdel -r 用户名

su指令

语法 su [用户名]
功能 切换用户
常见使用方式:
1、su 用户名 和 su 、实现超级用户与普通用户之间的切换:

进入超级用户时需要输入密码 

2、su - 与 su、进入超级用户:

su -是重新登陆至超级用户所以它在登陆时还会显示登录信息,su是切换至超级用户

二者等效,推荐使用命令更简单的后者

sudo指令

语法:sudo 后续指令......

功能:指令提权

注意事项:

1、sudo进行指令提权时,需要输入该普通用户本身的密码

常见使用方法:

1、sudo touch file.txt、在普通用户中指令提权后创建文件

Linux权限管理

Linux中文件访问者有三种“人”

1、拥有者
2、所属组
作用: 在多人协作时更好的进行权限管理
3、Other

Linux中为什么要有组的概念: 

公司中假设我们是A组的组员d,我在Linux中写了一些代码,现在组长要来检查我的代码,本来我的代码只有我自己能看,现在我要打开权限让同组的组长查看,如果没有组的概念,只有拥有者与其他人Other,那么在我打开权限时,除了我的组长以外,我的死对头B组的组员g就也能查看我的代码,万一写的代码不好就很丢人,所以有了组的概念就很方便了......

Linux中有两种人(普通用户与超级用户)的概念是否与Linux中文件访问者有三种人(拥有者、所属组、Other)的概念有所冲突?

答案:两者并不冲突,反而互补

具体解释:在Linux中权限不是用来限制人的而是用来限制角色的,这也是为什么说“在Linux中更准确的讲应该是:权限 = 角色 + 文件” ,普通用户与超级用户是具体的人,而拥有者、所属组、Other是三种角色,一种角色可以是多个不同的人,即某一个普通用户可以是一个文件的拥有者和所属组,一个超级用户可以仅仅只是一个文件的所属组......

第一行内容中,第一个root表示它是dir文件的拥有者,第二个root表示它也是dir文件的所属组

~over~

http://www.kler.cn/a/155001.html

相关文章:

  • 逐行加载 HTML 内容并实时显示效果:使用 wxPython 的实现
  • Keil基于ARM Compiler 5的工程迁移为ARM Compiler 6的工程
  • 第 13 章 -Go 语言 接口
  • docker构建jdk11
  • Ceph 中Crush 算法的理解
  • 从0开始学习Linux——文件管理
  • Ubuntu22.04无需命令行安装中文输入法
  • C++生成静态库和动态库
  • 智慧用电安全动态监控系统
  • centos7-docker安装与使用
  • 网络虚拟化场景下网络包的发送过程
  • C/C++---------------LeetCode第35. 搜索插入位置
  • C++ day48 打家劫舍
  • 数学建模之典型相关分析
  • Redis--10--Pipeline
  • 乱序学机器学习——主成分分析法PCA
  • node.js express路由和中间件
  • c++ 写成.h .cpp main.cpp 多文件形式
  • Gradio库的安装和使用教程
  • 使用Visual Studio创建第一个C代码工程
  • 二维数组处理(一)
  • 基于windows系统使用Python对于pc当前的所有窗口的相关操作接口
  • 部署springboot项目到GKE(Google Kubernetes Engine)
  • 逻辑回归与正则化 逻辑回归、激活函数及其代价函数
  • 2024年美国大学生数学建模竞赛(MCM/ICM)论文写作方法指导
  • 基于PHP的高中生物学习平台