Linux sudo 指令

  • sudo命令

概念:

sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等。这样不仅减少了root用户的登录和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

特性:

1、sudo能够限制用户只在某台主机上运行某些命令

2、sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。

3、sudo使用时间戳文件–日志 来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变)。

4、sudo的配置文件是/etc/sudoers,属性必须为0440,它允许系统管理员集中的管理用户的使用权限和使用的主机。

语法:
选项:

-V

显示版本信息

-h

显示版本编号及指令的使用方法说明

-l

显示自己(执行sudo的使用者)的权限

-v

第一次执行时或几分钟没有执行会问密码

-s

执行环境变数中的SHELL所指定的是shell,或者/etc/passwd 所指定的shell

编辑配置文件命令:

visudo

提示:

编辑sudo的配置文件/etc/sudoers时一般不要直接使用vi编辑器去编辑,因为sudoers配置有一定的语法,直接用vi编辑保存系统不会检查语法,如有错也保存了可能导致无法使用sudo工具,最好使用visudo命令去配置。当出现错误保存时会提示。

普通用户在使用sudo命令时, 语法:sudo command username

实例:

创建新用户user1,让他能够使用useradd命令添加用户user2

  1. //首先在root用户下创建user1
  2. #useradd user1
  3. //给user1设定密码
  4. #echo "密码" | passwd --stdin user1
  5. //配置文件
  6. #visudo
  7. //找到root,在其下面进行编辑
  8. #user1 ALL=(root) /usr/sbin/useradd

  1. //切换至user1用户
  2. #su - user1
  3. //创建user2
  4. #useradd user2
  5. 此时用户user2已添加成功

二、文件系统权限管理
1、权限对象:

(1)、文件拥有者

文件拥有者,我们也称为文件属主,由于Linux系统是一个多用户多任务的系统,因此会有很多人来使用这部主机,为了考虑每一个人的隐私,文件所有者这个权限就尤为重要。

(2)、群组

群组是权限中最有用的功能之一,群组简单理解就是用户组,类似于我们公司的各个部门之间,或者学校的班级之间的划分,每一个班级就是一个群组,群组内的资源是共享的,群组之间是相互隔离的。

(3)、其他人

对于非文件的拥有者,或者文件的所属组以外的人,我们称为其他人。

2、权限类型:

在了解Linux的权限对象后,接下来我们了解一下文件的权限类型是如何来针对权限对象设定的,这部分相当重要,对于初学者来说,如果没有使用root用户的情况下,会发现处处受阻。

Linux文件的属性

ls -l可列出文件的长属性

Linux权限基于UGO模型进行控制。U代表User,G代表Group,O代表Other;每一个文件的权限基于UGO进行设置。Linux的基本权限分为读、写、执行(r、w、x),可用数字4、2、1表示。

属主:权限位的左三位,即第一个rwx
属组:权限位的中三位,即第二个rwx
其他:权限位的右三位,即第三个rwx

实例

将 700、640用权限位表示

700:rwx — ---

640:rw- r-- —

3、权限说明

(1)、对于文件而言

权限 说明

r 可获取文件数据

w 可修改文件数据

x 可将此文件运行为进程

(2)、对于目录而言

权限 说明

r 可以使用ls命令获取其下的所有文件列表

w 可修改此目录下的文件列表;即创建或删除文件

x 可cd至此目录下,且可以使用ls -l来获取所有文件的详细属性信息

提示

判断用户对文件的权限: 用户能进入到文件所在目录,即对操作的文件所在的目录有x权限。

4、文件权限逻辑判断

(1)、删除文件:对文件所在目录有W权限

判断用户的身份,用户以什么身份去删除文件,owner—>group—>others

如果是目录的属主:目录权限位的左三位需要有w权限,若有则成功,无则失败

如果不是目录的属主,是属组,目录权限位中三位需要有w权限,若有则成功,无则失败

如果是其他人,目录权限位中的右三位需要有w权限,若有则成功,无则失败

(2)、新建文件和删除文件是一样的逻辑

三、权限管理类命令

1、权限管理命令

(1)、语法

SYNOPSIS

       chmod [OPTION]... MODE[,MODE]... FILE...

       chmod [OPTION]... OCTAL-MODE FILE...

       chmod [OPTION]... --reference=RFILE FILE...

(2)、三类用户:

u:属主

g:属组

o:其他

(a:所有)

2、MODE表示方法

(1)、赋权表示法:rwx

u=rwx 或 u=r 等

g= rx 或 g=r 等

