Linux操作系统基础(九):Linux用户与权限

news2024/11/24 18:50:20

文章目录

Linux用户与权限

一、文件权限概述

二、终端命令:组管理

三、终端命令:用户管理

1、创建用户 、 设置密码 、删除用户

2、查看用户信息

3、su切换用户

4、sudo

4.1、给指定用户授予权限

4.2、使用 用户 zhangsan登录, 操作管理员命令

四、修改文件权限

1、字母形式修改文件权限

2、数字形式修改文件权限


Linux用户与权限

一、文件权限概述

Linux操作系统是多任务多用户操作系统,每当我们使用用户名登录操作系统时,Linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。为了方便用户管理,Linux允许把多个用户放入一个用户组;在Linux系统中,用户组也有一个ID,GID。

在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作,而其他用户都是普通用户。

Linux对文件创建者(所属用户),所属用户组,其他用户都赋予不同的权限。

查看文件权限

# ls -l 或者 # ll

文件权限解读

r: 对文件是指可读取内容, 对目录是可以读,代表查看目录下的文件信息 => ls命令

w: 对文件是指可修改文件内容,对目录是指可以在其中创建或删除子节点(目录或文件)

x: 对文件是指是否可以运行这个文件,对目录是指是否可以cd进入这个目录

以上权限都只能针对普通用户,root超级管理员不受权限的控制,root可以为所欲为

二、终端命令:组管理

本质: 给 同一类型用户 分配权限

命令作用
groupadd 组名添加组
groupdel 组名删除组
cat /etc/group确认组信息
chgrp 组名 文件/目录名修改文件/目录的所属组 —R递归

提示:

  • 组信息保存在 /etc/group文件中

我们以root:x:0:root,lanson 为例: 用户组root,x是占位符,GID是0,root用户组下包括root、lanson。

在实际应用中, 可以预先针对 设置好权限, 然后 将不同的用户添加到对应的组中 , 从而 不用依次为每一个用户设置权限

演练目标:

1、在 指定目录下创建 python目录

2、新建dev组

3、将python目录的组修改为 dev

chgrp dev python

三、终端命令:用户管理

1、创建用户 、 设置密码 、删除用户

命令作用说明
useradd -m -g 组 新建用户名添加新用户-m自动建立用户家目录-g指定用户所在的组, 否则会建立一个和同名的组
passwd 用户名设置用户密码如果是普通用户,直接用 passwd可以修改自己的账号密码
userdel -r 用户名删除用户-r选项会自动删除用户家目录
cat /etc/passwdgrep 用户名确认用户信息

提示:

  • 创建用户时, 默认会创建一个和 用户名 同名的 组名

  • 用户信息保存在 /etc/passwd 文件中

/etc/passwd文件存放的是用户的信息, 由6个分好组成的7个信息, 分别是

  1. 用户名

  2. 密码 (x, 表示占位符)

  3. UID (用户标志)

  4. GID(组标志)

  5. 用户全名或本地账号

  6. 家目录

  7. 登录使用的Shell, 就是登录之后, 使用的终端命令

2、查看用户信息

命令作用
id [用户名]查看用户UID 和 GID 信息
who查看当前所有登录的用户列表
whoami查看当前登录用户的账户名

3、su切换用户

 

  • 因为 普通用户 不能使用某些权限, 所以需要 切换用户

命令作用说明
su - 用户名切换用户, 并且企划目录-可以切换到用户家目录, 否则保持位置不变
exit退出当前登录用户
  • su不接用户名, 可以切换到 root , 但是不推荐使用, 因为不安全

  • exit示意图如下:

4、sudo

  • 虽然通过 su - root可以切换到root用户 ,但是 存在严重的安全隐患

  • linux系统中的 root账号通常 用于系统的维护和管理 , 对操作系统的所有资源 具有访问权限

  • 如果不小心使用 rm -rf ... ... , 就可能将系统搞瘫痪

  • 在大多数版本的linux中, 都不推荐 直接只用 root 账号登录系统

  • sudo命令用来以其他身份来执行命令, 预设的身份为 root

  • 用户使用 sudo时, 必须先输入密码, 之后 5分钟的有效期限, 超过期限则必须重新输入密码

提示:若其未经授权的用户企图使用 sudo, 则会发出警告邮件给管理员

4.1、给指定用户授予权限
  • 本质: 通知 服务器 给 特定用户 分配 临时管理员权限

visudo

## 默认存在: root用户具备所有的权限
root   	   ALL=(ALL)       ALL

## 授予 lanson 用户 所有的权限

zhangsan   ALL=(ALL)       ALL
4.2、使用 用户 zhangsan登录, 操作管理员命令
  • 本质: 使用临时管理员权限

## 不切换root用户, 也可以完成 添加用户的功能
sudo useradd -m -g dev lisi

四、修改文件权限

命令作用
chmod修改权限

chmod命令:chmod命令用来变更文件或目录的权限。

chmod命令 == change更改 + 文件 + mod权限

