码迷,mamicode.com
首页 > 其他好文 > 详细

用户、组及权限管理

时间:2016-03-13 06:42:42      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:linux   权限   用户   管理   用户组   

一、用户及用户组的概念

    现在操作系统均为多用户、多任务的操作系统。其中多用户是指多人同时使用系统资源;多任务是指系统同时运行多个进程。

    用户是为了在多个使用者之间尽心资源的分配,而用户组则是用户的集合,方便对同一类型的用户权限进行管理。

       

(一)用户

(1)用户分类及UID

    用户的类别:用户主要分为管理员和普通用户,其中普通用户还分为系统用户与登录用户两类。用户通过UserID即UID来标识。

    管理员:root    

            UID为0

    普通用户:

        系统用户:仅用于运行服务程序。

                 UID:在CentOS5和CentOS6中为 1-499

                      Centos7:1-999

        登录用户:系统资源的正常使用者。

                 UID:CentOS5和CentOS6:500+

                      Centos7:1000+

(2)用户配置文件

  1.用户信息库,名称解析库:/etc/passwd

    [root@localhost ~]# man 5 passwd

   格式(七段):account:password:UID:GID:GECOS:directory:shell

       account: 用户名

       password:可以是加密的密码,也可是占位符x

       UID:用户的ID号

       GID:用户所属的主组的ID号

       GECOS:注释信息

       directory:用户的家目录

       shell:用户的默认shell,登录时默认shell程序

  2. 密码存储位置:/etc/shadow   

[root@localhost ~]# man 5 shadow

     格式(九段):用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:过期宽限时间:账号失效日期:保留字段

       login name:用户名

       encrypted password:经过编码的密码,第二个$和第三个$之间是SALT,后面是加密后的密码

       date of last password change:最近一次修改密码的时间

       minimum password age:最短使用期限

       maximum password age:最长使用期限

       password warning period:警告期段

       password inactivity period:过期宽限时间

       account expiration date:账号失效日期

       reserved field:保留字段

    密码经加密侯存放,采用党项加密机制。

    单向加密:仅能加密不能解密


(二)用户组

(1)用户组分类及GID

    管理员组,GID为0

    普通用户组:    

        系统用户组:

                 GID:在CentOS5和CentOS6中为 1-499

                       Centos7:1-999

           普通用户组:

                 GID:CentOS5和CentOS6:500+

                      Centos7:1000+

    组类别:以用户为核心来划分

        用户的主组(用户的基本组)

        用户的附加组(用户的额外组)

    组类别:以组内容纳的用户来划分

        私有组:与用户名相同,且只有该用户。

        公共组:组内包含了多个用户

(2)用户组配置文件

  1.名称解析库:/etc/group   

 [root@localhost ~]# man  5  group

   格式:group_name:password:GID:user_list

   group_name:用户组名;

   password:组密码;

   GID:用户所属的主组的ID号;

   user_list:该组的用户成员,以此组为附加组的用户的用户列表;

  2.密码库:/etc/gshadow   

[root@localhost ~]# man  5  gshadow

    格式:group name:encrypted password:administrators:members

   group name:组名称

   encrypted password:加密密码,以!开头表示无合法密码,所以无用户组管理员

   administrators:用户组管理员账号

   members:该用户组的所属账号


 二、用户及用户组的相关命令

(一)用户管理命令

1.useradd:创建用户

   useradd  [options]  LOGIN

        -u, --uid UID:指定UID;

        -g, --gid GROUP:指定基本组ID,该组必须事先存在;

        -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组

        -c, --comment COMMENT:指明注释信息;

        -s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文中;

        -r, --system:创建系统用户;

        -d, --home HOME_DIR:指定路径为用户的家目录;通过复制/etc/skel目录并重命名实现                                 指定的家目录路径如果事先存在,则不会为用户复制环境配置文件

        -f, --inactive : 更改非活动期限      

        -M: 不创建用户家目

  useradd -D:显示创建用户的默认配置;

2.usermod:修改用户属性

   usermod   [options]  LOGIN      

        -u, --uid UID:修改用户的ID为此处指定的新UID;

        -g, --gid GROUP:修改用户所属的基本组;

        -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;

                                                    原来的附加组会被覆盖;

        -a, --append:与-G一同使用,用于为用户追加新的附加组;  -aG

        -c, --comment COMMENT:修改注释信息;

        -d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;

        -m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;-md

        -l, --login NEW_LOGIN:修改用户名;

        -s, --shell SHELL:修改用户的默认shell;

 

        -L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";

        -U, --unlock:解锁用户的密码;

