用户和组的管理

前言

服务器最主要的工作是提供可靠的服务,提供服务就必须对外开放自己的网络,可靠就需要一定的机制来保证了。Linux中有一个3A的机制,首先是认证,就是我们经常听到的一句话,怎么证明你就是你;其次是授权,管理一个服务器,每个管理员都有自己的职责,那么我们就只分配对应的权限给特定的人,这样就可以明确事故的责任,从源头甩锅;最后是审计,总有一些黑客可以通过各种手段侵入我们的服务器,怎么保证我们所分配的权限没有被越权,这里我们可以通过记录管理员的操作,以保证权限的正确利用。

1组和用户

既然要分配权限,就要确定分配权限的对象。先对用户进行分门别类的划分一下。

超级管理员,它拥有这个服务器的全部权限,掌管一切,就是服务器的上帝,它具有自杀的权限,他可以让一切结束。其它用户的权限都在它的管理范围内。类似公司的老板,在linux中被定义为root

一般用户,具有一定的特殊权限。相当于员工。在linux被定义为普通账号,可以登录系统。有些大公司还有一些管理员,具有服务器大部分权利,有些管理员也可以控制着服务器自杀。类似公司的管理层,其本质还是员工,只不过root给他授予了更多的权限。

世界如此复杂总不能每个人都设定一个权限吧,号我们给用户分门别类,把类似的用户组织到一起分到一个组里,给这个组一个权限,这样可以大大减少我们分配权限的难度。Linux是很多开源人士攒出来的一个系统,每个使用linux的人都是人中龙凤。那好linux就设置了一种机制,默认在每个用户创建的时候,给用户创建一个与其同名的组,并且把这位人中龙凤定义为这个组的管理员,他可以把其他人加入自己的组中,其实就是为了方便大家联合开发和使用系统。

2用户和组的配置文件

在思想纲领的引导下,我们怎么实现用户和组的管理。Linux把创建的组和用户的参数放在多个文件中,这些文件的内容都有什么?

了解这些配置文件前,我们必须先了解linux怎么实现3A机制的。才可以更好的了解这些配置文件的作用。

1)        首先用户认证,linux怎么实现认证你就是你的,账号密码。账号放置在/etc/passwd文件中,密码放置在/etc/shadow文件中。

当一个用户登录时,系统拿到用户名和密码后首先遍历/etc/passwd文件,找到文件中对应用户的信息后,查看用户信息,账号没过期接着查/etc/shadow文件,密码正确就可以登录了。

/etc/passwd文件的格式,以冒号为分隔符

第一个字段是用户名

第二个字段是密码,现在密码不放在这个位置了,使用x代替

第三个字段是uid

第四个字段是gid

第五个字段是用户注释信息,可以没有

第六个字段是用户家目录

第七个字段是用户家目录

示例tom:x:500:500::/home/tom:/bin/bash

/etc/shadow的文件格式,同样是以冒号为分隔符

第一个字段是用户名

第二个字段是密码,这里的密码是经过加密过的密文,加密算法采用的是sha512。密码前面有!或!!,代表账号被锁定,此时这个账号不能登录系统。

第三个字段是用户上一次更改密码日期

第四个字段是用户密码最短使用时间,也就是几天内不能连续更改密码

第五个字段是密码有效时间

第六个字段是密码警告时间,提示用户更改密码

第七个字段是过期时间,用户在过期时间内没有更改密码,账号就会被锁定,密码字段最前面就会增加!!,只有管理员解锁才可以使用

第八个字段是账号到期时间

/etc/group

第一个字段是用组名

第二个字段是密码

第三个字段是gid

第四个字段是组内的其它用户

/etc/gshadow

第一个字段是组名

第二个字段是密码,与shadow一样!和!!代表账号锁定

第三个字段是组内管理者

第四个字段是组内的其它用户

2)        权限

在下一篇学习

3)        审计

在下一篇学习

3用户管理命令

1)        Useradd主要是用来添加用户的命令(可以使用su切换用户,会读取用户配置文件),命令格式如下

Useradd [option] username

-u #             指定uid,使用指定的uidid命令查看用户id信息)

-o          不检查uid的唯一性

-g #             指定gid

-G         指定附加组,附加组为多个时用,分割多个组

-N         不创建与用户同名组,并使用users组做家目录

-d          指定家目录

-s          指定shell类型

-c          指定用户附加信息

