Linux中的账号管理(上)

一背景

 Linux    一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响,例如某台linux服务器上有4个用户,分别是rootwwwftpmysql,在同一时间内,root用户可能在查看系统日志,管理维护系统,www用户可能在修改自己的网页程序,ftp用户可能在上传软件到服务器,mysql用户可能在执行自己的SQL查询,每个用户互不干扰,有条不紊的进行着自己的工作,而每个用户之间不能越权访问,比如www用户不能执行mysql用户的SQL查询操作,ftp用户也不能修改www用户的网页程序,因此可知,不同用户具有不同的权限,每个用户是在权限允许的范围内完成不同的任务,linux正是通过这种权限的划分与管理,实现了多用户多任务的运行机制。

二、用户user和组group的简介

 

1)、用户user

Linux用户:Username/UID

管理员:root, 0

普通用户:1-65535

1、系统用户(不需要登入,系统服务或者后台进程使用):

UID1-499CentOS6,  UID1-999 CentOS7

    对守护进程获取资源进行权限分配

2、登录用户:500CentOS6+, 1000+CentOS7

3、交互式登录 

   如果用户指定的是nologin,用户就不能登入,就给服务使用

2)组group


  些用户或组的集合(linux中不支持组的嵌套),方便用户的管理


      例如:有文件file1 希望用户wang,zhang, li对他有readwrite的权限,文件file2希望这三     个用户多他有read的权限,可以把这三个用户加入一个group,以后就可以直接对group授权,file1     read write group;file2 read group

 

Linux组:Groupname/GID

    管理员组:root, 0

    普通组:

1、系统组:1-499centos6,1-999centos7

2、普通组:500+(centos6),1000+(centos7)

    Linux中允许用户和组的名字一样,甚至id也可以一样

    当新建一个用户的时候,会自动建一个和他同名的组

 

    Linux组的类别:

     1、主要组:用户必须属于一个且只有一个主

     2、私有组:组名同用户名,且仅包含一个用户

     3、附加组(辅助组):一个用户可以属于零个或多个辅助组

 

三、与用户有关的文件/etc/passwd/etc/shadow

 a/etc/passwd文件:

      下面是/etc/passwd文件的部分输出:

    1.png

                                                        

       下面是每个字段的详细含义:

login name:登录用名(wang

passwd:密码(x)

UID:用户身份编号(1000)

GID:登录默认所在组编号(1000)

GECOS:用户全名或注释

home directory:用户主目录(/home/wang)

shell:用户默认使用shell (/bin/bash)

 

b/etc/shadow文件:

下面是/etc/passwd文件的部分输出:

 2.png

下面是每个字段的详细含义:

登录用名

用户密码:一般用sha512加密

197011日起到密码最近一次被更改的时间

密码再过几天可以被变更(0表示随时可被变更)

密码再过几天必须被变更(99999表示永不过期)

密码过期前几天系统提醒用户(默认为一周)

密码过期几天后帐号会被锁定

197011日算起,多少天后帐号失效。

 

四、与组有关的文件/etc/group/etc/gshdow

      a/etc/group

       4.png

群组名称:就是群组名称

群组密码:通常不需要设定,密码是被记录在/etc/gshadow

GID:就是群组的ID

以当前组为附加组的用户列表(分隔符为逗号)

 

       b/etc/gshadow

        5.png

群组名称:就是群组名称

群组密码:

组管理员列表:组管理员的列表,更改组密码和成员

以当前组为附加组的用户列表:(分隔符为逗号)

 

五./etc/login.defs文件

    用来定义创建一个用户时的默认设置,比如指定用户的UIDGID的范围,用户的过期时间、是否需要创建用户主目录等等。

 

下面是centos6下的/etc/login.defs文件,简单介绍如下:

MAIL_DIR        /var/spool/mail

当创建用户时,同时在目录/var/spool/mail中创建一个用户mail文件

PASS_MAX_DAYS   99999

 #指定密码保持有效的最大天数

PASS_MIN_DAYS   0

表示自从上次密码修改以来多少天后用户才被允许修改口令

PASS_MIN_LEN    5

指定密码的最小长度

PASS_WARN_AGE   7

表示在口令到期前多少天系统开始通知用户口令即将到期

UID_MIN                   500

指定最小UID500 ,也就是说添加用户时,用户的UID 500开始 UID_MAX                 60000

指定最大UID60000

GID_MIN                   500

指定最小GID500,也就是添加组时,组的GID500开始。

GID_MAX                 60000

指定最大GID60000

CREATE_HOME     yes

此项是指定是否创建用户主目录,yes为创建,no为不创建。

 

 

六./etc/default/useradd文件

当我们通过useradd命令不加任何参数创建一个用户后,用户默认的主目录一般位于/home下,默认使用的shell/bin/bash,这是为什么呢,看看/etc/default/useradd这个文件的内容就完全明白了

 

默认值设定:/etc/default/useradd文件中

显示或更改默认设置:

useradd-D

useradd–D-s SHELL

6.png

# useradd defaults file

GROUP=100  

HOME=/home  #此项表示将新建用户的主目录放在/home目录下

INACTIVE=-1 #此项表示是否启用帐号过期禁用,-1表示不启用

EXPIRE=     #此项表示帐号过期日期,不设置表示不启用

SHELL=/bin/bash  #此项指定了新建用户的默认shell类型

SKEL=/etc/skel  #此项用来指定用户主目录默认文件的来源,也就是说新建用户主目录下的      文件都是从这个目录下复制而来的

CREATE_MAIL_SPOOL=no

/etc/default/useradd文件定义了新建用户的一些默认属性,比如用户的主目录、使用的shell      等等,通过更改此文件,可以改变创建新用户的默认属性值

    7.png

七、总结

    这里简单介绍了用户和组的概念还有一些重要配置文件每个字段的含义,相关一些命令的使用下节介绍。

 

 

 

 

 

 

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

(0)
xiaoqingxiaoqing
上一篇 2016-08-04 14:40
下一篇 2016-08-04 14:40

相关推荐

  • Linux基础之shell脚本编程(二)

    1、写一个脚本,完成以下功能    (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;    (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;    (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串; &nb…

    Linux干货 2016-11-17
  • 磁盘管理:raid和lvm练习

    本文通过以下习题,巩固所学raid和lvm知识: 20160829         1、创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录       &nbsp…

    Linux干货 2016-09-05
  • NFS实现(双httpd + php-fpm + nfs + mysql 搭建discuz论坛)

    NFS相关介绍一、NFS简介1. NFS(Network File System): NFS是一个文件共享协议, 也是是在类Unix系统中在内核中实现的文件系统。2. 起源: 最早是由SUN公司研发,非常古老,只是实现文件共享,安全控制方面比较简陋。 版本有, NFSv1, NFSv2,NFSv3,NFSv4. v4版开始支持kerber…

    Linux干货 2016-10-19
  • Net25 第二周作业

    一、Linux上的文件管理类命令,其常用的使用方法和相关示例 1、ls:查看文件与目录 作用:ls命令用于显示目录内容,类似于DOS下的dir命令,它的使用权限是所有用户。 用法:ls [选项]…[文件]… 主要选项如下: -a:全部的文件,连同隐藏文件(开头为 .的文件)一起列出来 -A:列出全部的文件(连同隐藏文件,但不…

    系统运维 2016-12-11
  • LAMP基于rsyslog+loganalyzer实现日志集中管理及分析

    前言 作为一名运维工程师,查看分析系统日志是每天必做的功课,但每次查看日志都得一台服务器一台服务器的看,几台服务器还可以这么对付,但如果管理成百上千台线上服务器,这种方法就捉襟见肘了。于是我们就需要用到日志服务器了,但是如何能让它更直观的显示呢?loganalyzer是一个不错的选择,本文将讲解如何使用rsyslog+loganalyze实现日志统一管理及分…

    Linux干货 2015-04-27
  • rsyslog, mysql, loganalyzer联合实现

    一. rsyslog简介 rsyslog是一个自由软件, 是GPL的lincesed增强的syslogd. 它提供了Mysql和完全可配置的输出格式的支持. 1. 日志信息格式:      <优先级>时间戳 主机名 模块名/级别/信息摘要:内容      <priority>…

    Linux干货 2016-10-24