在使用chmod命令修改文件权限时,一般要把文件拥有者、组内用户权限、其他用户权限一起修改。

1、字母形式修改文件权限

u : user代表文件的拥有者
g : group代表与文件拥有者同组的用户权限(组内用户权限)
o : other代表其他用户(既不是拥有者也不是组内用户)

例1:把python.txt文件(如不存在,则使用touch python.txt)权限的文件拥有者权限修改为rwx,组内用户权限修改为rw,其他用户权限修改为r

# chmod u=rwx, g=rw, o=r python.txt
# 命令  分配权限 	 操作文件

特别说明:如果时候一个文件夹,你不仅想修改文件夹的权限,还想把文件夹里面的所有文件全部修改一遍,可以建议chmod加一个-R选项,代表递归设置。

例2:创建一个bob文件夹,里面放一个readme.txt文件(没有自己提前创建),使用chmod更改bob文件夹及其内部的readme.txt文件权限,拥有者rwx权限,同组用户(组内用户)权限为rx,其他用户权限也为rx

# chmod -R u=rwx,g=rx,o=rx bob

例3:把bob文件夹本身,不包括里面的文件,u、g、o都设置为rwx权限

# chmod u=rwx,g=rwx,o=rwx bob
或
# chmod ugo=rwx bob
或
# chmod a=rwx bob

例4:给python.txt中的所有用户添加一个x可执行权限

# chmod u+x,g+x,o+x python.txt
或
# chmod a+x python.txt
或
# chmod +x python.txt

在CentOS7版本中,如果是一个普通文件,只要添加+x权限,就会变成绿色(但是这和文件夹有区别)。

在CentOS7版本中,如果想把一个文件夹变成绿色,需要为其组内用户和其他用户添加+w权限。

2、数字形式修改文件权限

r可以使用数字4进行代替,w可以使用数字2进行代替,x可以使用数字1进行代替。

r = 4

w = 2

x = 1

在实际工作中,我们数字一般是3个数字一起出现,如777、755、644或者600

权限数字最大的 = 7,7怎么来的?

7 = 4 + 2 + 1 = rwx

如果数字为6,怎么来的?

6 = 4 + 2 = rw

如果数字为5,

5 = 4 + 1 = rx

注意:在实际文件权限设置时,一定是3个数字一起出现!!!  

例1:给readme.txt文件的属主(文件拥有者)赋予可读可写可执行权限,组内用户、其他用户也赋予可读、可写、可执行权限

# chmod 777 readme.txt

例2:给bob文件夹文件拥有者(属主)设置可读可写可执行权限,属组(组内用户)、其他用户设置可读可执行权限

# chmod -R 755 bob

稍微注意一下:权限尽量不要随意设置,可能会导致后期某些或文件夹不能被用户访问。

另外权限2、3很少单独出现,如731权限,很少出现。3代表2+1,可写可执行,假设一个文件夹wx,但是不能看,显然不合理。

另外文件夹有一个组合权限,有r的时候肯定有x,相当一个组合(可以查看也可以切换到目录中)

另外数字没有+和-,就是3个纯数字,如777、755、644、600

字母形式的权限设置,可以有+和-,如chmod a+x python.txt或者chmod u-x python.txt


  • 📢博客主页:https://lansonli.blog.csdn.net

  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉

  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1444971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP网络通信协议基础

目录 前言: 1.HTTP协议理论 1.1协议概念 1.2工作原理 2.HTTP抓包工具 2.1Fiddler工具 2.2抓包原理 3.HTTP协议格式 3.1HTTP请求 3.2HTTP响应 3.3格式总结 前言: 在了解完网络编程的传输层UDP和TCP通信协议后,就需要开始对数据进行…

Netty应用(六) 之 异步 Channel

目录 12.Netty异步的相关概念 12.1 异步编程的概念 12.2 方式1:主线程阻塞,等待异步线程完成调用,然后主线程发起请求IO 12.3 方式2:主线程注册异步线程,异步线程去回调发起请求IO 12.4 细节注释 12.5 异步的好处…

【Android】使用Android Studio运行Hello World项目

文章目录 1. JDK的安装与配置2. Android Studio的安装3. 运行Hello World项目3.1 新建项目3.2 修改项目配置3.2.1 修改UI界面3.2.2 配置 Android SDK 3.3 添加并运行虚拟设备3.4 运行项目 1. JDK的安装与配置 想要使用Android Studio,必须先配置Java环境&#xff0…

机器学习之监督学习和非监督学习

监督学习(Supervised Learning)监督学习是一种学习方式,其中模型从标记的训练数据中学习。这意味着每个训练样本都是由输入向量和相应的目标输出(也称为标签)组成的。模型的任务是学习输入到输出的映射函数,以便当提供新的、未见过的数据时,模…

MyBatis中#和$符的区别,sql注入问题,动态sql语句

MyBatis中#{}和${}的区别 #{}和${}都是MyBatis提供的sql参数替换。区别是:#{}是预编译处理,${}是字符串直接替换。#{}可以防止SQL注入,${}存在SQL注入的风险,例如 “ or 11”虽然存在SQL注入风险,但也有自己的适用场…

