普通用户的管理

用户管理的基本任务包括添加新用户、删除用户、修改用户属性以及对现有用户的访问参数进行设置。与密切

相关的文件包含/etc/passwd、/etc/shadow以及/home目录下的文件。

添加新用户

系统中一个合法的用户应该具有用户名、真实姓名、密码和登录环境等用户信息。与此相对应,添加一个新用

户通常需要系统完成以下几项操作。

1.设置用户名称及密码。

2.设置用户UID。系统在/etc/passwd文件中查找目前使用的大于或等于500的UID的最大编号,加1后赋予当前的

新用户,若目前还没有大于500的编号,则将500赋予该用户。

3.添加该新用户所属的用户组。每一个用户都会属于一个或多个用户组。系统在添加新用户时默认添加的用户组与

新用户名相同,同时会赋予该用户组一个GID,通常GID的编号与UID的编号相同。

4.创新以前用户名为名称的主目录。在大多数系统中,用户的主目录都被创建在同一个特定目录下,例如 /home

各用户对自己的主目录有完全的读、写执行权限,其他用户只能依据该目录的权限设置进行访问。

5.设定用的shell环境,默认是/bin/bash.

6.设定用户的失效时间,默认是99999天后

7.设定失效前发出警告的天数,默认是失效前7天。

管理员可以通过useradd或adduser命令来添加一个新的用户。

# tail -1  /etc/passwd  #显示/etc/passwd文件最后一行内容

#tail -1 /etc/shadow  #显示/etc/shadow文件最后一行内容

解析/etc/passwd文件

/etc/passwd文件存储着用户的相关信息,包含用户名、密码和主目录位置等。根用户对该文件有读和

写的权限,普通用户只有读权限。

/etc/passwd由’:’分割成7个字段,每个字段的具体含义是:

1) 用户名(如第一行中的root就是用户名),代表用户账号的字符串。用户名字符可以是大小写字母、数字

减号(不能出现在首位)、点以及下划线,其他字符不合法。虽然用户名中可以出现点,但不建议使用,尤其

是首位为点时,另外减号也不建议使用,因为容易造成混淆。

2)存放的就是该账号的口令,为什么是’x’呢?早期的unix系统口令确实是存放在这里,但基于安全因素,后来

就将其存放到/etc/shadow中了,在这里只用一个’x’代替。

3)这个数字代表用户标识号,也叫做uid。系统识别用户身份就是通过这个数字来的,0就是root,也就是说你

可以修改test用户的uid为0,那么系统会认为root和test为同一个账户。通常uid的取值范围是0~65535,0是超级

用户(root)的标识号,1~499由系统保留,作为管理账号,普通用户的标识号从500开始,如果我们自定义建

立一个普通用户,你会看到该账户的标识号是大于或等于500的。

4)表示组标识号,也叫做gid。这个字段对应着/etc/group 中的一条记录,其实/etc/group和/etc/passwd基本上

类似。

5)注释说明,该字段没有实际意义,通常记录该用户的一些属性,例如姓名、电话、地址等等。不过,当你

使用finger的功能时就会显示这些信息的(稍后做介绍)。

6)用户的家目录,当用户登录时就处在这个目录下。root的家目录是 /root,普通用户的家目录则为 /home/

username,这个字段是可以自定义的,比如你建立一个普通用户test1,要想让test1的家目录在/data目录下,只

要修改/etc/passwd文件中test1那行中的该字段为/data即可。

7)shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是shell。Linux的shell有很多种

sh, csh, ksh, tcsh, bash等,而Redhat/CentOS的shell就是bash。查看/etc/passwd文件,该字段中除了/bin/bash外

还有/sbin/nologin比较多,它表示不允许该账号登录。如果你想建立一个账号不让他登录,那么就可以把该字

段改成/sbin/nologin,默认是/bin/bash

解析/etc/shadow文件

