Linux 用户和权限

一、root 用户

root 用户(超级管理员)

        无论是windows、Macos、Linux均采用多用户的管理模式进行权限管理。在Linux系统中,拥有最大权限的账户名为:root (超级管理员)。

        root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。如:使用普通用户在根目录下创建文件夹显示无法创建目录"/test": 权限不够

        切换到 root 用户后。

  • 普通用户的权限,一般在其HOME目录内是不受限的
  • 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

 su和exit命令

        我们接触过su命令切换到 root 账户 su 命令就是用于账户切换的系统命令,

        其来源英文单词: Switch User

        语法: su [-] [用户名]

  1. - 符号是可选的,表示是否在切换用户后加载环境变量建议带上参数;
  2. 用户名,表示要切换的用户,用户名也可以省略,省略表示切换到 root 切换用户后,可以通过 exit 命令退回上一个用户,也可以使用快捷键: ctrl + d。

        使用普通用户,切换到其它用户需要输入密码,如切换到 root 用户使用 root 用户切换到其它用户,无需密码,可以直接切换。

sudo命令

        我们可以通过 su 命令切换到 root 得到最大权限但是我们不建议长期使用 root 用户,避免带来系统损坏。我们可以使用 sudo 命令,为普通的命令授权,临时以 root 身份执行。
        语法:sudo 其它命令

  • 在其它命令之前,带上sudo,即可为这一条命令临时赋予 root 授权;
  • 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置 sudo 认证
为普通用户配置sudo认证

        切换到 root 用户,执行visudo命令,会自动通过 vi 编辑器打开:/etc/sudoers。在文件的最后添加:

xiaoqing ALL=(ALL)  NOPASSWD: ALL

        其中最后的NOPASSWD:ALL 表示使用 sudo 命令,无需输入密码最后通过 wq保存,切换回普通用户。执行的命令,均以 root 运行  。   

二、用户、用户组的管理

用户、用户组

        Linux系统中可以:配置多个用户配置多个用户组用户可以加入多个用户组中。 

         Linux中关于权限的管控级别有2个级别,分别是:

  • 针对用户的权限控制
  • 针对用户组的权限控制

        针对某文件,可以控制用户的权限,也可以控制用户组的权限。

用户组管理

        以下命令需 root 用户执行。

  1. 创建用户组:groupadd 用户组名
  2. 删除用户组:groupdel 用户组名

用户管理

        以下命令需 root 用户执行。
        创建用户:useradd[-g -d] 用户名

  1. 选项:-指定用户的组,不指定-g,会创建同名组并自动加入,指定 -g 需要组已经存在,如已存在同名组,必须使用 -g;
  2. 选项:-d 指定用户HOME路径,不指定,HOME目录默认在:/home/用户名。

        删除用户:userdel[-r] 用户名

        选项:-r  删除用户的HOME目录,不使用 -r,删除用户时,HOME目录保留。

        查看用户所属组:id [用户名]

        参数:用户名,被查看的用户,如果不提供则查看自身修改用户所属组。

        usermod-aG 用户组 用户名,将指定用户加入指定用户组

getent

        使用getent命令,可以查看当前系统中有哪些用户语法: getent passwd。

         共有7份信息,分别是:
        用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)。

        同样可以查看当前系统中有哪些用户组语法: getent group。

        包含3份信息,组名称:组认证(显示为x):组ID。

三、查看权限控制 

  • 序号1表示文件、文件夹的权限控制信息;
  • 序号2表示文件、文件夹所属用户;
  • 序号3表示文件、文件夹所属用户组。

认知权限信息

        让我们来解析一下序号1,其权限细节权限细节总共分为10个槽位

举例:drwxr-xr-x,表示:

  • 这是一个文件夹,首字母 d 表示;
  • 所属用户(右上角图序号2)的权限是:有 r 有 w 有 x,rwx;
  • 所属用户组(右上角图序号3)的权限是:有 r 无 w 有 x,r-x (-表示无此权限);
  • 其它用户的权限是:有 r 无 w 有 x,r-x。
rwx
  • r表示读权限
  • w表示写权限
  • x表示执行权限

        针对文件、文件夹的不同,rwx 的含义有细微差别。
        r,针对文件可以查看文件内容;
                针对文件夹,可以查看文件夹内容,如 ls 命令;
        w,针对文件表示可以修改此文件;
                针对文件夹,可以在文件夹内:创建、删除、改名等操作;
        x,针对文件表示可以将文件作为程序执行;
                针对文件夹,表示可以更改工作目录到此文件夹,即 cd 进入。

 四、修改权限控制——chmod