CSS Selector—选择方法,和html自动——异步社区的爬取(动态网页)——爬虫(get和post的区别)

这里先说一下GET请求和POST请求: post我们平时是要加data的也就是信息,你会发现我们平时百度之类的 搜索都是post请求 get我们带的是params,是发送我们指定的内容。 要注意是get和post请求!!! 先说一下异…

python基于flask的网上订餐系统769b9-django+vue

课题主要分为两大模块:即管理员模块和用户模块,主要功能包括个人中心、用户管理、菜品类型管理、菜品信息管理、留言反馈、在线交流、系统管理、订单管理等; 如果用户想要交换信息,他们需要满足双方交换信息的需要。由于时间有限…

2.10日学习打卡----初学RocketMQ(一)

2.10日学习打卡 对于MQ(Message queue)消息队列的一些解释可以看我原来写的文章 初学RabbitMQ 各大MQ产品比较 一.RocketMQ概述 发展历程 RocketMQ概念术语 生产者和消费者 生产者负责生产消息,一般由业务系统负责生产消息,消费者即后台系统&…

算法-3-基本的数据结构

单双链表 1.单链表双链表如何反转 import java.util.ArrayList; import java.util.List;public class Code01_ReverseList {public static class Node {public int value;public Node next;public Node(int data) {value data;}}public static class DoubleNode {public int…

C/C++模板初阶

目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.1 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int&…

微软和苏黎世联邦理工学院开源SliceGPT创新压缩技术节省大量部署资源;OpenAI成立儿童安全团队,防AI误用

🦉 AI新闻 🚀 微软和苏黎世联邦理工学院开源SliceGPT创新压缩技术节省大量部署资源 摘要:微软和苏黎世联邦理工学院研究人员开源了SliceGPT,通过对大模型的权重矩阵进行压缩切片,实现了模型紧缩,节省了部…

CSS盒子的概念

盒子模型 盒子的概念 页面中的每一个标签都可以看做是一个“盒子”,通过盒子的视角更方便的进行布局 浏览器在渲染(显示)网页时,会将网页中的元素看做是一个个的矩形区域,称之为“盒子” 盒子模型 CSS中规定每个盒…

JAVA设计模式之迭代器模式详解

迭代器模式 1 迭代器模式介绍 迭代器模式是我们学习一个设计时很少用到的、但编码实现时却经常使用到的行为型设计模式。在绝大多数编程语言中,迭代器已经成为一个基础的类库,直接用来遍历集合对象。在平时开发中,我们更多的是直接使用它&a…

联想thinkpad-E450双系统升级记

早期笔记本联想thinkpad-E450双系统 大约16年花4000多大洋,买了一台thinkpad-E450屏幕是16寸本,有AMD独立显卡,i5cpu,4G内存。 . 后来加了一个同型号4G内存组成双通道, . 加了一个三星固态500G, . 换了一个…

如何编写高效的可复用程序

子程序、FB 、FC等的相关内容还可以查看下面文章链接: https://rxxw-control.blog.csdn.net/article/details/124524693https://rxxw-control.blog.csdn.net/article/details/124524693 1、FB和FC编程的优点 待续.....

前置++与后置++

a相当于a的值在其中运算 a

02 动力云客之登陆界面

1. 前端登录界面 需求样式: 1. 自定义登录页面装配到main.js src下新建一个文件夹view, view下新建一个Vue Component , 名为LoginView.vue , 并选择options API Composition API用于复杂页面. 生成的LoginView.vue文件 <script> export default {//组件的名字nam…

【2024.02.11】定时执行专家 V6.9 龙年春节版 - 下载地址更新日志

目录 ◆ 最新版下载链接 ◆ 软件更新日志 – TimingExecutor Full Change Log ▼2024-02-11 V6.9 ▼2023-06-16 V6.8.2 ▼2023-02-27 V6.7 ▼ 2023-01-23 V6.6 ▼ 2023-01-20 V6.5 ▼ 2022-12-25 V6.4 ▼ 2022-11-15 V6.3 ▼ 2022-10-01 V6.2 ▼ 2022-07-…

苍穹外卖实操笔记六---缓存商品,购物车功能

苍穹外卖实操笔记六—缓存商品&#xff0c;购物车功能 一.缓存菜品 可以使用redis进行缓存&#xff1b;另外&#xff0c;在实现缓存套餐时可以使用spring cache提高开发效率&#xff1b;   通过缓存数据&#xff0c;降低访问数据库的次数&#xff1b; 使用的缓存逻辑&#…

uniapp微信小程序开发踩坑日记:Pinia持久化

如果你使用过Pinia&#xff0c;那你应该知道Pinia持久化插件&#xff1a;https://prazdevs.github.io/pinia-plugin-persistedstate/zh/ 但由于官方文档提供的说明并不是针对小程序开发&#xff0c;所以我们在使用这个插件实现uniapp小程序开发中Pinia持久化会出现问题 我在C…