由于普通用户可以读取/etc/shadow文件,因此密码直接保护直接保存在该文件中是极不安全的,很可能

会被别有用心的人获取并翻译。目前的操作系统在密码保护方面大多采用了ShadowPasswords及MD5口令保护

功能。

再来看看/etc/shadow这个文件,和/etc/passwd类似,用”:”分割成9个字段。

1)用户名,跟/etc/passwd对应。

2)用户密码,这个才是该账号的真正的密码,不过这个密码已经加密过了,但是有些黑客还是能够解密的。所

以为了安全,该文件属性设置为600,只允许root读写。

3)上次更改密码的日期,这个数字是这样计算得来的,距离1970年1月1日到上次更改密码的日期,例如上次更

改密码的日期为2012年1月1日,则这个值就是365*(2012-1970)+1=15331。

4)要过多少天才可以更改密码,默认是0,即不限制。

5)密码多少天后到期。即在多少天内必须更改密码,例如这里设置成30,则30天内必须更改一次密码,否则将

不能登录系统,默认是99999,可以理解为永远不需要改。

6)密码到期前的警告期限,若这个值设置成7,则表示当7天后密码过期时,系统就发出警告告诉用户,提醒用

户他的密码将在7天后到期。

7)账号失效期限。你可以这样理解,如果设置这个值为3,则表示:密码已经到期,然而用户并没有在到期前修

改密码,那么再过3天,则这个账号就失效了,即锁定了。

8)账号的生命周期,跟第三段一样,是按距离1970年1月1日多少天算的。它表示的含义是,账号在这个日期前可

以使用,到期后账号作废。

9)作为保留用的,没有什么意义。

修改用户的账号

修改用户的账号包含更改用户的用户名、密码、主目录、所属用户组和登录Shell等信息。

修改用户基本信息

修改用户的基本信息可以使用username命令,其命令格式为:

userrmod [-c comment]

-c   comment:更新用户的注释信息

-d  home_dir:更新用户的登录目录。如果指定了-m选项,则旧目录中的内容会复制到新

的目录中。如果新目录不存在则自动创建。

-e  expire_date:更新用户账户停用日期。其日期格式为MM/DD/YY。

-f   inactive_time:设定账号失效到永久停用的天数,当值为0时账号到期后立刻被停用。

而当值为-1是则关闭此功能。默认值为-1.

-g  initial_group:更新用户的初始登录用户组,即第一用户组。用户组名必须已经存在,默

认值为users。

-G group[....]:更新用户所属的用户组。通常一个用户可以属于多个用户组,成为多个用户组

的成员。每个用户组名之间必须用“,”分隔,如果用户当前所在的用户当前所在的用户组不在

此项中,则会从当前用户组删除此用户。

-l long_name:变更用户登录时的名称为longin_name.

-s  shell:指定用户新的登录shell。如果此项为空,则系统将选用默认的shell。

-u  uid:更新用户的UID值。该值修改后,用户目录树下所有的文件、目录的用户UID值会

自动改变,但放在用户主目录处的文件和目录的UID值则需要用户手动更新。

此命令将用户的登录目录改为/home/student2,登录Shell改为ksh,所在的组改为users和student。

修改用户密码

指定和修改用户密码的命令是passwd。根用户不仅可以修改自己的密码,还可以修改其他用户的密码

普通用户则只能修改自己的密码。passwd命令的格式:   passwd  [.....]

-k:表示只有密码过期才需要用户重新设定密码

-l:通过在用户的密码字段前加前缀“!”,对用户进行锁定。锁定的用户无法登录系统该命令只有根用户有

权使用。

-u:该参数与-l相反,是对锁定的用户进行解锁操作。该操作会删除密码字段前的“!”。使用-f参数,才能

强制解锁。

-d:快速删除用户的密码。该命令只对根用户有。

-n:设定最短的密码有效期。

-x:设定最长的密码有效期。

