当前位置: 首页 > Linux

Linux权限管理(一)基本权限

时间:2023-04-06 05:37:51 Linux

1.文件类型和权限-rwxrw-r--第一个字符表示文件类型如果是-,表示普通文件如果d表示目录如果l表示链接文件如果是b,表示它是一个接口设备,可以存储在设备文件中。如果是c,说明它是设备文件中的串口设备。例如mouse和keyboard第2到4个字符是一组,表示所有者权限(u)第5到7个字符是一个组,表示组权限(g)8到10个字符是一个组,表示其他人的权限(o)在每个组中,r表示读权限,w表示写权限,x表示执行权限。二、权限的作用1、权限对文件的作用r:读取文件内容,常用命令有catmoreheadtailw:编辑、添加、清除文件内容,常用命令包括vivim,但不包括删除filex:是执行文件2.权限对目录的作用r:可以查看目录下的文件。常用的命令有lsw:你有修改目录结构的权限。例如在该目录下新建文件和目录,删除该目录下的文件和目录,重命名该目录下的文件和目录。常用的命令有touchrmmvcpx:可以进入目录3.umask文件权限掩码1.语法umask[permissionmask]如果没有[permissionmask]参数,就是查看umask值的命令如果有[permissionmask]参数,是修改umask值的命令(临时修改,注销后无效)。root用户默认umask值为0022,非root用户umask值默认为0002,注意权限掩码。文件的最高权限为666,目录的最高权限为777,权限不能用数字换算,必须换算成字母才能计算。umask定义的权限是系统默认权限中要丢弃的权限。2.修改umask的值,临时修改登出后,umask【权限掩码】将永久失效修改/etc/profile#默认情况下,我们要设置umask。这为登录shell设置它#系统保留uid/gids的当前阈值是200#你可以检查uidgid保留有效性#/usr/share/doc/setup-*/uidgidfileif[$UID-gt199]&&["`/usr/bin/id-gn`"="`/usr/bin/id-un`"];thenumask002elseumask022fi...省略其他部分...3、文件(目录)默认权限的计算方法文件默认权限不能默认创建为可执行文件,必须手动授予执行权限。因此,文件的默认权限使用字符来表示,最大为rw-rw-rw-1。如果umask值为0022,则将文件的普通权限掩码022转换为字母----w--w-rw-rw-rw------w--w-=rw-r--r--2。如果umask值为0033,则将文件的普通权限掩码033转换为字母----wx-wxrw-rw-rw-----wx-wx=rw-r--r--directorydefaultpermission目录默认权限用字符表示,最大为rwxrwxrwx1。如果umask值为0022,则文件的普通权限掩码为022转换为字母----w--w-rwxrwxrwx-----w--w-=rwxr-xr-x2。如果umask值为0033,则将文件的普通权限掩码033转换为字母----wx-wxrwxrwxrwx-----wx-wx=rwxr--r--实例查看当前umask值为0022[root/tmp/tmp]#umask0022创建文件,默认权限为rw-r--r--[root/tmp/tmp]#touch0022[root/tmp/tmp]#lltotalusage0-rw-r--r--1rootroot0June611:290022创建目录,默认权限为rwxr-xr-x[root/tmp/tmp]#mkdir0022_dir[root/tmp/tmp]#ll-d0022_dirdrwxr-xr-x2rootroot6June611:300022_dir/更改umask值为0033[root/tmp/tmp]#umask0033[root/tmp/tmp]#umask0033创建文件,默认权限为rw-r--r--[root/tmp/tmp]#touch0033[root/tmp/tmp]#ll0033-rw-r--r--1rootroot0June611:320033创建一个目录,默认权限是rwxr--r--[root/tmp/tmp]#mkdir0033_dir[root/tmp/tmp]#ll-d0033_dirdrwxr--r--2rootroot6June611:330033_dir/4.chmod修改文件权限1.语法chmod[选项][模式][文件名]选项-R:递归模式[ugoa][+-=][rwx][421]2。权限的数值表示r=>4(读权限)w=>2(写权限)x=>1(执行权限)例如rwxrw-r--权限用数字表示Document7643.加(+)执行权限(x)给文件所有者(u)例如[root/tmp/tmp]#lltotalusage4.0K-rw-r--r--1rootroot43June511:13file[root/tmp/tmp]#chmodu+xfile[root/tmp/tmp]#lltotalusage4.0K-rwxr--r--1rootroot43June511:13file*是要加入的组文件属于(g)添加(+)写入(w)和执行(x)权限,删除(-)其他(o)读取权限(r)[root/tmp/tmp]#chmodg+wx,o-rfile[root/tmp/tmp]#lltotalusage4.0K-rwxrwx---1rootroot43June511:13file*设置文件的组(g)权限为(=)可读可写(rw),设置其他(o)权限设置为(=)只读(r)[root/tmp/tmp]#chmodg=rw,o=rfile[root/tmp/tmp]#lltotalusage4.0K-rwxrw-r--1rootroot43June511:13file*递归设置目录及目录下所有文件的权限为755[root/tmp/tmp]#mkdirdir[root/tmp/tmp]#touchdir/file1[root/tmp/tmp]#touchdir/file2[root/tmp/tmp]#ll-ddirdrwxr-xr-x2rootroot30June610:23dir/[root/tmp/tmp]#lldir总使用量0-rw-r--r--1rootroot0Jun610:23file1-rw-r--r--1rootroot0Jun610:23file2[root/tmp/tmp]#chmod-R755dir/[root/tmp/tmp]#ll-ddirdrwxr-xr-x2rootroot30June610:23dir/[root/tmp/tmp]#lldirtotalusage0-rwxr-xr-x1rootroot0June610:23file1*-rwxr-xr-x1rootroot0June610:23file2*递归修改目录下所有目录权限为755,修改目录下所有文件权限目录是644find!-typed-execchmod644{}\;五、chown修改文件所有者1.语法#只修改文件的所有者chown[option][owner][filename]#同时修改文件的所有者和属组chown[option][owner]:[group][filename]option-R:recursive2.例子只修改文件属主[root/tmp/tmp]#lltotalusage4.0Kdrwxr-xr-x2rootroot30June610:23dir/-rwxrw-r--1rootroot43June511:13file*[root/tmp/tmp]#chownwangfile[root/tmp/tmp]#llfile-rwxrw-r--1wangroot43June511:13file*递归修改[root/tmp/tmp]目录下所有文件的属主和属组#chown-Rwang:usersdir/[root/tmp/tmp]#ll-ddirdrwxr-xr-x2wang用户30June610:23dir/[root/tmp/tmp]#lldirtotalusage0-rwxr-xr-x1wangusers0June610:23file1*-rwxr-xr-x1wangusers0June610:23file2*六、chgrp修改文件所属组1.语法chgrp[选项][组][文件名]选项-R:递归2.例子递归修改所有的属主和属组目录和目录下的文件[root/tmp/tmp]#chgrp-Rrootdir/[root/tmp/tmp]#ll-ddirdrwxr-xr-x2wangroot30June610:23dir/[root/tmp/tmp]#lldirtotalusage0-rwxr-xr-x1wangroot0Jun610:23file1*-rwxr-xr-x1wangroot0Jun610:23file2*