chmod命令

        我们可以使用chmod命令,修改文件、文件夹的权限信息

        注意,只有文件、文件夹的所属用户或root用户可以修改。

        语法: chmod [-R] 权限 文件或文件夹

        选项:-R,对文件夹内的全部内容应用同样的操作

示例:
        chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x--x。 其中:u 表示 user 所属用户权限,g 表示 group 组权限,o 表示 other 其它用户权限。

        chmod -R u=rwx,g=rx,0=x test,将文件夹 test 以及文件夹内全部内容权限设置为: rwxr-X--X

        这样写太繁琐了,可以直接 chomd 751 hello.txt

权限的数字序号

        权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。数字的细节如下:r 记为4,w 记为2,x 记为1,可以有:

  • 0:无任何权限,即---;
  • 1:仅有x权限,即--x;
  • 2:仅有w权限即-w-;
  • 3:有w和x权限即-wx;
  • 4:仅有r权限即r--;
  • 5:有r和x权限即r-x;
  • 6:有r和w权限,即 rw-;
  • 7:有全部权限即rwx。

        所以751表示: rwx(7) r-x(5) --x(1)。

五、修改权限控制——chown

使用chown命令,可以修改文件、文件夹的所属用户和用户组。

        普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行

        语法: chown [-R] [用户][:][用户组] 文件或文件夹选项

  • -R 同 chmod,对文件夹内全部内容应用相同规则;
  • 选项,用户,修改所属用户;
  • 选项,用户组,修改所属用户组;
  • :用于分隔用户和用户组。

        示例:

  • chown root hello.txt,将 hello.txt 所属用户修改为 root;
  • chown :root hello.txt,将 hello.txt 所属用户组修改为 root;
  • chown root:itheima hello.txt,将 hello.txt 所属用户修改为 root,用户组修改为 itheima;
  • chown -R root test,将文件夹 test 的所属用户修改为 root 并对文件夹内全部内容应用同样规则。

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

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

相关文章

Keepalived 在CentOS 7安装并配置监听MySQL双主

keepalived安装 MySQL双主配置请看这里:https://tongyao.blog.csdn.net/article/details/132016200?spm1001.2014.3001.5502 128、129两台服务器安装步骤相同,配置文件不同,下面有介绍。 1.安装相关依赖包,并下载keepalived安…

Java课题笔记~ MyBatis入门

一、ORM框架 当今企业级应用的开发环境中,对象和关系数据是业务实体的两种表现形式。业务实体在内存中表现为对象,在数据库中变现为关系数据。当采用面向对象的方法编写程序时,一旦需要访问数据库,就需要回到关系数据的访问方式&…

Django Rest_Framework(一)

