首页 > 代码库 > 07linux文件权限

07linux文件权限

基本框架:

a)         Linux用户类别:root owner  group  other

b)         组管理:   

c)         用户管理  

d)         权限管理   chown  chmod

 

  1. 1.      linux用户类别

        root:超级管理员,具有所有的权限,具有强制写入的权限

             

  1. 2.      组管理命令:

组也有自己的配置文件:组文件(/etc/group)和已知文件(/etc/gshadow)

/etc/group的文件格式:groupname:password:gid:user_list

 

Groupadd: 添加组

Gpasswd:  1)添加删除组成员:gpasswd –a

                            Gpasswd –d

          2)设置组密码

Groupmod: 更改组的名称:

                       Groupmod –n

Groupdel: 删除用户组

Groups: 显示用户所在的组

 

  1. 3.      用户管理命令:

      Useradd:  添加用户(注意,添加用户的同时,系统会同时创建一个默认组)

                Useradd –g  +默认组  –G  +其它组

                Useradd  –d   创建用户的同时指定家目录

      Passwd:为用户设置密码

                    Passwd   +用户名

                    Passwd  -d  +用户名 : 删除密码

      Usermod:修改用户信息,用法跟useradd类似

                 Usermod –g + 默认组  更改用户所属的默认组

                 Usermod –l           更改用户名

      Userdel:删除用户

                    Userdel  –r   一并删除用户和相应的家目录

      Id:   查看用户的uid、 默认组、 以及所在的组列表

Su:    切换用户

su  -  用户名: 切换用户的同时,切换路径到用户的家目录

                            这种切换更加彻底,切换的同时执行要切换用户的配置文件,进行一些环境的初始化。

                  su  相当于 su root

     

  1. 4.      权限管理

l      Chown : 用来更改文件所有者与组

         Chown  +其它的用户:其它的组 + 文件

         Chown  -R +其它的用户:其它的组 +文件夹   : 递归更改

 

l  Chgrp:只能够修改组,用法跟chown类似

l  Chmod:权限的更改

1、  数字方式

       Chmod 777(mode) filename

2、  文本方式:[ugoa][+-=][rwx]

          U 表示拥有者

Chmod –R +文件夹   : 递归更改

 

5、其它重要细节:

l  目录的各种权限的含义:

w权限:代表可以在目录中创建和删除文件

X的权限:代表可以进入文件夹

R的权限:可以列出文件夹中的内容,读文件夹

l  Umask:

   文件夹: mode = 777 &  ~umask

   文件:   mode = 666 &  ~umask

 

6、几个特殊的权限:(了解即可)

l  Set uid     s权限

/usr/bin/passwd   -rwsr-xr-x    passwd命令会更改/etc/shadow文件

/etc/shadow      -r----------

程序访问文件的权限不是由启动这个程序的用户来决定,而是由文件的拥有者来决定

特点:

     1)仅对可执行程序有效,即具有x权限

     2)本权限针对运行中的进程

     3)运行中的进程具有该程序拥有者的权限

set gid  :跟 set uid类似

 

l  粘着位(sticky bit)  t权限(重点了解)

1)        /tmp   drwxrwxrwt

2)        仅对目录有效

3)        防止文件或目录被非属主删除,只能够被拥有者或者root用户来删除

现实意义:当几个程序员共同开发一个软件时,我写的程序只能我自己删除。