【Linxu学习006】权限管理

一、使用chown命令改变文件属主

chown USERNAME FILE1......
        -R                    :递归改变目标文件夹和子文件夹中的所有文件和目录的
                               属主
        --reference=RFILE     :使用RFILE文件的属主和属组作为目标文件的属主和属组
        USERNAME:GROUPNAME    :同时改变目标文件的属主和属组
        --dereference         :影响链接文件指向的文件而不是链接文件本身,这是默认
                               选项   
        -h, --no-dereference  :影响链接文件本身而不是链接文件指向的文件(如果操作系
                               统支持的话)

    示例:

chown root /u
    Change the owner of /u to "root".
chown root:staff /u
    Likewise, but also change its group to "staff".
chown -hR root /u
    Change the owner of /u and subfiles to "root".

二、使用chgrp修改文件属组

chgrp GROUPNAME FILE......
        -R                    :递归改变目标文件夹和子文件夹中的所有文件和目录的
                               属组
        --reference=RFILE     :使用RFILE文件的属组作为目标文件的属组
        --dereference         :影响链接文件指向的文件而不是链接文件本身,这是默认
                               选项   
        -h, --no-dereference  :影响链接文件本身而不是链接文件指向的文件(如果操作系
                               统支持的话)

    示例:

chgrp staff /u
    Change the group of /u to "staff".
chgrp -hR staff /u
    Change the group of /u and subfiles to "staff".

三、使用chmod命令修改文件权限

    1.同时修改三类文件权限

chmod MODE FILE,......
        -R                    :递归修改权限
        --reference=RFILE     :将目标文件的权限全部修改成为RFILE文件的权限。

    示例:

chmod -R 777 /tmp/a           :/tmp/a文件的权限修改成 rwxrwxrwx
chmod --reference=/a /tmp/a   :将/tmp/a的权限修改成和/a权限相同

    2.只修改某类用户的权限

chmod u/g/o/a = r/w/x    FILE,......

    3.增加或者删除某类用户的某个权限

chmod u/g/o/a +/- r/w/x FILE,......

四、权限相关问题

    1.不同的用户创建了新文件之后默认的权限不相同,这是为什么?

kdyzm@kdyzm:/tmp/temp$ touch b
kdyzm@kdyzm:~$ su root
Password:
root@kdyzm:/tmp/temp# touch a
kdyzm@kdyzm:/tmp/temp$ ll
total 8
drwxrwxr-x  2 kdyzm kdyzm 4096  1月 31 09:50 ./
drwxrwxrwt 13 root  root  4096  1月 31 09:42 ../
-rw-r--r--  1 root  root     0  1月 31 09:50 a
-rw-rw-r--  1 kdyzm kdyzm    0  1月 31 09:50 b

        不同类别的用户umask不同(比如root与普通用户),umask是“反向掩码”,使用

umask

        命令就能够显示出来当前用户umask的值

kdyzm@kdyzm:~$ umask
0002
kdyzm@kdyzm:~$ su root
Password: 
root@kdyzm:/home/kdyzm# umask
0022
root@kdyzm:/home/kdyzm#

        当创建文件或者文件夹的时候,系统会根据umask的值设置其对应的权限位的值:如果创建的是文件,那么使用666-umask作为文件的默认权限;如果是文件夹,那么使用777-umask作为文件夹的默认权限。

        需要特别注意的是,Linux默认不允许文件有执行权限,如果经过计算创建的文件有了执行权限,则在执行权限位上自动+1。

    2.如何通过配置文件的方式创建一个账户

        


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章