1. Web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离[客户端看到的内容和所有界面效果都是由服务端提供出来的。] 前后端分离【把前端的界面效果(html,css,js分离到另一个服务端或另一个目录下,python服务…

Redis的键空间监听功能

文章目录 Redis 键空间通知一、keyspace介绍二、事件通知配置三、不同命令生成的事件四、客户端测试五、Springboot整合Redis键空间监听5.1 方式一5.2 方式二 Redis 键空间通知 一、keyspace介绍 keyspace(键空间通知)针对指定key发生的一切改动&#…

Stable Diffusion AI绘画初学者指南【概述、云端环境搭建】

概述、云端环境搭建 Stable Diffusion 是什么、能干啥? 是一种基于深度学习的图像处理技术,可以生成高质量的图像。它可以在不需要真实图像的情况下,通过文字描述来生成逼真的图像。 可以对图像进行修复、超分辨率转换,将低分辨…

【计算机网络】传输层协议 -- TCP协议

文章目录 1. TCP协议的引入2. TCP协议的特点3. TCP协议格式3.1 序号与确认序号3.2 发送缓冲区与接收缓冲区3.3 窗口大小3.4 六个标志位 4. 确认应答机制5. 超时重传机制6. 连接管理机制6.1 三次握手6.2 四次挥手 7. 流量控制8. 滑动窗口9. 拥塞控制10. 延迟应答11. 捎带应答12.…

数据库访问中间件--springdata-jpa的基本使用

二、单表SQL操作-使用关键字拼凑方法 回顾 public interface UserRepository extends JpaRepository<User,Integer> {User findByUsernameLike(String username); }GetMapping("/user/username/{username}")public Object findUserByUsername(PathVariable S…

【CSS】视频文字特效

效果展示 index.html <!DOCTYPE html> <html><head><title> Document </title><link type"text/css" rel"styleSheet" href"index.css" /></head><body><div class"container"&g…

三星书画联展:三位艺术家开启国风艺术之旅

7月22日&#xff0c;由广州白云区文联、白云区工商联主办的“三星书画联展”&#xff0c;在源美术馆正式开展。本次书画展展出的艺术种类丰富&#xff0c;油画、国画、彩墨画、书法等作品异彩纷呈。广东省政协原副主席、农工党省委书画院名誉院长马光瑜&#xff0c;意大利艺术研…

哈工大计算机网络课程局域网详解之:交换机概念

哈工大计算机网络课程局域网详解之&#xff1a;交换机概念 文章目录 哈工大计算机网络课程局域网详解之&#xff1a;交换机概念以太网交换机&#xff08;switch&#xff09;交换机&#xff1a;多端口间同时传输交换机转发表&#xff1a;交换表交换机&#xff1a;自学习交换机互…

iPhone 7透明屏的显示效果怎么样?

iPhone 7是苹果公司于2016年推出的一款智能手机&#xff0c;它采用了4.7英寸的Retina HD显示屏&#xff0c;分辨率为1334x750像素。 虽然iPhone 7的屏幕并不是透明的&#xff0c;但是苹果公司在设计上采用了一些技术&#xff0c;使得用户在使用iPhone 7时可以有一种透明的感觉…

【STM32零基础入门教程03】GPIO输入输出之GPIO框图分析

本章节主要讲解点亮LED的基本原理&#xff0c;以及GPIO框图的讲解。 如何点亮LED&#xff08;输出&#xff09; 首先我们查看原理图&#xff0c;观察电路图中LED的连接情况&#xff0c;如下图可以看出我们的板子中LED一端通过限流电阻连接的PB0另一端连接的是高电平VCC&#xf…

排序进行曲-v2.0

小程一言 这篇文章是在排序进行曲1.0之后的续讲&#xff0c; 0之后的续讲,英语在上一篇讲的排序的基本概念与分类0之后的续讲, 英语在上一篇讲的排序的基本概念与分类这片主要是对0之后的续讲,英语在上一篇讲的排序的基本概念与分类这 篇主要是对几个简单的排序进行细致的分析…

JavaData:JDK8之前传统的日期和时间

Data JDK8之前传统的日期和时间 //目标:掌握Date日期类的使用。 //1、创建一个Date的对象:代表系统当前时间信息的。 Date d new Date(); system.out.println(d);//2、拿到时间毫秒值。 long time d.getTime(); system.out.println(time);//3、把时间毫秒值转换成日期对象:2…

企业电子招投标采购系统源码之首页设计

&#xfeff;功能模块&#xff1a; 待办消息&#xff0c;招标公告&#xff0c;中标公告&#xff0c;信息发布 描述&#xff1a; 全过程数字化采购管理&#xff0c;打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力&…

Unity-缓存池

一、.基础缓存池实现 继承的Singleton脚本为 public class Singleton<T> where T : new() {private static T _instance;public static T GetIstance(){if (_instance null)_instance new T();return _instance;} } 1.PoolManager using System.Collections; using S…

C语言手撕单链表

一、链表的概念 链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;也就是内存存储不是像顺序表那么连续存储&#xff0c;而是以结点的形式一块一块存储在堆上的&#xff08;用动态内存开辟&#xff09;。 既然在内存上不是连续存储&#xff0c;那我们如何将这一…

Qt/C++音视频开发50-不同ffmpeg版本之间的差异处理

一、前言 ffmpeg的版本众多&#xff0c;从2010年开始计算的项目的话&#xff0c;基本上还在使用的有ffmpeg2/3/4/5/6&#xff0c;最近几年版本彪的比较厉害&#xff0c;直接4/5/6&#xff0c;大版本之间接口有一些变化&#xff0c;特别是一些废弃接口被彻底删除了&#xff0c;…

Django学习记录:使用ORM操作MySQL数据库并完成数据的增删改查

Django学习记录&#xff1a;使用ORM操作MySQL数据库并完成数据的增删改查 数据库操作 MySQL数据库pymysql Django开发操作数据库更简单&#xff0c;内部提供了ORM框架。 安装第三方模块 pip install mysqlclientORM可以做的事&#xff1a; 1、创建、修改、删除数据库中的…

【腾讯云 Cloud studio 实战训练营】搭建Next框架博客——抛开电脑性能在云端编程(沉浸式体验)

文章目录 ⭐前言⭐进入cloud studio工作区指引&#x1f496; 注册coding账号&#x1f496; 选择cloud studio&#x1f496; cloud studio选择next.js&#x1f496; 安装react的ui框架&#xff08;tDesign&#xff09;&#x1f496; 安装axios&#x1f496; 代理请求跨域&#x…