3.userdel:删除用户,默认删除用户时不删除用户家目录

   格式:usermod   [options]  LOGIN   

        -r:删除用户时一并删除其家目录;

 4.passwd:密码修改

   (1) passwd:修改用户自己的密码;

   (2)passwd  USERNAME:修改指定用户的密码,但仅root有此权限;

    【OPTIONS】

        -l, -u:锁定和解锁用户;

        -d:清除用户密码串;

        -e  DATE: 过期期限,日期;

        -i  DAYS:非活动期限;

        -n  DAYS:密码的最短使用期限;

        -x  DAYS:密码的最长使用期限;

        -w  DAYS:警告期限;

        --stdin:从标准输入读取,一般和管道、重定向用来实现自动化

               echo "PASSWORD" | passwd --stdin USERNAME


(二)组管理相关命令

1.groupadd:添加组

  groupadd [options] group     

        -g GID:指定GID;默认是上一个组的GID+1;

        -r: 创建系统组;

2.groupdel:删除组

    groupdel [options] GROUP

3. groupmod:修改组属性

    groupmod [options] GROUP

        -g GID:修改GID;

        -n new_name:修改组名;

4.gpasswd:给组添加密码 ,一般组都没有密码

        在临时切换到不属于自己的附属组的其他组时候要通过组密码验证

        无密码的组不能被任何用户切换,仅能被组所包含的用户切换

    gpasswd [OPTION] group

        -a  USERNAME:向组中添加用户

        -d USERNAME:从组中移除用户

5.newgrp:临时切换指定的组为基本组,使用exit退出

    newgrp [-] [group]



二、权限管理

(一)权限的概念

    文件系统中,文件权限只要针对三类用户:

      (1)属主,owner,u

      (2)属组,group,g

      (3)其他,other,o

    每类用户都有三种权限:     

      (1)r:readable,可读

      (2)w:writeable,可写

      (3)x:excutable,可执行

    三种权限在文件和目录中具有不同的含义。

    文件:r:可获取文件数据

          w:可修改文件数据   

          x:可将此文件运行为进程

    目录:r:可使用ls命令获取其下的所有文件列表,但不可使用ls -l命令获取详细信息

          w:可修改此目录下的文件列表,即可在此目录下创建或删除文件 

          x:可以使用ls -l命令来获取旗下的文件详细属性信息,也可cd至此目录中

   文件或目录的权限位共九位,即rwxrwxrwx,每类用户各拥有三位权限rwx,左三位为属主权限位,中三位为属组权限位,右三位为其他用户权限位。

    权限组合机制:

        以owner为例:

                权限   二进制表示    十六进制表示

--- 000 0

--x 001 1

-w- 010 2

-wx 011 3

r-- 100 4

r-x 101 5

rw- 110 6

rwx 111 7


(二)权限管理相关命令 

1.chmod命令:change file mode bits

    chmod [OPTION]... MODE[,MODE]... FILE...

        # 以ugoa的方式来进行授权

    chmod [OPTION]... OCTAL-MODE FILE...

        # 权限数字是数值模式:是从一到四的八进制数字(0-7),分别用4(读权限) 2(写权限)             1(可执行权限) 

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

        # 标识权限参照某文件修改

(1) chmod [OPTION]... MODE[,MODE]... FILE...

MODE:

    赋权表示法:直接操作一类用户的所有权限位rwx;

       u=

       g=

       o=

       a=

       两类用户权限相同:ug=, go=

       不同类的用户权限不同:u=,g=,o=

    授权表示法:操作一类用户一位或多位权限;

       u+, u-

       g+, g-

       o+, o-

       a+, a-

       两类用户权限收授机制相同:ug+, ug-, ...

       不同类的用户权限不同:u+,g+,o+

2.chmod [OPTION]... OCTAL-MODE FILE...

    OCTAL-MODE:权限标识

        r:4

        w:2

        x:1



3.chmod [OPTION]... --reference=RFILE FILE...

    常用选项:

   -R, --recursive:递归修改;

            --reference=RFILE:RFILE表示参考其权限模型;

4.chown命令:修改属主或属组

    chown [OPTION]... [OWNER][:[GROUP]] FILE...

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

        #   此处也是参照文件修改,只是此处修改的是属主和属组( 注意:此处不修改权限)

   -R, --recursive:递归修改;

                # 与chmod使用方式相同,此处不在过多介绍

5.chgrp命令:修改属组

    chgrp [OPTION]... GROUP FILE...

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






本文出自 “宋臻的LINUX学习” 博客,请务必保留此出处http://songzhen.blog.51cto.com/6300389/1750379

用户、组及权限管理

标签:linux   权限   用户   管理   用户组   

原文地址:http://songzhen.blog.51cto.com/6300389/1750379

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!