o= rwx 或 o=rw 等

a=r 或 a=rwx 等

(2)、授权表示法:rwx

u+w ,u-x 等

g+x,g-x 等

o+r,o-w 等

a+x,a-w 等

注意:

选项:-R,- -recursive:递归修改,将目录下的所有文件权限都修改

用赋权表示法修改file1文件的属组权限,改成

用授权表示法修改file1文件的属组权限,改为6

3、从属关系管理命令:chown,chgrp

(1)、chown命令:

一般来说,这个命令只有root用户有使用权限,普通使用者没有使用权限。

语法

chown [OPTION]... [OWNER][:[GROUP]] FILE...

chown [OPTION]... --reference=RFILE FILE...

选项

-c 显示更改的部分的信息

-f 忽略错误信息

-h 修复符号链接

-v 显示详细的处理信息

-R 递归修改

- -help 显示辅助说明

- -version 显示版本信息

实例

将文件file1的拥有者设为apple,群组为applegroup。

chown apple : applegroup file1

(2)、chgrp命令:

用于改变文件或目录的所属群组。

语法

chgrp [OPTION]... GROUP FILE...

chgrp [OPTION]... --reference=RFILE FILE...

选项

-c 或 - -changes 效果类似"-v",但只返回更改部分

-f 或 - -quiet 或 - -silent 不显示错误信息

-h 或 - -no-dereference 只对符号链接的文件做修改,不更改其他任何相关文件

-v 或 - -verbose 显示指令执行过程

-help 显示帮助信息

- -reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同

- -version 显示版本信息

注意:仅管理员可修改文件的属主和属组

实例

将文件file1的所属组有root改为bin

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt常用基础控件总结

一、按钮部件 按钮部件共同特性 Qt 用于描述按钮部件的类、继承关系、各按钮的名称和样式,如下图: 助记符:使用字符"&“可在为按钮指定文本标签时设置快捷键,在&之后的字符将作为快捷键。比如 “A&BC” 则 Alt+B 将成为该按钮的快捷键,使用”&&qu…

基于FPGA实现的HDMI TO MIPI扩展显示器方案

FPGA方案&#xff0c;HDMI IN接收原始HDMI 信号&#xff0c;输出显示到LCD 屏上 客户应用&#xff1a;扩展显示器 主要特性&#xff1a; 1.支持2K以下任意分辨率显示 2.支持OSD 叠加多个图层 3.支持MIPI/EDP/LVDS/RGB屏 4.支持放大缩小匹配屏分辨率 5.零延时&#xff0c;输…

算法设计课第五周(贪心法实现活动选择问题)

目录 一、【实验目的】 二、【实验内容】 三、实验源代码 一、【实验目的】 &#xff08;1&#xff09;熟悉贪心法的设计思想 &#xff08;2&#xff09;理解贪心法的最优解与正确性证明之间的关系 &#xff08;3&#xff09;比较活动选择的各种“贪心”策略&#xff0c;…

Navicat连接远程数据库时,隔一段时间不操作出现的卡顿问题

使用 Navicat 连接服务器上的数据库时&#xff0c;如果隔一段时间没有使用&#xff0c;再次点击就会出现卡顿的问题。 如&#xff1a;隔一段时间再查询完数据会出现&#xff1a; 2013 - Lost connection to MySQL server at waiting for initial communication packet, syste…

上位机图像处理和嵌入式模块部署(树莓派4b读写json数据)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们说过&#xff0c;ini文件是用来进行配置的&#xff0c;数据库是用来进行数据存储的。那json是用来做什么的呢&#xff0c;json一般是用来做…

C++学习进阶:C++11线程库

目录 前言&#xff1a; 1.线程库的使用 1.1.thread库 1.2.mutex库 1.3.condition_variable库 1.4.atomic库 2.线程安全问题 2.1.智能指针 2.2.STL容器 前言&#xff1a; 操作系统&#xff1a;线程-CSDN博客 我们曾经在这篇博客中提及了“语言”和“pthread库”之间的…

Flutter 引入webview_windows插件,在已经使用$PATH 中的 nuget.exe情况下,windows端构建失败

报错 PS F:\xx\xxxx> flutter run -d windows Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source! Launching lib\main.dart on Windows in debug mode... E:\Some software\Visual Studio\VS 2022\MSBuild\M…

JavaScript 进阶征途:解锁Function奥秘,深掘Object方法精髓

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 &#x1f235;Function方法 与 函数式编程&#x1f49d;1 call &#x1f49d…

Linux|进程控制

