首页 > 系统服务 > 详细

Linux环境下对账户和权限管理

时间:2017-01-04 17:21:04      阅读:223      评论:0      收藏:0      [点我收藏+]

Linux环境下账号和权限管理


一、管理用户账号和组账号

1.1用户账号和组账号概述

  与Windows系统相比,Linux系统中的用户账号和组账号的作用在本质上是一样的。

1.1.1用户账号

        Linux系统中,系统管理奖用户账号分为不同的类型,其权限、角色也各不相同。


      超级用户: Root默认超级管理员,拥有最高权限

      普通用户: 由root用户或其他管理员创建,在自己宿主目录中有文正权限

      程序用户: 安装Linux系统及部分应用程序是,添加的一些特定的低权限用户,一般不允许登录系统,而仅用于维持系统或某个程序的正常运行

1.1.2组账号 

        每个用户至少属于一个组,称为基本组(私有组),若用户同时还包括在其他的组中,称为附加组(公共组)。

1.1.3UID和GID号

        每个用户账号都有一个数字形式的身份标记,称为UID(user Identity用户标识号),对系统核心来说,UID作为区分用户的基本依据,原则上每个用户的UID号应该是唯一的,root用户的UID为固定值0,而程序用户UID号默认1~499, 500~60000UID号默认分配给普通用户使用。

        每个组账号都有一个数字形式的身份标记,称为GID(group Identity组标识号),root组账号的GID为固定值0,而程序组账号GID号默认1~499, 500~60000UID号默认分配给普通组账号使用。

2.2  用户账号管理

 2.1.1  用户账号文件

        /etc/passwd    保存用户名称、宿主目录、登录Shell等基本信息

        /etc/shadow    保存用户的密码,账号有效期等信息

        /etc/skel      用户模板目录

查看/etc/passwd和/etc/shadow文件

技术分享

   2.2.2  添加、删除、修改用户账号

          useradd命令

          命令格式    useradd  [选项]   [用户名]

          常用命令选项

                                -u:指定 UID 标记号

                                -d:指定宿主目录,缺省为 /home/用户名

                                -e:指定帐号失效时间

                                -g:指定用户的基本组名(或UID号)

                                -G:指定用户的附加组名(或GID号)

                                -M:不为用户建立并初始化宿主目录

                                -s:指定用户的登录Shell

 创建用户并查看信息 

技术分享

          passswd命令——为用户创建密码

          命令格式   passwd   [选项]    用户名

          常用命令选项

                               -d:清空用户的密码,使之无需密码即可登录

                               -l:锁定用户帐号

                               -S:查看用户账号的状态(是否被锁定)

                               -u:解锁用户账号

技术分享

          usermod命令——修改用户账号属性

          命令格式   passwd  [选项]   用户名

          常用命令选项

                             -l:更改用户帐号的登录名称

                             -L:锁定用户账户

                             -U:解锁用户账户

以下选项与useradd命令中的含义相同

               -u、-d、-e、-g、-G、-s

      userdel 命令——删除用户账号

            命令格式  passwd   [选项]     用户名

       添加 -r 选项时,表示连用户的宿主目录一并删除

2.2.3  用户账号的初始配置文件

       文件来源   新建用户帐号时,从 /etc/skel 目录中复制而来

       主要的用户初始配置文件

             ~/.bash_profile:用户每次登录时执行

             ~/.bashrc:每次进入新的Bash环境时执行

             ~/.bash_logout:用户每次退出登录时执行

3.1  组账号管理

 3.1.1 组账号文件

     与用户帐号文件相类似

       /etc/group:保存组帐号基本信息包括名称、GID号、组成员等

       /etc/gshadow:保存组帐号的密码信息

 3.1.2 添加、删除、修改组账号

       groupadd命令——添加组账号

       命令格式    groupadd  [选项]  组账号名称

           选项             -g      指定GID号

       gpasswd命令——添加、设置、删除组成员

       用途:设置组帐号密码(极少用)、添加/删除组成员

       命令格式    gpasswd  [选项]   组账号名

                选项          -a      添加组成员

                              -d      删除组成员

       groupdel命令——删除组账号

       命令格式    groupdel    组账号

