9月17日任务node
2.18 特殊权限set_uidlinux
2.19 特殊权限set_gidbash
2.20 特殊权限stick_bitapp
2.21 软连接文件ui
2.22 硬链接文件 spa
2.18 、特殊权限set_uid .net
1 、 passwd命令拥有set_uid权限 ,使得普通用户可以用命令修改本身的密码,普通用户在运行passwd命令时临时拥有root管理员权限。文档
权限表示为rws。get
[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权限后普通用户就能临时拥有特殊权限。it
[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号相同,使用的是同一个文件,且硬连接不能跨分区。