特殊权限set_uid/ set_gid /stick_bit,软链接、硬链接

9月17日任务

2.18 特殊权限set_uid

2.19 特殊权限set_gid

2.20 特殊权限stick_bit

2.21 软链接文件

2.22 硬连接文件 

 

2.18 、特殊权限set_uid 

1 、 passwd命令拥有set_uid权限 ,使得普通用户能够用命令修改自己的密码,普通用户在运行passwd命令时临时拥有root管理员权限。

      权限表示为rws。

[root@localhost ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

2 、 设置ls命令set_uid权限, #赋予ls命令set_uid权限后普通用户就能临时拥有特殊权限。

[root@localhost ~]# ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117672 4月  11 12:35 /usr/bin/ls
[root@localhost ~]# chmod u+s !$
chmod u+s /usr/bin/ls
[root@localhost ~]# ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117672 4月  11 12:35 /usr/bin/ls
[user1@localhost ~]$ ls /root/            
2.txt  4.txt  anaconda-ks.cfg.1

 #用另一种方式赋予ls命令特俗权限会发现权限位表示为rwS,是因为少了x权限,但此时不影响使用。另外目录也是可以加上set_uid权限 ,但是对于目录没有意义。

[root@localhost ~]# chmod u-s /usr/bin/ls     
[root@localhost ~]# chmod u=rws /usr/bin/ls    
[root@localhost ~]# ls -l !$
ls -l /usr/bin/ls
-rwSr-xr-x. 1 root root 117672 4月  11 12:35 /usr/bin/ls

2.19 、特殊权限set_gid

#给文件设置set_gid特殊权限,使得普通用户临时拥有所属组的身份。

[root@localhost ~]# chmod u=rwx /usr/bin/ls
[root@localhost ~]# ls -l !$
ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117672 4月  11 12:35 /usr/bin/ls
[root@localhost ~]# chmod g+s /usr/bin/ls
[root@localhost ~]# ls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117672 4月  11 12:35 /usr/bin/ls

#给目录设置set_gid特殊权限后,在该目录新建文档会拥有跟目录同样的权限属性,去掉特殊权限后,新建的文档和子目录则拥有创建者的身份属性。

[root@localhost ~]# ls -ld 111/
drwxr-xr-x. 2 root root 6 9月  17 10:09 111/
[root@localhost ~]# chmod  g+s 111/
[root@localhost ~]# ls -ld 111/
drwxr-sr-x. 2 root root 6 9月  17 10:09 111/
[root@localhost ~]# chown root:user1 111/
[root@localhost ~]# ls -ld 111/
drwxr-sr-x. 2 root user1 6 9月  17 10:09 111/
[root@localhost ~]# touch 111/123
[root@localhost ~]# ls -l 111/
总用量 0
-rw-r--r--. 1 root user1 0 9月  17 10:13 123
[root@localhost ~]# chmod g-s 111/
[root@localhost ~]# ls -ld 111/
drwxr-xr-x. 2 root user1 29 9月  17 10:14 111/
[root@localhost ~]# touch 111/1212
[root@localhost ~]# ls -l 111/
总用量 0
-rw-r--r--. 1 root root  0 9月  17 10:16 1212
-rw-r--r--. 1 root user1 0 9月  17 10:13 123

 

2.20 、特殊权限stick_bit,系统目录/tmp/拥有stick权限。所有者创建的权限为777的文件其他人只能查看和修改但不能删除(防删除位),作用是防止别人删除自己的文件,root用户除外。

[root@localhost ~]# ls -ld /tmp/
drwxrwxrwt. 11 root root 4096 9月  17 10:16 /tmp/
[user2@localhost ~]$ touch /tmp/happy
[user1@localhost ~]$ touch /tmp/happy2
[user1@localhost ~]$ ls -l /tmp/happy*
-rw-rw-r--. 1 user2 user2 0 9月  17 10:34 /tmp/happy
-rw-rw-r--. 1 user1 user1 0 9月  17 10:35 /tmp/happy2
[user1@localhost ~]$ echo "nihaoma" >>/tmp/happy
-bash: /tmp/happy: 权限不够
[user1@localhost ~]$ echo "nihaoma" >>/tmp/happy2
[user1@localhost ~]$ cat /tmp/happy2
nihaoma

 

2.21 、软链接文件 命令:ln -s 。 设置软链接文件

[root@zgxlinux-01 ~]# ln -s /etc/passwd /tmp/zgx/     #创建文件passwd的软链接到/tmp/zgx/
[root@zgxlinux-01 zgx]# ls -l /tmp/zgx/
lrwxrwxrwx. 1 root user1   11 9月   6 14:27 passwd -> /etc/passwd
[root@zgxlinux-01 zgx]# ln -s /tmp/zgx2/ /tmp/zgx/zgx3       #创建文档zgx2的软链接到/tmp/zgx/下并重命名为/zgx3/
[root@zgxlinux-01 zgx]# ls -l
lrwxrwxrwx. 1 root user1   11 9月   6 14:27 passwd -> /etc/passwd
lrwxrwxrwx. 1 root user1   10 9月   6 14:32 zgx3 -> /tmp/zgx2/

  #软链接不仅可以创建文件软链接,还能创建目录的软链接,做软链接尽量使用绝得路径

  ##介绍一个工作中常用的例子:

  #命令 : df -h  查看磁盘分区

[root@zgxlinux-01 zgx]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        28G  1.1G   27G    4% /
devtmpfs        481M     0  481M    0% /dev
tmpfs           492M     0  492M    0% /dev/shm
tmpfs           492M  7.6M  485M    2% /run
tmpfs           492M     0  492M    0% /sys/fs/cgroup
/dev/sda1       197M  102M   95M   52% /boot
tmpfs            99M     0   99M    0% /run/user/0
tmpfs            99M     0   99M    0% /run/user/1000
tmpfs            99M     0   99M    0% /run/user/100

#假如某个分区的a文件数据量大,占满了该磁盘空间,可以把该源文件转移到其他分区,再映射一个该文件的软链接到原始目录,就可以解决这个问题 。

 

2.22 、硬链接文件  

 命令:ln 

[root@zgxlinux-01 ~]# ln /tmp/zgx2/passwd  /tmp/zgx2/passwd.heard.txt
[root@zgxlinux-01 ~]# ll /tmp/zgx2/
总用量 8
drwxr-xr-x. 4 0 root  28 9月   4 11:29 1
-rw-r--r--. 2 0 root 944 9月   4 12:32 passwd
-rw-r--r--. 2 0 root 944 9月   4 12:32 passwd.heard.txt
[root@zgxlinux-01 ~]# ls -li /tmp/zgx2/
总用量 8
   23343 drwxr-xr-x. 4 0 root  28 9月   4 11:29 1
50649759 -rw-r--r--. 2 0 root 944 9月   4 12:32 passwd
50649759 -rw-r--r--. 2 0 root 944 9月   4 12:32 passwd.heard.txt
[root@zgxlinux-01 ~]# ln /tmp/zgx/ /tmp/123             #硬链接不支持目录
ln: "/tmp/zgx/": 不允许将硬链接指向目录  
[root@zgxlinux-01 ~]# ln /etc/passwd /boot/             #硬链接不能跨分区 
ln: 无法创建硬链接"/boot/passwd" => "/etc/passwd": 无效的跨设备连接

##硬链接只支持文件,不支持对目录做硬链接。做硬链接后两个文件大小相同, inode号相同 ,删除其中一个文件,对另一个没有影响,硬链接不会占用空间,因为inode号相同,使用的是同一个文件,且硬链接不能跨分区。

转载于:https://my.oschina.net/u/3959708/blog/2052268

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值