热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

linux学习-----linux权限,sudo的使用

Linux权限管理(重点)Linux权限操作于用户和用户组是兄弟操作1.权限概念总述:Linux系统将文件可存取访问的身份分为三个类别:ownergroupothers

Linux权限管理(重点)

Linux权限操作于用户和用户组是兄弟操作

1.权限概念

总述:Linux系统将文件可存取访问的身份分为三个类别:owner group others

           三种身份各有:read write execute等权限。

           什么是权限:在多用户计算机系统的管理中 权限是指某个特定的用户具有特定的系统资源使用的权力    像文件 特定指令或存储量限制

 

在linux中有  读  写  执行 权限

2.身份介绍:

Owner身份(文件的所有者)

Group身份(与文件所有者同组的用户)

Others身份

3.linux权限介绍

ls-l 路径    用来查看文件的属性 用来显示文件的文件名和相关属性

 

 

十位字符表示含义:

第一位 表示文档类型  d文件夹    -表示文件   l表示软连接

第二位到第四位:文档所有者权限情况:

第二位读权限    r有权限    -没有权限

第三位写权限    w有权限    -没有权限

第四位写权限    x有权限    -没有权限

第五位到第七位:与所有者同在一个组的用户的权限情况:

第五位读权限    r有权限    -没有权限

第六位写权限    w有权限    -没有权限

第七位写权限    x有权限    -没有权限

第八位到第十位:表示除了前两部分外 其他用户的权限情况:

第八位读权限    r有权限    -没有权限

第九位写权限    w有权限    -没有权限

第十位写权限    x有权限    -没有权限

 

设置权限:

语法 chmod 选项 权限模式 文档

注意事项:

常用选项就一个  -R 递归设置权限

权限模式:该文档设置的权限信息(给文档设置权限 要么是root 要么是文档所有者)

文档:可以是文件 也可以是文件夹 可以是相对路径 也可以是绝对路径

 

1.字母形式设置

 

 

给谁设置:

u 表示所有者身份

g表示给所有者同组用户设置

o 表示给其他用户设置权限

a表示给所有人设置

       如果在权限设置的时候不指定给谁 默认给所有用户设置

权限分配作用:

+:表示给具体用户增加权限(相对当前)

-:表示给具体用户删除权限

=:表示将权限设置成具体的值(注重结果)

案例:给anaconda-ks.cfg 文件权限(-r-x------)设置为(-rwxr-xr-x)

chmod u+w,g+rx,o+rx anaconda-ks.cfg

chmod u=rwx,g=rx,o=rx anaconda-ks.cfg

 

 

2.数字形式设置

 

读:r    4;

写:w   2;

执行:x  1;

没有任何权限:0;

 

 

注意事项:

1.使用root用户创建一个文件夹(/oo) 权限默认(drwxr-xr-x)

2.在oo目录下创建文件 xx.txt 文件 给777权限

3.切换到other用户

问题1:other用户是否可以打开文件?   能

问题2:other用户是否可以编辑文件?   能

问题3:other用户是否可以删除文件?   不能

 

 

在linux 中 如果要删除一个文件 不是看文件有没有对应的权限 而是看文件所在的目录是否有写权限 如果有才可以删除。

 

属主与属组设置

属主:所属的用户(文件的主人)

属组:所属的用户组

 

如果有时候需要删除某些用户 那么该用户对应的文档属组和属主两个信息就需要去修改啦

1.chown

作用:更改文档的所属用户

语法: chown (-R )username 文档路径

案例:将root用户创建的oo目录 所有者更改为test

 chown test oo/

 

2.chgrp

作用:更改文档的所属用户组

语法: chgrp -R groupname 文档的路径

案例:将刚才root用户创建的oo目录,所有者更改为test 并且将所属用户组也改为test

chgrp test oo/

 

问:如何通过一个命令实现既可以更改所属用户 又更改属组呢?

答:chown -R username:groupname 文档路径

 

扩展1:

问题:如init 在普通用户身份上都是操作不了的 但有些情况下又需要执行权限 这个问题怎么解决

 

答:可以使用sudo(awitch user do)命令来进行权限设置。Sudo可以让管理员(root)事先定义某些特殊命令谁可以执行

默认sudo是没有除boot之外的用户规则,想用需要配置sudo。

sudo的配置文件:    /etc/sudoers

配置sudo文件请使用visudo  然后进行编辑

配置普通用户的权限

 

root 表示用户名(如果是用户组 使用------%用户组 名)

All:表示允许登陆的主机(地址白名单)

(ALL):表示以谁的身份执行,ALL表示root身份

ALL:表示当前用户可以执行的命令, 多个命令可以使用“,”分割

 

在写sudo规则的时候 不建议直接写形式的命令 要写完整路径 路径可以使用which命令来查看(which 指令名称)

在添加好对应规则后 切换到普通用户 再去执行(sudo 需要执行指令)

在输入sudo指令后 输入当前用户密码进行确认

 

如果禁止修改root密码的配置:

/usr/bin/passwd,!/usr/bin/passwd root

 

在普通用户中怎么查看自己具有哪些特殊权限

sudo -l

 

sudo不是任何linux分支都有的命令,常见centos和ubuntu都存在sudo命令

 


推荐阅读
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • Ubuntu系统下的GIF动画录制解决方案
    在撰写文章或教程时,GIF动态图能够有效地传达信息。对于Windows用户而言,ScreenToGif是一款非常实用的工具。而在Ubuntu系统中,用户同样拥有多种选择来创建GIF动画,本文将重点介绍两款录屏工具——Byzanz和Peek。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 16.04 系统上配置 Qt 5.5 的交叉编译环境,特别针对 i.MX6 平台进行了优化设置。内容涵盖从基本的软件安装到高级配置的全过程。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • AcetoneISO:Ubuntu Linux下的全能虚拟光驱工具
    AcetoneISO 是一款功能强大的虚拟光驱软件,适用于 Linux 和 Mac 系统。它支持多种映像文件格式的挂载和转换,并提供丰富的文件管理功能。 ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文介绍了如何在不同操作系统上安装Git,以及一些基本和高级的Git操作,包括项目初始化、文件状态检查、版本控制、分支管理、标签处理、版本回退等,并简要提及了开源许可协议的选择。 ... [详细]
  • 在Ubuntu 16.10 (x86) 上安装 WordPress 4.7.115
    本文介绍如何在Ubuntu 16.10 (x86) 系统上安装WordPress 4.7.115,包括下载、解压、配置等步骤,确保安装过程顺利进行。 ... [详细]
author-avatar
仲颖凯翰奕颖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有