linux命令行取得权限 linux命令 权限( 三 )


示例2:给 tmp 目录下所有文件和目录赋予 776 的权限
这里我们通过useradd【用户名】命令创建用户,然后通过passwd【用户名】输入密码,这两个命令后面会将 。我们通过这两个命令创建 vae 用户
然后我们将tmp.log的所有者更改为 vae 用户:chown vae tmp.log
其中umask 执行显示结果是 0022,第一个0表示特殊权限,后面我们会单独进行讲解有哪几种特殊权限 。022表示权限的掩码值,我们用7 7 7 减去 0 2 2得到755(是每一位相减),表示的就是下面通过加上-S输出的rwxr-xr-x,这个值用数字表示就是755.
这个意思说明创建一个文件的默认权限所有者为rwx,所属组为rx,其他人为rx 。也就是说创建一个新文件默认权限为 rwxr-xr-x,我们创建一个文件来验证一下:
我们发现使用touch命令创建了一个文件a.txt,然后发现权限并不是rwxr-xr-x,而是rw-r--r-- 。对比发现少了三个x,也就是少了可执行权限 。这是为什么呢?
这是因为在Linux系统中,所有新创建的文件都是没有可执行权限的 。这是出于Linux系统的一种自我保护,因为类似的病毒木马程序都是具有可执行权限的 。所以在Linux系统中,新创建的文件是没有可执行权限的 。
那么我们如何设置默认权限呢?比如我们想将新创建的文件权限设置为rwxr-xr--,也就是754 。我们用777减去754得到023 。也就是通过执行 umask 023 来完成默认权限设置 。
linux设置权限的命令linux权限设置命令用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x。下面解析一下格式所表示的意思 。这种表示方法一共有十位:9 8 7 6 5 4 3 2 1 0- r w x r - x r - x 第9位表示文件类型,可以为p、d、l、s、c、b和-:p表示命名管道文件d表示目录文件l表示符号连接文件-表示普通文件s表示socket文件c表示字符设备文件b表示块设备文件第8-6位、5-3位、2-0位分别表示文件所有者的权限 , 同组用户的权限,其他用户的权限,其形式为rwx 。linux下用chmod(change file modebit)改变一个文件的权限一般有两种方式:1、chmod [ugoa][+-=][rwx] filename这种方法很直观,u代表拥有者(user) , g代表组(group),o代表其它用户(other) , a代表所有用户(all) 。+-=代表增加、去除、设置为相应的权限 。rwx分别代表读(read)、写(write)、执行(exe) 。比如chmod a+x filname 表示对所有用户增加对filename的执行权限 。2.setUid,setGid如果一个命令被设置了SUID,那么这个命令在执行期间,执行这个命令的用户就具有了这个命令的属主的权限;如果一个命令被设置了SGID,那么这个命令在执行期间,执行这个命令的用户就具有了这个命令的属组的权限.设置SetUid权限: chmod 4xxx filename取消SetUid权限: chmod xxx filename设置SetGid权限: chmod 2xxx filename取消SetGid权限: chmod xxx filename如果执行chmod 6xxx filename命令即可同时为指定文件设置SetUid和SetGid,执行命令chmod 0xxx filename,即可同时取消指定文件的SetUid和SetGid权限 。
关于linux命令行取得权限和linux命令 权限的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读