-w:设定密码过期前,发出警报的提前天使。

-i:设定密码过期到账号停用的天数。

-S:显示指定用户的当前密码状态。

--stdin:表示从标准输入重新读入密码,该标准输入也可以为一管道

linux用户与组管理的更多相关文章

  1. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  2. Linux用户与组管理命令

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...

  3. Linux 用户和组管理

    这是用户和组管理的知识点,不想看文字就看视频吧,还是视频为主,文字为备忘录 视频链接: 项目1用户管理 1.创建一个新用户user01,设置其主目录为/home/user01: #useradd –d ...

  4. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释

    与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...

  5. linux用户、组管理及权限(一)

    一.用户管理 1.为什么需要用户 1)计算机及网络资源的合理分配  2)可以控制用户访问系统的权限.3)身份认证 4) 进程 以某个用户的身份来运行 2.用户分类 用户的角色是通过UID(用户ID)来 ...

  6. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理

    我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...

  7. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group --学习

    一./etc/passwd 和/etc/shadow解释 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码 ...

  8. ref:linux用户和组管理,/etc/passwd,/etc/shadow和/etc/group 文件内容解释

    ref:https://www.cnblogs.com/xuha0/p/5519232.html 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shad ...

  9. Linux用户和组管理命令-用户创建useradd

    用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...

  10. 用户与安全 -(1)Linux用户及组管理

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登 ...

随机推荐

  1. wordcount代码实现详解

    阅读目录 1.MapReduce整体流程 2.WordCount源码 3.WordCount逐行解析 Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储, ...

  2. 【Git】Git hangs while unpacking objects (Windows)

    Git hangs while unpacking objects (Windows) 14 Oct 2014 I'm not sure if this is because we're behind ...

  3. Mac上安装使用Nginx

    1.brew search nginx 2.brew install nginx 启动nginx ,sudo nginx ;访问localhost:8080 发现已出现nginx的欢迎页面了. 备注: ...

  4. Managed Media Aggregation using Rtsp and Rtp

    his article was written almost 2 years ago, it's content may not reflect the latest state of the cod ...

  5. 自己亲自写的两本linux资料,免费下载,pdf文档

    第一本是我写的韩顺平老师解说的linux视频的笔记,该视频原本有21讲.可是我始终没有找到当中的17.18讲.可是其它部分我感觉及记录的还是蛮认真的.该套视频解说的非常基础,因此我的这本笔记也非常基础 ...

  6. 首先给大家介绍一下数据库project师,数据库project师(Database Engineer),是从事管理和维护数据库管理系统(DBMS)

    摘要 MySQL的最初的核心思想,主要是开源.简便易用.其开发可追溯至1985年,而第一个内部发行版本号诞生,已经是1995年. 到1998年,MySQL已经能够支持10中操作系统了.当中就包含win ...

  7. Linux的fuser命令解析

    fuser命令是用来显示所有正在使用着指定的file, file system 或者 sockets的进程信息. 例一: #fuser –m –u /mnt/usb1 /mnt/usb1: 1347c ...

  8. 【BIEE】19_不齐整维和越级维

    不齐整维:没有子节点的维度 越级维:层级维度出现断裂,则称为越级维 下图我们就可以清晰的看出: 首先,我们将表导入到资料库做好与事实表的关联后并建立相应维 以下是按照一般维度创建维后的结果 创建完成之 ...

  9. ASP.NET_SessionId 不相同导致验证码出错

    问题: 今天碰到一个比较奇怪的问题,每个页面请求的cookie的ASP.NET_SessionId 不相同,导致验证码检验出错.也就是说每个请求都是一个新的会话,我们把验证码保证在Session[ra ...

  10. redis主从和主从切换

    redis数据量增加,导致内存不够用,要迁移分离redis和程序: 1. 在新redis服务器上,启动一个redis实例,配置和master配置一致,不同的是配置文件中修改并启用 slave-read ...