一 set_uid

之前我们修改普通用户的登陆密码,都是以管理员身份在操作,比如我们在lv账户下,我们使用
sudo passwd lv 重置lv账户密码,此时我们直接拿到root权限忽略掉了文件权限的限制。那么还有一种情况就是,类似于我们自己修改我们银行账户密码一样,我们并不是管理员,我们只需要知道以前的旧密码就可以修改,看下linux普通用户依照文件权限修改密码的机制:
ls -l /usr/bin/passwd 
ls -l /etc/shadow

我们发现/usr/bin/passwd该命令文件为红色,其中属主权限为rws,s起什么作用呢?
我们用passwd修改密码的过程是这样的,执行/usr/bin/passwd 命令,修改/etc/shadow密码文件
我们发现虽然/usr/bin/passwd 对于其他用户有x权限,但是/ectc/shadow 却是0权限,那么普通用户是怎么修改自己当前密码的呢?(此时执行passwd 不带任何参数,带账户名就是前面提及的情况)为了解决以上矛盾, set_uid登场了,当一个带有set_uid权限,显示为s的命令文件被执行时,会临时借用该文件属主的身份,通常意味着普通用户借用到root身份完成操作。我们注意到上面一个细节,当u=rwx 时,u+s 会显示为rws,不会显示为rwxs。当然u-s 又会还原。如果
是rws, u-x 会变为rwS , S 意味着没有x权限。
以下举两个例子:
1 passwd 修改密码

去掉s权限再试

2 ls 给s权限前后

二 set_gid

1.当该权限作用于命令文件时,其功能等同于set_uid,不过作用对象为属组,详细解释就是,给一个命令文件临时赋予该文件属组的身份。

2.当该权限作用于目录时,在该目录下创建的文件或者目录,其属组继承该目录的属组。请看以下例子:

三 stic_bit 防删除位

普通用户之间可以共享文件的编辑权,但是不能随意删除其他用户的文件,因此设立stic_bit 权限进行约束。请看下面例子:

我们发现对于其他用户来说出现了一个t权限,该t权限就是stic_bit,我们用两个普通用户验证下他的作用:

如上图所示,我们首先在lv-one账户下删除了lv账户下的test目录下的1.txt文件,随后我们给test目录加入t权限,然后再用lv-one删除test目录下的子目录test1,提示不允许,说用t权限发挥了作用。

四 软链接

格式 ln -s 源文件 链接文件
软连接最直观的理解就是windos下的快捷方式,他实现了文件执行入口不再局限于文件本身位置,而是可以向其他位置转移。比如通过快捷方式我们可以在任意磁盘下打开f盘存放的电影。
下面我们讨论下相对路径和绝对路径:
软链接相对路径据对路径都可以,但是当我们挪动链接文件时,相对路径做的软链接很容易找不到源而失效,绝对路径就不会有这种问题。我们来看下面的例子:



软链接一个应用案例
假如/boot 分区下某个应用程序的日志文件test.log逐渐增大到马上占满整个boot分区,但是根分区空间仍然富余,那么我们可以用软件链接的办法把/boot分区下的这个数据源给挪出去,因为该路径不好改动,因此仅让他做一个映射就可以。具体办法如下:
1先把原来的数据挪出去,cp /boot/test.log / 
2删除原来的数据,rm -rf /boot/test.log
3软链接重新搭建数据池 ln -s /test.log /boot/test.log

五 硬链接

格式 ln 源文件 链接文件 
硬链接生成的文件如果查看用du查看发现跟源文件大小相同,但是使用的是同一个inod节点,因此并不是复制,我们可以理解为,同一物体的两种命名,硬链接不可以跨分区,不能作用于目录。

