特殊权限

2.18特殊的权限set_uid

[root@centos-01 ~]#  which passwd                                     //查询一下passwd位置//
/usr/bin/passwd[root@centos-01 ~]# ls -l /usr/bin/passwd                              //查询一下passwd权限//-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd          //权限是rws//

s=set_uid 保证普通用户临时拥有该命令所有者的身份(这个文件是可执行的二进制的文件)

 [root@centos-01 ~]#  ls /etc/shadow                                  //改密码的文件///etc/shadow[root@centos-01 ~]#  ls -l !$                                                     //查看权限//ls -l /etc/shadow----------. 1 root root 1252 12月 13 19:37 /etc/shadow                  //权限为000//
  • 如何给一个文件授权set_uid
    [root@centos-01 ~]# chmod u+s /usr/bin/ls //增加s权限//
    [root@centos-01 ~]# ls -l /usr/bin/ls //查看权限//
    -rwsr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls //有了S权限//
    [root@centos-01 ~]# su - aming //改成 aming用户//
    [aming@centos-01 ~]$ whoami
    aming
    [aming@centos-01 ~]$ ls /root/ //权限不 够//
    ls: 无法打开目录/root/: 权限不够
    [aming@centos-01 ~]$ ls -ld /root/
    dr-xr-x---. 7 root root 238 6月 11 11:57 /root/
    [aming@centos-01 ~]$ ls /root/ //ls经过 上面的授予S权限后//
    11.txt 123 1.txt 1.txt~ 234 2.txt 3.txt anaconda-ks.cfg.1

去掉权限set_uid

       [root@centos-01 ~]# chmod u-s /usr/bin/ls 

2.19特殊的权限set_gid
sgid=set gid
该权限可以用于文件也可以用于目录。设置于可执行二进制文件时,作用和suid类似,即执行改文件的用户会临时获得改文件所属组的权限。设置在目录时,任何用户在此目录下创建的文件或目录都具有和该目录相同的所属组。
eg:

[root@centos-01 ~]# mkdir /tmp/test
[root@centos-01 ~]# # chmod 777 !$
[root@centos-01 ~]# ls -ld !$
ls -ld # chmod 777 !$
dr-xr-x---. 5 root root 204 12月 15 11:14 .
[root@centos-01 ~]# # chmod g+s !$      给/tmp/test所属组增加s权限
[root@centos-01 ~]# ls -ld /tmp/testdrwxr-xr-x. 2 root root 6 12月 21 16:54 /tmp/test[root@centos-01 ~]# useradd user1[root@centos-01 ~]# su - user1  临时切换到user1用户[user1@centos-01 ~]$ cd /tmp/test/  切换至test目录[user1@centos-01 test]$ mkdir akai001  在test目录下创建新目录
[user1@centos-01 test]$ touch akai.txt  在test目录下创建新文件
[user1@centos-01 test]$ ls -l总用量 0
drwxrwsr-x 2 user1 root 6 12月   20 15:30 adai001
-rw-rw-r-- 1 user1 root 0    12月   20 15:31 adai.txt
在test目录下新创建的目录或文件均和test有相同的所属组

2.20 特殊权限之 stick_bit

stick_bit可以理解为防删除位,当前只针对目录有效。一个文件是否可以被某用户删除,主要取决于该文件所在目录是否对该用户具有写权限。如果没有写权限,则这个目录下的所有文件都不能被删除,同时也不能添加新文件。如果希望用户能够添加文件但同时不能删除该目录下的其他用户的文件,则可以对其父目录增加该权限。

语法: chmod [o] [+,-] t filename
eg: /tmp/目录就设有该权限

 [root@centos-01 ~]# useradd user2[root@centos-01 ~]# su - user2[user2@centos-01 ~]$ touch /tmp/user1.txt     //在user2用户的/tmp/目录下创建文件user1.txt//[user2@centos-01 ~]$ echo "121">!$         //向user1.txt写入文件//echo "121">/tmp/user1.txt[user2@centos-01 ~]$ exit登出[root@centos-01 ~]# useradd user3[root@centos-01 ~]# su - user3[user3@centos-01 ~]$ rm -f /tmp/user1.txt       //在user3用户下对user2用户在/tmp/目录下创建的文件实施删除工作//rm: 无法删除"/tmp/user1.txt": 不允许的操作

