Linux硬链接不能跨分区,12月21日 特殊权限与软、硬链接文件

一、三个特殊权限

set_uid

含义:特殊权限SetUID 是指:当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行。该权限仅设置给二进制文件时才有具体作用,其余文件或文件目录设置此权限无意义。如passwd命令

示例:

d7a06d4ad9c0155c0b91d707d9c0ab8b.png

(一)设置set_uid权限的方法:

同样使用chmod命令

7cc9ffd917dfd3e4e661ab182deb8ee7.png

c540b4d8ee5757e962807b52b2acaf9f.png

这时普通用户就可以使用ls命令查看/root 文件目录里的内容了。

867f0ecd6e0e6e9db57600ce20722457.png

2、命令缺乏X权限时设置通过“chmod u=rws”设置set_uid权限时会变成rwS权限,但不影响效果。

b3c3cf15de9572bb9fdcc4a988fa0f95.png

8304a9d14614c273efd5adb747f952ae.png

(二)set_gid

含义:该权限对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.

示例:

1)先查看/tmp/linux/文件夹的用户所属组,都是root。

e00adf10a2d11681871a6b059fc57a8d.png

我把他的所属组改为test1

70796da54ce6d4b37e06a36a3186eda8.png

2)这时我新建一个文件,他所属组仍然是root:

5ae9fc6b122955dbe1731f600301f8fc.png

3)现在我给这个目录赋予set_gid权限,再新建一个文件

600a99ba88fd81faa18e87cf8e9ac86b.png

他的所属组就变成test1了。

a22de0119a0332654c5da4841c5e24ba.png

这里对比3.txt和4.txt看的很明显。

(三)stick_bit

含义:除非目录的属主和root用户有权限删除它,除此之外其它用户不能删除和修改这个目录。

** wiki中的英文释义:**In computing, the sticky bit is a user ownership access right flag that can be assigned to files and directories on Unix-like systems.When a directory's sticky bit is set, the filesystem treats the files in such directories in a special way so only the file's owner, the directory's owner, or root user can rename or delete the file. Without the sticky bit set, any user with write and execute permissions for the directory can rename or delete contained files, regardless of the file's owner. Typically this is set on the /tmp directory to prevent ordinary users from deleting or moving other users' files.The modern function of the sticky bit was introduced in 4.3BSD[discuss] in 1986, and is found in most modern Unix-like systems.

系统中“/tmp/”目录自带该权限

6c4e4a8cface8afcfdcd0733d18aeb83.png

给目录加上stick_bit

fab20fd9143ef845db6b2115663b792e.png

(四)查看文件或目录特殊权限位命令

ls -l命令

d07a717d52ab0c0ea95d488425097ab8.png

stat -c %a%A

7404b08498ac25f09420a17da5094101.png

最前面这个数字表示uid、gid、stickybit情况,4=uid、2=gid、1=stickybit。所以也可以使用chmod+4700这种方式来设置文件的特殊权限。

二、软链接与硬链接

(一)含义

软链接:又叫符号链接,简单理解就是windows中的快捷方式,你删除原始文件会使软链接文件失效。软链接可以跨分区链接目录与文件,做软链接时尽量使用绝对路径。注意:软件链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。

比如下面这个文件,文件头标识为l:

ef30b6b40eeac1c9b375aec31aad0709.png

wiki中的英文解释:Symbolic links are special files which when encountered during pathname resolution modify the pathname resolution to be taken to the location which the symbolic link contains. The content of the symbolic link is therefore the destination path string, which can also be examined using the readlink command line utility.[8] The symbolic link may contain an arbitrary string which does not refer to the location of an existing file, such a symbolic link will fail until a file is created at the location which is contained by the symbolic link. By contrast a symbolic link to an existing file will fail if the existing file is moved to a different location (or renamed).[5]

硬链接:与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块。注意,系统不支持对目录做硬链接。文件硬链接不能跨分区

wiki中的英文解释:Hard links also known simply as links are objects that associate the filename with the inode and therefore the file contents itself.[1] A given file on disk could have multiple links scattered through the directory hierarchy with all of the links being equivalent since they all associate with the same inode.[5] Creating a link therefore does not copy the contents of the file but merely causes another name to be associated with the same contents. Each time a hard link is created a link counter that is a part of the inode structure gets incremented; a file is not deleted until its reference count reaches zero.[1][6] Hard links can however only be created on the same file system; this can prove to be a particular disadvantage.

@一篇IBM网站上的文章”理解 Linux 的硬链接与软链接“能更好理解linux的文件系统。

(二)ln命令

ln命令用来为文件创件连接,连接类型分为硬连接和软连接两种,默认的连接类型是硬连接。如果要创建软连接必须使用"-s"选项。

语法:ln(选项)(参数)

选项:-s —symbolic:对源文件建立符号连接,而非硬连接;

示例:

1、给文件制作软链接文件

ln -s +原始文件 +软链接文件

d351aac93fc8acf106917bb9aa1f38e2.png

结果

744e73e77136fbf374f240d068ab94fe.png

2、给目录制作软链接

aeaf990098799053c2b1ffdda70dd3be.png

7b992715ec5c9153408ce7b8e8c97b96.png

3、创建文件的硬链接

d1895d10edf66b44a045da2b030e7b27.png

a1ae8bd13f57bed1903dc9b303c5e8de.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值