首页 > 系统服务 > 详细

linux中用户和权限管理

时间:2016-03-08 21:38:55      阅读:299      评论:0      收藏:0      [点我收藏+]


  Linux是一个多用户、多任务的操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间登录同一个系统执行各自不同的任务,而互不影响。再结合linux的“一切皆文件”的理念,可以把执行任务看作是操作各种各样的文件,而这些操作可以分为readwriteexecut三种,也就是文件的能够赋予用户的三种权限。所以用户和权限的管理在linux系统中是尤为基础并重要的知识。

 

  一、linux系统中的用户。

   在linux系统中我们可以把用户分为两类

      1、超级用户

          也就是我们通常说的rootroot的权限是最高的,也被称为超级权限的拥有者

      2、普通用户

           可分为2种:系统用户(仅用于运行服务程序)和 登录用户(系统资源的正常使用者) 从以下的图中就可以明确的区分开来

       这里面有一个UIDuser ID)的概念,它是linux系统对用户做的一个标识符。

       以我的系统(centos7)为例:

       RootUID0

       系统用户的UID是 1-999

       登录用户的UID1000-60000

技术分享 

 

   我们上面说了,普通用户分为系统用户和登录用户,这是linux系统自己定义的一个组(系统组和登录组)。那我们以后要对登录用户进行管理,我们也需要对它们进行一个分类,我们称为用户组。

      用户组:承载多个用户的一个集合。

         我们根据不同的条件可以对组进行分类

            以用户为核心:主组和附加组

                          主组:用户基本组

                          附加组:用户的额外组

            根据组容纳的用户:私有组和公共组

                       私有组:与用户名相同,且只有一个此用户

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

 

      用户的在系统里面的表示符为UID,那组在系统里面的标识符就是GIDgroup ID

      以centos7 为例

      RootGID 为 0

      系统组:1-999

      登录组:1000-60000

 

 而在管理用户个组中我们主要会用到的命令有:

用户:useraddusermoduserdel

组:grpaddgrpmodgrpdel

 

Useradd:添加用户的命令。

   使用格式:useradd  [选项]  登录名

   -c--comment  添加注释信息

   -d--home  HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的文件会移动到新目录中

   -g, --gid GROUP 设置基本组的GID

   -G, --groups  GROUP1[,GROUP2,...[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加新的附加组;

   -l, --login  NEW_LOGIN:修改当前用户的用户名

   -s, --shell  SHELL 修改用户使用的shell类型

       -u, --uid  UID  更改新建用户的UID

       -e, --expiredate  EXPIRE_DATE:用户账号的过期期限;过期后会被锁定;日期以 YYYY-MM-DD 格式指定

       -f, --inactive INACTIVE:密码过期后,账户被彻底禁用之前的天数。表示立即禁用,-1 表示禁用这个功能。

 

    

Usermod:修改用户信息

  使用格式:usermod  [选项]  登录名

    -c, --comment  修改注释信息

    -d, --home  HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的文件会移动到新目录中;

    -g, --gid GROUP  修改GID信息

    -G, --groups  GROUP1[,GROUP2,...[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加新的附加组;

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

        -s, --shell  SHELL 修改当前用户使用的shell类型

        -u, --uid  UID 修改当前用户的UID

        -L, --lock:锁定用户的密码。这会在用户加密的密码之前放置一个“!

        -U, --unlock:解锁用户的密码。这将移除加密的密码之前的“!

 

userdel命令:删除用户账号

      使用格式userdel [选项]  登录名

            -r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除

 

 

      

    二、linux的权限管理

       Linux中一切皆文件,那文件的权限的管理在linux中就尤为重要了。文件的权限主要有三类:读,写,执行,这些权限主要是针对用户和用户组的。

       文件系统重要面对三类用户:

         属主:owneru

         属组:groupg

         其他:othero

        权限的类型有三类:

         rreadable 可读:可获取文件的数据

         w: writable 可写:可修改文件的内容

         x: executable 可执行:可将次文件运行为进程

   一个文件的主要属性有以下几个

 技术分享

 

  三种权限在linux的表现形式为:

   

技术分享 

     由此我们在管理权限会用的命令有:chown chgrp chmod

 Chown  更改文件的属主

   格式为: chown [OPTION]... [OWNER][:[GROUP]] FILE...

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

     chgrp   更改文件的属组

   格式为: chgrp [OPTION]... GROUP FILE...

  Chmod 更改文件的权限

  格式为: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+

 

      

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

                用8进制附加权限:

                  具体表达方法:

                     ---     0000

--x    0011

-w-    0102

-wx    0113

r--    1004

r-x    1015

rw-    1106

rwx 1117

              例如我需要把/tmp/fstab文件改为 rwxr-xr-x

    则: chmod 755 /tmp/fstab

         技术分享

              

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

            --reference=RFILERFILE表示参考其权限模型

 

 

    写的第一篇博客,还不是很成熟,希望各位多多指点,谢谢。 


本文出自 “Bolly” 博客,请务必保留此出处http://bolly.blog.51cto.com/4460561/1748874

linux中用户和权限管理

原文:http://bolly.blog.51cto.com/4460561/1748874

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!