说明: 一个文件能否被删除,取决于该文件父目录的权限,/tmp/目录是777,任何人都可以写的,所以理论上任何人都可以删除/tmp/下的所以文件,但是刚才我们做的实验却表明,user3是不可以删除user2的文件的,就是因为/tmp/目录有stick bit权限。

2.21 软链接文件

软链接(soft link)又叫符号链接(symbolic link),这个文件包含了另一个文件的路径名,可以是任意文件或目录,可以链接不同文件系统的文件。软链接文件有类似于Windows的快捷方式,删除源文件后链接会失效。

创建软链接: ln -s [源文件] [目标文件]

2.22 硬链接

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。进行硬链接的时候该文件的内容并没有任何变化,只是指定了相同的inode index。

  • 硬链接有两个限制:
    1)不能跨文件系统创建硬链接,因为不同的文件系统有不同的inode index;
    2)目录不能创建硬链接。
  • 创建硬链接: ln [源文件] [目标文件]
    软链接和硬链接的区别

1)硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。软链接就是一个普通文件,只是数据块内容有点特殊(文件用户数据块中存放的内容是另一文件的路径名的指向,类似于Windows下的快捷方式)。
2)由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。
3)硬链接不能对目录进行创建,只可对文件创建。软链接可对文件或目录创建。

转载于:https://blog.51cto.com/13242922/2053035

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

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

相关文章

我的职场战争--一年来的开发组内战实录

一 战争准备阶段 一年前,国内分社派我带着几名程序员来到日本,进入一个世界级大公司做项目,这里先期驻在了一个日本总社的社员X。没有人想到战争已经临近。 二 战争酝酿阶段 日本人不会叫你闲着,头一个月就开始了下马威。…

linux8重启服务代码,linux(centos8):安装分布式事务服务seata(seata 1.3.0/centos 8.2)

一,什么是seata?Seata:Simpe Extensible Autonomous Transcaction Architecture,是阿里中间件,开源的分布式事务解决方案。前身是阿里的Fescar官方站:http://seata.io/zh-cn/官方代码地址:https://github.com/seata/seata官方文档站:http://seata.io/zh…

数组与矩阵的区别

数组中的元素可以是字符等 矩阵中的只能是数 这是二者最直观的区别。 因为矩阵是一个数学概念(线性代数里的),数组是个计算机上的概念。 《精通MATLAB6.5版》(张志涌编著,北京航空航天大学出版社)中说&…

android自定义view(自定义数字键盘)

序言:在上周的项目中,需要做一个密码锁的功能,然后密码下面还得有键盘,就类似支付宝支付的时候那样: 当然了,我们项目的需求简单点,纯数字的就可以了,然后上周就百度了自定义键盘&am…

linux环境部署ltmj,Linux系统安装与简单配置 图文.docx

