linux文章(11)---umask和chmod

一、用途

        文将介绍linux环境下有关文件訪问模式相关的命令。
        umask用来设置默认的文件訪问模式屏蔽值;chmod用来改动文件的訪问模式。
        本文将选取ubuntu14.04发行版做为描写叙述基础。


二、文件訪问模式

        linux使用文件訪问模式保证文件的安全性,通过一个12bit的数据结构表示文件訪问模式的4组属性:
        1、SUID、SGID、Sticky属性 ;也叫特殊属性。
        2、用户的读、写、可运行属性;也叫用户属性。


        3、用户所属组的读、写、可运行属性。也叫用户所属组属性。
        4、组内其它用户的读、写、可运行属性;也叫其它用户属性。
        这些属性有两种展示方式:一种是文字表示方式。r表示可读。w表示可写。x表示可运行,s表示设置了SUID,-表示禁止该属性。

使用ls -al命令能够查看文字方式表示的文件訪问属性。另一种表示方式是八进制,将12bit分为4组。每组能够使用八进制来表示,比如,User八进制值7(二进制为111)表示可读、可写、可运行;5(二进制为101)表示可读、不可写、可运行。


        这两种表示方式各有优缺点。文字表示方式直观。八进制表示方式简洁。



三、SUID和SGID属性

        SUID属性仅仅和可运行文件相关。

正常情况下。当用户启动该可运行文件时,是以当前用户的权限启动该可运行文件。假设设置了SUID属性,那么无论当前用户是谁,都是以文件的全部者的权限启动该可运行文件。
        比如,当前用户是zsy,而可运行文件passwd的全部者是root,假设没有设置SUID属性,那么当zsy用户启动passwd可运行程序时。passwd的权限仅仅是zsy拥有的权限。不能改动/etc/shadow文件;假设设置了SUID属性。那么当zsy用户启动passwd可运行程序时。passwd的权限是root拥有的权限,能够改动/etc/shadow。
        SGID属性的作用类似,假设设置了SGID属性。那么都拥有文件所属组的权限。

四、stat命令

        stat命令能够查看文件的一些基本属性:文件大小、所占的块大小、文件訪问模式、文件的全部者ID、文件所属组的ID、文件创建时间等。
        语法:stat filename

        比如。使用stat命令来查看passwd文件的属性。

从图中能够看出passwd的文件訪问模式的八进制表示方式是4755,相应的文字表示方式是-rwsr-xr-x。该文件设置了SUID和SGID。



五、umask命令

        umask命令设置了默认的文件訪问模式屏蔽值,那么当新建文件时则自己主动禁止被屏蔽的属性。
        语法:umask value
        比如,使用umask 2命令设置文件訪问模式的屏蔽值为2,即0002。

那么当新建文件时,自己主动设置其它属性的写权限为禁止状态。

六、chmod命令

        chmod命令能够改变文件的訪问模式。
        语法:chmod 文件訪问模式(文字表示方式或者八进制表示方式) filename
        比如。使用chmod命令以文字表示方式添加文件的可运行权限,chmod u+x README.md;或者以八进制表示方式添加文件的可运行权限,chmod 644 README.md。
        当中u+x的含义是:u表示文件訪问模式中的用户属性。+表示添加,x表示可运行权限。


        八进制表示方式比較简洁。所以建议使用八进制的表示方式改动文件的訪问模式。



七、总结

        linux系统下文件有非常多种属性,比如:文件大小、文件的拥有者、文件所属的组、文件訪问模式等,当中文件訪问模式属性的地位比較重要。因此重点介绍了文件訪问模式的概念以及相关命令umask和chmod。

        文件訪问模式的表示方式有文字表示方式和八进制表示方式。应该熟练掌握。

特殊属性的SUID位影响了可运行文件的运行权限,读者应该正确理解SUID的含义以及用法。


版权声明:

        原创作品。如非商业性转载,请注明出处;如商业性转上传发布,请与作者联系。


版权声明:本文博主原创文章。博客,未经同意不得转载。

原文地址:https://www.cnblogs.com/mengfanrong/p/4915463.html