进程创建 fork函数初识 在linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 返回值&#xff1a;子进程中返回0&#xff0c;父进程返回子进程id&#xff0c;出错返回-1 进程调用fork&#xff0c;当…

ICode国际青少年编程竞赛- Python-2级训练场-数独

ICode国际青少年编程竞赛- Python-2级训练场-数独 1、 Spaceship.step(3)2、 Spaceship.step(3)3、 Spaceship.step(1) Spaceship.turnLeft() Spaceship.step(1)4、 Spaceship.step(3) Spaceship.turnRight() Spaceship.step(1)5、 Spaceship.step(4) for i in range(3):Spaces…

企业级通用业务 Header 处理方案

目录 01: 处理 PC 端基础架构 02: 通用组件&#xff1a;search 搜索框能力分析 03: 通用组件&#xff1a;search 搜索框样式处理 04: 通用组件&#xff1a;Button 按钮能力分析 05: 通用组件&#xff1a;Button 按钮功能实现 06: 通用组件&#xff1a;完善 search 基本…

MySQL学习笔记11——数据备份 范式 ER模型

数据备份 & 范式 & ER模型 一、数据备份1、如何进行数据备份&#xff08;1&#xff09;备份数据库中的表&#xff08;2&#xff09;备份数据库&#xff08;3&#xff09;备份整个数据库服务器 2、如何进行数据恢复3、如何导出和导入表里的数据&#xff08;1&#xff09…

ARP命令

按照缺省设置&#xff0c;ARP高速缓存中的项目是动态的&#xff0c;每当发送以恶个指定的数据报且高速缓存中不存在当前项目时&#xff0c;ARP便会自动添加该项目。一旦高速缓存的项目被输入&#xff0c;就已经开始走向失效状态。因此&#xff0c;如果ARP高速缓存中的项目很少或…

擎天科技与禅道合作,打造统一的项目管理平台

统一、全面的项目管理平台能够帮助企业优化管理流程&#xff0c;提升业务效率。擎天集团选择与禅道软件合作&#xff0c;打造统一的项目管理平台&#xff0c;在降低自研软件的研发成本、打破团队信息孤岛、保障数据全面性等方面效果显著&#xff0c;大大提高了团队沟通协作效率…

如何使用 ArcGIS Pro 计算容积率

容积率是指地上建筑物的总面积与用地面积的比率&#xff0c;数值越小越舒适&#xff0c;这里为大家介绍一下如何使用ArcGIS Pro 计算容积率&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的建筑和小区数据&#xff0c;除了建筑和小区数据&am…

verilog中不重叠序列检测

编写一个序列检测模块&#xff0c;检测输入信号&#xff08;a&#xff09;是否满足011100序列&#xff0c; 要求以每六个输入为一组&#xff0c;不检测重复序列&#xff0c;例如第一位数据不符合&#xff0c;则不考虑后五位。一直到第七位数据即下一组信号的第一位开始检测。当…

AngularJS基本概念

版本&#xff1a; AngularJs 1.x&#xff1a;https://angularjs.org/ AngularJs 2&#xff1a;https://angular.io/ 或 https://angular.cn/ 实现语言&#xff1a; Angular 1.x&#xff1a;使用ES(avaScript)编写&#xff0c;可直接在浏览器中运行。 Angular 2&#xff1a…

Electron-Vue 脚手架避坑实录,兼容Win11,升级electron22,清理控制台错误

去年的还是有用的&#xff0c;大家继续看&#xff0c;今年再补充一些Electron-Vue 异常处理方案 M1 和 Window10_electron异常处理-CSDN博客 代码gitee.com地址 electron-demo: electron 22 初始代码开发和讲解 升级electron为22版本&#xff08;这个版本承上启下&#xff0c…

内网穿透速度慢

内网穿透速度慢原因及优化策略 在计算机网络应用中&#xff0c;内网穿透是一个常见的需求&#xff0c;它允许外部网络访问位于内部网络&#xff08;如企业局域网或家庭网络&#xff09;中的设备或服务。然而&#xff0c;有时用户在进行内网穿透时会遇到速度慢的问题&#xff0…

【二次元MMORPG游戏开发】任务系统技术拆解

引言 各位同学大家好。在今天的分享当中&#xff0c;我将对任务系统去做一个拆解。也许你见过很多任务系统&#xff0c;但是今天我要分享的是我们经过一个框架迭代以后的任务系统。我会结合客户端的功能演示给大家去讲解。 跟着演示学开发 基本操作 好&#xff0c;首先我们点…