Linux中修改文件目录权限命令chmod

    xiaoxiao2023-08-28  179

    chmod是一个用来改变文件或目录权限的命令;记得博主看黑客军团美剧的时候,第一集系统被入侵的时候,主角就使用过chmod命令。

    当使用#ls -l或ll命令时,即可看到当前的文件目录的权限,-rwxrwxrwx即表示权限。

    先说一下理论的东西,后面在说明整行字段的含义。

    文件系统上的权限是指文件系统上的文件和目录的权限,文件系统上的权限主要针对三类对象(访问者)进行定义:

    owner:属主,ugroup:数组,gother:其他,o

     

    每个文件针对每类访问者都定义了三种权限:

    r:readable 可读w:writable 可写x:executable 可执行

    对于文件来说:

    r:可用文件查看类工具读取此文件的内容w:可以添加、编辑或者修改内容,但是不包含删除该文件x:具有可以被系统执行的权限,文件是否能被执行就是由该权限来决定的

    对于目录来说:

    r:拥有此权限表示可以读取此目录的结构列表,也就是说可以查看该目录下的文件名和子目录名(ls查看)w:可以在此目录中创建文件,也可以删除、重命名移动文件x:具有进入此目录的权限

     

    权限表示方法:

    权限、二进制表示、八进制表示对应的表示方法如下:

    ---:000 0--x:001 1-w-:010 2-wx:011 3r--:100 4r-x:101 5rw-:110 6rwx:111 7

     

    chmod命令

    修改文件或目录的权限,设置方式采用字母或数字代号;

    参数

    u:属主g:属组o:其他用户a:表示三者全包括

    +:增加权限-:取消权限=:唯一设定权限-R:递归

    下面来说下字段的含义,举个例子,使用ls -l命令:

    drw-r--r--.  1 root root      970 Dec  3  2015 abc

    第一块红色,第一列,用来表示这个文件的类型:

    d:则是目录-:则是文件l:表示为连结档link fileb:表示为装置文件里面的可供存储的接口设备c:表示为装置文件里面的串行端口设备,如键盘、鼠标

    第二块:第二到四列,此处是rw-,表示属主权限

    第三块:第五到七列,此处是r--,表示属组权限

    第四块:第八到十列,此处是r--,表示其他的权限

    第五块:这里是1,连接数位(count)

    第六块:这里是root,属主

    第七块:这里是root,属组

    第八块:这里是970,是文件大小,单位字节

    970 Dec  3  2015:是文件的最后修改时间

    abc:文件名

    除了这些属性外,还有个需要了解的,索引节点“ Inode”号,ls -i显示每个文件的Inode号,每个文件或者文件夹前都会出现一个唯一的“Inode”编号。

     

    好了,下面来举一些例子来演示下:

    使用数字方式修改权限:

    上面已经列出了对应的数字,这里我们只管记住r对应4,w对应2,x对应1

    修改读写权限就是4+2=6,修改读执行权限就是4+1=5,将-rwxr-x-wx转换成对应数字就是753。

    -rw——- 对应数字就是600,只有所有者(属主)才有读和写的权限-rwxr-xr-x 对应数字755,只有所有者(属主)才有读,写,执行的权限,组群和其它只有读执行权限-rw-rw-rw- 对应数字666,每个人都有读写的权限

    示例

    修改abc文件权限为777。

    chmod 777 abc

    修改abc文件,使abc文件属主(所有者)可读,属组可写,其他没有权限。

    chmod 420 abc

    把abc目录下的文件全部设置为755权限

    chmod -R 755 /abc/

    修改abc文件权限为所有人可读

    chmod ugo+r abc 或 #chmod a+r abc

    修改abc文件权限为所有人可执行

    chmod ugo+x abc 或 #chmod a+x abc

    修改abc文件属主为所有人可执行

    chmod u+x abc

    修改abc文件属主属组有读写权限

    chmod ug+rx abc

     

    取消abc目录下的所有文件可写权限

    chmod -R a-w /abc/

    最新回复(0)