Linux总结(十二)set_uid set_gid stic_bit 软链接 硬链接的更多相关文章

  1. linux命令 - ln - 创建和删除软、硬链接

    linux命令 - ln - 创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件 ...

  2. windows中的软链接硬链接等

    学校嘛,有些时候还是得逆逆上网客户端啥的,并且学校的不少工作,这Windows的需求还是挺强的,之前Win10的体验并不是太好,不过时隔这么久,打算从7升级到10了,恰好系统也该换了. 首先是命令行的 ...

  3. 20135316王剑桥 linux第十二周课实验笔记

    第十二章并发编程 1.如果逻辑控制流在时间上重叠,那么它们就是并发的.这种现象,称为并发(concurrency). 2.为了允许服务器同时为大量客户端服务,比较好的方法是:创建并发服务器,为每个客户 ...

  4. Linux 软链接 硬链接 ln命令(繁杂版)

    注意:创建软连接的时候,要用绝对路径!!! 这是linux中一个非常重要命令,请大家一定要熟悉.它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln - ...

  5. linux文件系统软链接硬链接

    引子 目前,UNIX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统).ext3.ext4.ZFS和Reiserfs等等. 不论哪一种文件系统,总是需要存储数据.硬盘的最小存储单位是扇 ...

  6. Linux 软链接 硬链接 ln命令(简约说明版)

    注意:路径使用绝对路径!! 解决方法: 当我们需要在不同的目录下用到同一个文件时,会用到以下命令. 命令:ln 作用:为某一个文件在另外一个位置建立一个同步的链接 语法:ln [option] 源文件 ...

  7. Linux软链接硬链接的区别

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...

  8. linux 软链接 硬链接

    查看文件sun.txt   加上参数i 是显示节点 inode [root@bogon test]# ls -li sun.txt 10006225 -rw-r--r--. 1 root root 0 ...

  9. 文件类型 | 命令ln | 软链接硬链接

    1.9文件类型 1.9.1常见文件类型 d:目录 -:普通文件 l:链接文件 b:设备 1.9.2文件后缀名 sh:shell脚本 tar.gz:压缩包 my.cnf:配置文件 test.zip:压缩 ...

随机推荐

  1. 记录日志好习惯——Log4net入门(WCF篇)

    本篇是在学习了“编码之道”的Log4net入门(WCF篇)http://www.cnblogs.com/yonghuacui/p/6181864.html之后,总结了一些自认为比较重要的细节.顺便把创 ...

  2. PDF文件比对工具

    tex/PDF对比工具讨论:https://tex.stackexchange.com/questions/65453/track-changes-in-latex 如果有源文件,直接用latexpa ...

  3. C# 页面抽奖实例 asp.net

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu ...

  4. 网站部署中遇到的问题-未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项

    问题描述: 运行站点抛出错误:未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项 原因: 应用程序池没有启用32位程序. 解决方法: 找到站点对应的应用程序池,设置启用32 ...

  5. javascript预编译和执行过程总结

    javascript相对于其它语言来说是一种弱类型的语言,在其它如java语言中,程序的执行需要有编译的阶段,而在javascript中也有类似的“预编译阶段”(javascript的预编译是以代码块 ...

  6. 【转】Encrypt ConnectionString in Web.Config 【加密ASP.NET web.config数据库链接字串】

    原文链接:https://www.codeproject.com/Tips/795135/Encrypt-ConnectionString-in-Web-Config web.config中一般会存放 ...

  7. docker 开机自动启动容器

    注意:如果有存在多个容器,都占用了同一端口,那么只会起来一个,要注意,我在调试时候就遇到这个坑了 在使用docker run启动容器时,使用--restart参数来设置: docker run -m  ...

  8. 定时器实现方式之TimerTask、Timer

    在未来某个指定的时间点或者经过一段时间延迟后执行某个事件,这时候就需要用到定时器了.定时器的实现方式有很多种,今天总结最简单的实现方式.java 1.3引入了定时器框架,用于在定时器上下文中控制线程的 ...

  9. JS十进制转二进制(控制位数)

    主要需求:十进制转二进制,可以控制指定的位数. 转化显示后的二进制数为bin-bit中输入的数字宽度.dec-number为5,bin-bit为5,则转化后数字为00101.如果bin-bit小于转化 ...

  10. [WC2016]挑战NPC

    Sol 这做法我是想不到\(TAT\) 每个筐子拆成三个相互连边 球向三个筐子连边 然后跑一般图最大匹配 这三个筐子间最多有一个匹配 那么显然每个球一定会放在一个筐子里,一定有一个匹配 如果筐子间有匹 ...