Linux基础篇--权限和权限管理

文件权限

文件的权限主要针对三类对象进行定义

    owner: 属主, u

    group: 属组, g

    other: 其他, o

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

    r: read    w: write    x: eXcut

权限功能

针对文件,rwx权限功能:

    r: 可使用文件查看工具获取其内容

    w: 可修改文件内容

    x: 该权限主要针对于二进制、执行程序

针对目录,rwx权限功能:

    r: 可以使用ls查看此目录中文件列表

    w: 可在此目录中修改文件,即新建、删除此目录中的文件

    x: 可以cd进入此目录,访问目录中文件的元数据

    X:只给目录x权限,不给文件x权限;如果文件原来就有有执行权限,那么将赋予该文件执行权限

与权限相关的命令

    chmod、chown、chgrp

    chmod  修改文件权限,作用对象是文件

    chown  修改文件所有者,作用对象是文件

    chgrp   修改文件所属组,作用对象是文件

 

chmod   修改文件权限

    命令用法1:chmod  [OPTION]...  OCTAL-MODE FILE...

    选项:

-R  递归  更改目录下所有文件的权限

    命令用法2:chmod  [OPTION]...  MODE[,MODE]...  FILE...

    MODE用法:

        (1)修改用户的权限

u= (更改所有者权限)  

g=  (更改所属组权限)

o=  (更改其他用户权限)

a=   (更改所有权限)

        (2)修改用户的某位或某些为的权限

                  u+  u-   g+  g-  o+  o-  a+  a-

命令用法3: chmod  [OPTION]...  --reference=file1  file2...    参考file1文件的权限,将file2的权限修改为同样的设置

修改前文件权限

修改后文件权限

 

chown   修改文件所有者

    命令用法:chown  [OPTION]...  [OWNER] [:[GROUP]]  FILE...

                     chown  用户名.组名(或用户名:组名) 文件  修改文件用户和组

    选项:

-R  递归  更改目录下所有文件的所有者

修改前文件所有者为root

修改后文件所有者为test1

chgrp  修改文件所属组

    命令用法:chgrp  [OPTION]...  GROUP FILE...

                      chgrp  [OPTION]...  --reference=RFILE FILE...

    选项:

-R   递归    更改目录下所有文件的所属组

 

数字法设置权限

权限       r    w    x

对应数字   4    2    1

数字法表示权限,适用于所有对象,即u(文件所有者)、g(文件所属组)、o(其他)

因为数字相加最高为7,可以用八进制数字表示权限

    ---  000  0    没有任何权限

    --x  001  1    只有执行权限

    -w-  010  2    只有写权限

    -wx  011  3    有写和执行权限

    r--   100  4    只有读权限

    r-x   101  5    有读和执行权限

    rw-  110  6     有读和写权限

    rwx  111  7    有读、写、执行权限

例如:

       666  rw-rw-rw-

       750  rwxr-xr-x

 

新建文件和目录的默认权限

umask值   

设定umask值默认权限,只影响以后新建的文件

umask值+default(默认权限)=dir777|file666

文件的权限最大值为666,而目录权限最大值为777,是因为缺少执行权限1,这是为了安全考虑,文件具备执行权限,如果该文件是病毒或者不安全进程,会对系统有害,因此,系统默认文件不具备执行权限

文件权限算法:

    新建文件权限为:666-umask值,如果所得结果某位存在执行(奇数)权限,则将其权限+1

    新建目录权限为:777-umask,结果不做任何更改。

umask值

    特权用户(管理员)默认为022

    普通用户默认为002

命令用法:

    umask  查看uamsk值

    umask  数字   设定umask值

设置umask值只对当前登录用户有效,一旦退出该用户,umask值将不会对下次登录用户有效,因此,可将umask写入文件就用保存。

文件位置:~/.bashrc   只对当前用户有效

                   /etc/bashrc   对所有用户有效

模式法设置umask值:umask u=rw,g=r,o=

     umask -s  查看设置的umask值

     umask -p  显示umask值     显示结果,可用于重定向或追加到文件中,方便操作。

 

文件特殊权限

SUID  SGID  Skity

suid:数字表示为4,作用于二进制程序,功能:当用户执行此程序时,将继承此文件所有者的权限

    命令用法:chmod  u+s  /usr/bin/passwd  /usr/bin/passwd

                     数字法表示相当于 chmod  4755  /usr/bin/passwd  在原有用户权限值前加上4

sgid: 数字表示为2,作用于二进制程序,功能:当用户执行此程序时,将继承此文件所有组的权限

                                 作用于目录上,功能:当用户在目录建新文件时,新文件的所属组自动继承此目录的所属组

    命令用法:chmod  g+s  /usr/bin/passwd

                      数字法表示相当于 chmod 2755  在原有组权限值前加上2

sticky:数字表示为1,作用于目录上,功能:此目录中的文件,只能被所有者自已删除

    命令用法:chmod  o+t  /usr/bin/passwd

                      数字法表示相当于 chmod  1755    相当于在原有权限前加上1

 

chattr    设定文件特定属性

    +i  文件   任何用户都不能删除该文件

    -i         去除该功能

    +a     不能删除,只能追加内容

    -a     去除该功能

    -A     不更新读时间(atime),优化系统性能。

lsattr   显示特定属性

 

猜你喜欢

转载自blog.csdn.net/u013168176/article/details/81271318