-r           创建系统组,和普通组没有太大的区别,centos6的系统用户小于500,7小于1000,这个只不过是约定俗成的规定,没有硬性要求

2)        Usermod用来更改用户信息(用户信息可以使用finger username命令查看),命令格式如下

Usermod [option] username

-u #             更改uid,使用指定的uid

-g #             更改gid

-G         更改附加组,附加组为多个时用,分割多个组。直接填附加组的话,原本的附加组会被覆盖。

-a          添加,一般与-G一起使用,给用户添加附加组。

-e YYYY-MM-DD           指明过期日期

-s          更改shell类型

-c          更改用户附加信息

-d          更改家目录但不移动原家目录内的文件,使用-m移动原家目录文件

-l           更改名字

-L          锁定

-U         解锁

3)        Userdel用来删除用户

-r            删除用户的同时删除该用户的家目录

4)        Passwd用来更改用户密码,直接使用更改当前用户密码

Passwd username更改指定用户密码

-l            锁定用户

-u           解锁

-e           强制用户下次登录更改密码

-n           指定最短使用时间

-m          指定最大使用时间

-w          指定警告时间

-i            指定非活动时间

–stdin          从标准输入接受密码

5)        chage更简单的修改的时间的命令

直接输入chage进入提示模式

-m          最小使用时间

-M          最大使用时间

-W         警告时间

-I            过期时间

-E           停用时间

-d           修改时间

4组管理命令

1)        Groupadd添加组

-g           指定组gid

-r            创建系统组

2)        Groupmod更改组信息

-n           更改组名

-g           更改gid

3)        Groupdel删除组

4)        Gpasswd给组设置密码

-a           添加user进组

-d           删除组内user

-A           指定user具有管理权限

5)        Newgrp         把某个用户的组临时切换到其它组,创建文件时组是临时组。

总结

到生产环境中,我们将不会拥有root权限,我们手头上的账号可能只具有某个目录的管理权限,那时我们只能在针尖上跳舞。当我们管理团队的时候,责任的划分将与用户权限密切相关,管理好手下的人,先从用户权限入手总不会错。

原创文章,作者:mortimer2015,如若转载,请注明出处:http://www.178linux.com/53545

(0)
mortimer2015mortimer2015
上一篇 2016-10-22 20:12
下一篇 2016-10-22 22:30

相关推荐

  • 一次完整的HTTP事务是怎样一个过程?

    声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解。 关于HTTP协议可以参考以下: HTTP协议漫谈 http://kb.cnblogs.com/page/140611/ HTTP协议概览 http://www.cnblogs.com/vamei/archive/2013/05/11/3069788.html 了解HTTP Heade…

    Linux干货 2015-03-10
  • 简单明了的Linux常用端口说明

    由于Linux常用端口很多,为了查看方便,所以特意整理了一些,详情如下        查看Linux常用端口   cat /etc/services # The Well Known Ports are those from 0 through 1023. 众所周知的端口是从0到1023。 # The Reg…

    Linux干货 2017-06-11
  • N25第一周博客作业

    本文主要阐述了以下几个知识点: l  计算机的组成及功能; l  介绍各不同发行版的linux及其联系; l  描述linux的哲学思想,及其本人对其个人理解; l  介绍一些linux基本命令及相关选项; l  如何在linux上使用帮助命令; l  罗列出发行版linux上的一些基础目录及其功用…

    Linux干货 2016-11-29
  • varnish

    缓存 缓存之所以能够生效是程序的运行具有局部性特征: 时间局部性:一个数据被访问过之后,可能很快会被再次访问到; 空间局部性:一个数据被访问时,其周边的数据也有可能被访问到 缓存的是热区数据 时效性: 缓存空间耗尽:LRU,最近最少使用; 过期:缓存清理 缓存命中率:hit/(hit+miss) 页面命中率:基于页面数量进行衡量 字节命中率:基于页面的体积进…

    Linux干货 2017-07-03
  • Nginx 编译安装

    简介 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配…

    Linux干货 2016-12-01
  • puppet配置详解

    主程序: facter-2.4.6-1.el7.x86_64.rpm puppet-3.8.7-1.el7.noarch.rpm #agent主机上用的包 puppet-server-3.8.7-1.el7.noarch.rpm 注:yum仓库中不是最新版的,可能会有些差别,最好到ftp上下载最新版的 配置文件:    &nbs…

    Linux干货 2017-08-08