合肥师范学院实验报告姓名:课程名称:Linux院(系:计算机学院 专业/年级:实於Lin^系缭公装与苗瑕肚卅1.占克If Jf VVVork51at>un ?- If -JpMHIWortsktKia^2.?JGJiIjxiS4CLM.lt 1H. iuFI?H?*vW ?tVirtujl Machine Wisa rdGimm Oprraimv加蓟aBMkonA …

矩阵的压缩存储

5.3 矩阵的压缩存储 矩阵是很多科学与工程计算问题中研究的数学对象,在此,我们讨论如何存储矩阵的元,从而使矩阵的各种运算能有效第进行。对于一个矩阵结构显然用一个二维数组来表示是非常恰当的,但在有些情况下,比如常…

网络工程师还要学linux吗,网络工程师要学什么

想成为一个优秀的网络工程师,要学什么,怎么学呢?今天小编带你了解一下网络工程师到底要学什么。上篇我们讲到了“网络工程师发展方向”,列举了许多技术方向,那么我们该如何根据自己的定位选择学习哪些技术。重点是哪些&#xff0…

利用FormData对象实现AJAX文件上传功能及后端实现

包括HTML基础设置、CSS界面优化、JS利用FormData对象和AJAX进行上传、后端接收文件并存储到指定路径以及删除文件操作。FE HTML 基础的设置&#xff1a; <form enctype"multipart/form-data"><input id"file" type"file" multiple"…

第 6 章 —— 装饰模式

6.6 装扮模式总结 装饰模式把每个要装饰的功能放在单独的类中&#xff0c;并让这个类包装它所要装饰的对象&#xff0c;因此&#xff0c;当需要执行特殊行为时&#xff0c;客户端代码就可以在运行时根据需要有选择地、按顺序地使用装饰功能包装对象了。 装扮模式是为已有功能动…

广义表及其存储方式简介

广义表&#xff08;Lists&#xff0c;又称列表&#xff09;是线性表的推广。线性表定义为n>0个元素a1,a2,a3,…,an的有限序列。线性表的元素仅限于原子项&#xff0c;原子是作为结构上不可分割的成分&#xff0c;它可以是一个数或一个结构&#xff0c;若放松对表元素的这种限…

Vue.js:路由

ylbtech-Vue.js&#xff1a;路由1.返回顶部 1、Vue.js 路由 本章节我们将为大家介绍 Vue.js 路由。 Vue.js 路由允许我们通过不同的 URL 访问不同的内容。 通过 Vue.js 可以实现多视图的单页Web应用&#xff08;single page web application&#xff0c;SPA&#xff09;。 Vue.…

图片转excel:“保留数字格式”在什么场景下该勾

保留数字格式是什么意思呢&#xff1f;顾名思义&#xff0c;就是将转出来的数字保留为数字格式&#xff0c;而不是文本格式。我们知道&#xff0c;OCR程序将图片上的文字识别为电脑可编辑的文字后&#xff0c;如果导入到excel不加处理&#xff0c;则单个数字过长的文字就会被ex…

html概述和基本结构

html概述 HTML是 HyperText Mark-up Language 的首字母简写&#xff0c;意思是超文本标记语言&#xff0c;超文本指的是超链接&#xff0c;标记指的是标签&#xff0c;是一种用来制作网页的语言&#xff0c;这种语言由一个个的标签组成&#xff0c;用这种语言制作的文件保存的是…

linux添加三权,基于SELinux的三权分离技术的研究

目前&#xff0c;Linux操作系统已广泛应用于各种设备和产品中&#xff0c;如服务器、PC机、机顶盒及路由器等。随着Linux系统的不断发展和广泛应用&#xff0c;Linux系统的安全问题也引起越来越多的关注。在Linux操作系统中&#xff0c;存在一个超级用户即root用户。root也称为…

二叉树、树和有序树的区别

树&#xff1a;子树没有左右之分 二叉树、有序树:左右有序 二叉树与有序树&#xff1a;在只有一棵树的情况下&#xff0c;二叉树有左右之分、有序树无左右之分 另外&#xff1a;二叉树是有序的&#xff0c;可以为空或一个根节点以及两个分别称为左子树和右子树的互不相交的二叉…

高效程序员

软件开发人员的作战手册 - 让程序员活的久一点 1. 程序员的职业准则是&#xff1a;诚实&#xff08;如实的报告你的状态&#xff0c;风险和出现的问题&#xff09;&#xff0c;守信&#xff08;承诺完成的任务就要按时完成&#xff09;&#xff0c;尊重&#xff08;尊重给你的代…

PHP学习笔记1

1.什么是PHP&#xff1f; Hypertext Preprocessor(超文本预处理语言)。 是脚本语言。 是最流行的网站开发语言。 2.PHP能做什么&#xff1f; 可以生成动态页面内容。 可以创建、打开、读取、写入、关闭服务器上的文件。 可以手机表单数据。 可以发送和接收cookies。&#xf…

Redis在windows下的配置

原文:Redis在windows下的配置 Redis在windows下的配置&#xff08;在windows-64下安装redis&#xff0c;请参考微软redis的github&#xff1a;https://github.com/MSOpenTech/redis/releases&#xff09;下面是windows32的配置 下载地址http://files.cnblogs.com/files/cuiweny…

linux磁盘符变化autofs,Linux基础教程学习笔记之Autofs自动挂载

Linux基础教程学习笔记之Autofs自动挂载Autofs自动挂载&#xff1a;yum -y install autofsvim /etc/auto.master 在文件中添加下面行/home/guests /etc/auto.tianyunvim /etc/auto.tianyun 子挂载点监控ldapuser0 -rw,sync classroom:/home/guests/ldapuser0systemctl enable …

二叉树的递归遍历(先序,中序,后序)

#include "stdio.h" #include "malloc.h" #define M 100 typedef struct node { /* 采用二叉链表存储结构 */char data;struct node *lchild,*rchild; }BTnode; BTnode *create()/*利用先序遍历的过程创建二叉树*/ {BTnode *t;char ch;scanf("%c&quo…