当前位置:首页 > 操作系统 > Linux

18.1.2-linux目录文件隐藏属性和特殊权限

18.1.2

linux目录文件隐藏属性和特殊权限

内容:

1.linux权限查看 计算  修改 
2.文件和目录rwx含义 
3.各种权限拒绝错误排查
4.如何让网站通过权限控制 尽量安全
5.通过umask计算默认的权限 
6.文件系统的属性(隐藏属性) 
7.linux特殊权限 suid  ,  粘滞位(/tmp

第1章  网站权限-通过控制权限让网站安全

1.1  文件或目录安全  (比较安全的权限)

file    rw-r--r--    root  root   oldboy.txt

dir    rwxr-xr-x   root  root   oldboy.txt

file    644       dir   755           属于  root

 

1.2  网站安全:      ---站点目录(存放网站程序)

/app/blog            网站程序存放

/app/blog/upload      用户上传目录(用户的头像 上传的图片或附件)

 

 

1.3  如何让/app/blog目录安全

1.3.1   

1.blog目录

file 644 root root

dir  755 root root  

2.blog/upload目录

file 644 www www  

dir  755 www www  

运行博客 通过www用户(虚拟用户,被破译也不可以登录系统)运行  (root用户运行太危险,一旦破解就掌控了服务器)

 

1.3.2  环境准备:

useradd www  (普通用户)  

mkdir -p /app/blog/upload

touch /app/blog/awk.html /app/blog/renyi.jpg   /app/blog/li.avi

1.3.3  测试及报错

su - www

#www用户上传一个文件

#www用户在 upload里面创建一个文件

[www@oldboyedu43-lnb blog]$ touch upload/oldboy.jpg

touch: cannot touch `upload/oldboy.jpg': Permission denied

[www@oldboyedu43-lnb blog]$ #upload目录

[www@oldboyedu43-lnb blog]$ ls -ld upload/

drwxr-xr-x 2 root root 4096 Dec 28 17:47 upload/

[www@oldboyedu43-lnb blog]$ #其他人 r-x

1.3.4  解决方法1 给其他 用户写权限

chmod o+w upload  

drwxr-xrwx 2 root root 4096 Dec 28 17:47 upload/

权限太大了

 

1.3.5  解决方法2 upload目录送给 www

chown www.www upload

drwxr-xr-x 2 www  www 4096 Dec 28 17:47 upload/

 技术分享图片  

noexec 不让运行

最后  只能上传,不能查看

 

               1) --网站是以www用户的身份运行

网站权限的控制  2)--file 644 dir  755 root root

                3)upload  file 644      www  www

代码程序控制  1)--上传上来的文件无法运行

              2)--上传上来没有执行权限

 

第2章  umask   --反掩码 是什么 怎么计算  如何修改

2.1  Linux中默认的最大权限

file  666

dir   777

 

 

 

2.2  umask

2.2.1  作用:控制系统默认的权限

2.2.2  查看 [root@oldboy ~]# umask

0022

2.2.3  通过umask计算 系统默认的权限

file  666

-022

=644

dir  777

-022

=755

2.2.4  umask

临时

[root@oldboy ~]# umask 032

[root@oldboy ~]# umask

0032

新创建文件

file 666

-032    

=634

+010

=644

文件:奇数位加一

 

新创建目录

dir 777

  -032

=745

目录正常

 

永久( 了解,千万不要改 )

/etc/profile        千万不能改

if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then

    umask 002

else

    umask 022

fi

如果 [ 当前用户uid > 199 ] 并且 [ "用户组名字" = "用户的名字"  ]; 然后

     umask 002

那么

 umask 022

果如

第3章  文件系统属性( 文件的隐藏属性 )

3.1  与文件系统属性相关命令        查看隐藏权限lsattr

查看文件系统属性lsattr      = == ==ls attribute

[root@oldboy ~]# lsattr

-------------e- ./install.log.syslog

-------------e- ./oldboy.txt

 

 

修改文件系统属性chattr      = = == = change attr   + 加某种属性  - 去除某种属性

a  ==只能追加 (不能删除或修改原文件内容,只能在最后追加)

i  ==无敌了(不能删除,修改或追加)

1:   a属性

[root@oldboy ~]# lsattr oldboy.txt                              查看文件系统属性

-------------e- oldboy.txt

[root@oldboy ~]# chattr +a oldboy.txt                           为文件加上a属性

[root@oldboy ~]# lsattr oldboy.txt

-----a-------e- oldboy.txt

[root@oldboy ~]# echo "I love you">>oldboy.txt                  可以为文件追加内容

[root@oldboy ~]# echo "I love you">oldboy.txt                   不可以清空原文件增加内容

-bash: oldboy.txt: Operation not permitted

[root@oldboy ~]# rm -f oldboy.txt                               不可以删除原文件

rm: cannot remove `oldboy.txt': Operation not permitted

[root@oldboy ~]# chattr -a oldboy.txt                            最后实验完记得把文集系统属性改回来

[root@oldboy ~]# lsattr oldboy.txt

-------------e- oldboy.txt

2:    i属性

[root@oldboy ~]# lsattr oldboy.txt                                查看文件属性

-------------e- oldboy.txt                    

[root@oldboy ~]# chattr +i oldboy.txt                             为文件加上i属性

[root@oldboy ~]# lsattr oldboy.txt

----i--------e- oldboy.txt

[root@oldboy ~]# echo "I love you">>oldboy.txt                    不可往文件中追加内容

-bash: oldboy.txt: Permission denied

[root@oldboy ~]# echo "I love you">oldboy.txt                     不可清空文件

-bash: oldboy.txt: Permission denied

[root@oldboy ~]# rm -f oldboy.txt                                不可删除文件

rm: cannot remove `oldboy.txt': Operation not permitted

[root@oldboy ~]# chattr -i oldboy.txt                             实验完记得把文件系统属性改回来

[root@oldboy ~]# lsattr oldboy.txt

-------------e- oldboy.txt

 

 

3.2  重要用法:

主要命令文件   +i

重要配置文件   +a

第4章  查看系统负载系列

w  查看系统负载

top 动态查看负载 (显示不全)

作业:yum安装  --(为什么安不上  怎么及解决)

htop升级版的top

iotop 查询系统磁盘读写

iftop 查看网络信息 流量

第5章  特殊权限

5.1  情景引入:                  查看特殊权限   ls -l     s

[root@oldboy ~]# ls -ld /usr/bin/passwd /tmp/ /usr/bin/locate

drwxrwxrw t . 5 root root     4096 Jan  2 03:42 /tmp/                       特殊权限,颜色的不同

-rwx-- s --x. 1 root slocate 38464 Mar 12  2015 /usr/bin/locate             t权限和s权限

-rw s r-xr-x. 1 root root    30768 Nov 24  2015 /usr/bin/passwd

 

5.1.1  -s  用户在运行这个命令时相当于root用户   ===4    ==suid  setuid

[root@oldboy ~]# ls -l /usr/bin/passwd                             查看文件隐藏权限

-rwsr-xr-x. 1 root root 30768 Nov 24  2015 /usr/bin/passwd     

[root@oldboy ~]# chmod u-s /usr/bin/passwd                         为文件去除s隐藏权限

[root@oldboy ~]# ls -l /usr/bin/passwd

-rwxr-xr-x. 1 root root 30768 Nov 24  2015 /usr/bin/passwd

[root@oldboy ~]# chmod u+s /usr/bin/passwd       也可以 chmod 4755   为文件添加s隐藏权限

[root@oldboy ~]# ls -l /etc/shadow                                 用户密码文件默认都没有任何权限

----------. 1 root root 1094 Jan  2 01:20 /etc/shadow

[root@oldboy ~]# su - oldboy

[oldboy@oldboy ~]$ passwd                                          oldboy用户可以设置自己的密码

Changing password for user oldboy.

Changing password for oldboy.

(current) UNIX password:

New password:

BAD PASSWORD: it is too simplistic/systematic                      密码太简单,复杂一点就OK

1.  用户运行passwd命令

2.  用户相当于是root用户

3.  root用户可以修改/etc/passwd文件

 

5.1.2  -s(小写)-S(大写)的区别

你添加 -s(小写)的选项,查看时有时候会发现变成S(大写)

如果文件没有x权限,会变成S;反之,s(小写)

S(大写)=s(小写)+x            s权限必须和x权限搭配

[root@oldboy oldboy]# chmod 4755 gao.txt                  为文件加上s权限

[root@oldboy oldboy]# ls -l gao.txt

-rwsr-xr-x. 1 root root 28 Jan  2 06:26 gao.txt            显示权限为s(小写)

[root@oldboy oldboy]# chmod u-x gao.txt                   去掉文件x权限

[root@oldboy oldboy]# ls -l gao.txt

-rwSr-xr-x. 1 root root 28 Jan  2 06:26 gao.txt            显示为S(大写

 

5.2  -t 粘滞位   /tmp 目录 ( 777 必须记住)  ---1    ===sticky

5.2.1  作用 ( 相当之重要 )

任何人都可以在这个目录里创建文件(原来的权限是777)

每个人只能管理自己的文件,其他人的处理不了

 

 

 

5.3  sgid localte   用户在运行一个命令的时候,相当于属于这个命令所在的家庭(用户组root)   不重要-了解

ls -l which local

5.4  特殊权限总结:

1.  -s --suid setuid

  作用:运行某一个命令命令的时候相当于这个命令的所有者(root)

  设置方法:chmod u+s /bin/rm chmod 4775 /bin/rm

  危险:所有用户运行命令的时候都相当于是root

  :/usr/bin/passwd

2.  -t  --sticky 沾滞位(1777 /tmp目录)

  任何人都可以在这个目录中从创建文件(原来权限是777)

 -t 权限   --- 每个人只能管理自己的文件,其他人的处理不了

3  sgid localte  运行某一个命令命令的时候相当于这个命令的用户组(root)

 

5.5  特殊权限和隐藏属性查看及修改的区别:

隐藏属性:

查看:lsattr +文件名

修改:chattr  +a/+i +文件名

特殊权限:

查看:ls -l +文件名 / stat +文件名

修改:chmod 1777 /u+s /+t +文件名

 

5.6  总结:
1.linux权限查看 计算  修改 
2.文件和目录rwx含义 
3.各种权限拒绝错误排查
4.如何让网站通过权限控制 尽量安全
5.通过umask计算默认的权限 
6.文件系统的属性(隐藏属性) 
7.linux特殊权限 suid  ,  粘滞位(/tmp


题目:
1.安装并使用
#htop 升级版top命令 
#iotop 查询系统磁盘读写  
#iftop 查看网络信息 流量 

2.如何找出系统中带有特殊权限的文件或目录 

 

 

 


原文:http://blog.51cto.com/13517084/2066897


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