4.1  查询账号信息

     id命令

       用途:查询用户身份标识

       命令格式     id       [用户名]

     groups命令

       用途:查询用户所属的组

       命令格式   groups    [用户名]

     finger命令

       用途:查询用户帐号的详细信息

       命令格式    finger    [用户名]

     users、w 、who命令

       用途:查询已登录到主机的用户信息

       命令格式     user 

                     w

                    who

二、管理目录和文件的属性

        Linux文件系统赋予了两个属性:访问权限和文件所有者,简称为权限和归属。

        访问权限

            读取 r:允许查看文件内容、显示目录列表

            写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录

            可执行 x:允许运行程序、切换目录

       归属(所有权)

            属主:拥有该文件或目录的用户帐号

            属组:拥有该文件或目录的组帐号

1.1查看目录和文件的属性

技术分享

上图 红框内共有11个字符,解释如下:

第1个字符:表示该文件的类型,d(目录)、b(块设备文件)、c(字符设备文件)、-(普通文件)、字母l(链接文件)等。

第2~4个字符:文件的属主用户对文件的访问权限

第5~7个字符:文件的属组内各成员用户对文件的访问  权限。

第8~10个字符:其他任何用户对文件的访问权限

第11个字符:这里“ . ” 与SELinux有关,目前不必关注

技术分享

权限字符在文件和目录中的含义

权限   文件                 目录

r查看文件内容             查看目录内容(显示子目录、文件列表)

w修改文件内容             修改目录内容(在目录中新建、移动、删除文件或子目录)

x执行该文件(程序或脚本)     执行cd命令进入或退出该目录


1.2设置目录和文件 的权限

       chmod 命令——设置文件或目录的权限

       命令格式   chmod   nnn   文件或目录

           nnn  表示数字权限或者rwx

         常用选项     -R    表示递归修改指定目录下所有子项的权限

1.3 设置目录和文件的归属

      chown 命令——设置文件或目录的权限

      命令格式   chown   属主:[属组]     文件或目录

                 chown   属主           文件或目录

                 chown   :属组           文件或目录

      常用选项     -R    表示递归修改指定目录下所有子项的权限

三、实验演示

        公司的Linux主机即将提供给技术部作为开发服务器使用,根据部门内项目组的构成情况,首先需要建立相应的组账号、用户账号,并为相关目录设置权限;还需要设置一个公用的数据存储目录,便于同事之间的数据交换。


需求描述

       建立用户目录

          创建目录/tech/kaifa和/tech/ceshi,分别用于存放各项目组中用户账号的宿主文件夹。例如:kaifa1用户的宿主目录应位于/tech/kaifa。

       添加组账号

         为两个项目组添加组账号kaifa、ceshi,GID号码分别设置1001,1002.

   为kaifa部添加组账号tech,GID号设置为200。

       添加用户账号

         kaifa组包括三个用户,分别是kaifa1、kaifa2、kaifa3。宿主目录均使用/tech/kaifa/目录中与账号同名的文件夹,其中kaifa3用户账号设置为2017年12月31日失效。

         ceshi组包括两个用户,分别是ceshi1、ceshi2。宿主目录均使用/tech/ceshi/目录中与账号同名的文件夹,其中ceshi2用户账号的登录Sell设置为/bin/sh。

  上述所有用户要求加入到tech组内。

       设置目录权限及归属。

         将/tech目录的属组设置为tech,去除其他用户的所有权限。

         将/tech/kaifa目录的属组设置为kaifa,去除其他用户的所有权限。

         将/tech/ceshi目录的属组设置为ceshi,去除其他用户的所有权限。 

       建立公共数据存储目录

         创建/public目录,允许所有kaifa组内的用户读取,写入,执行,非kaifa组的用户禁止访问此目录。

实验步骤:

1、使用mkdir创建/tech/kaifa,/tech/ceshi和/public公共目录

技术分享

2、使用groupadd命令依添加上述组账号,并指定GID号

技术分享

3、使用useradd命令依次创建上述要求的用户账号和普通用户

技术分享

查看失效用户

技术分享

4、使用passwd命令为用户创建密码

技术分享

5、将所有用户加入到tech组内

技术分享

6、   使用chown、chmod命令设置上述目录权限和归属。

技术分享

7、  设置公共文件夹的权限和归属。

技术分享

8、  测试

技术分享





Linux环境下对账户和权限管理

原文:http://daijiehao.blog.51cto.com/11959163/1888827

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