管理用户文件

用户账户文件

/etc/passwd账户号文件

在Linux系统中,创建的用户账户及其相关信息,均放在/etc/passwd配置文件中。

这个文件中每一行代表一个用户的资料。

每一行使用6个冒号:分隔成7个域,意义分别是:

域位置 意义 描述
1 用户名 用户账户名称,可以是字母、数字组成的字符串,区分大小写
2 密码 实际上密码已经转移到/etc/shasow中,此位置用x填充
3 UID 用户号,用户的唯一数字标识符
4 GID 用户组的数字标识符,对应/etc/group中的GID
5 描述 可选的关于用户全名、电话等描述性信息
6 主目录 用户的私人目录,登录系统后默认进入的目录
7 登录shell 用户登录系统后默认使用的shell程序,默认是/bin/bash

系统用户的UID为1-999,普通用户的UID如在创建时没有指定则从1000开始顺序编号,用户组的GID也是从1000开始顺序编号。

/etc/shadow密码文件

由于所有用户对/etc/passwd文件都有读权限,为了增强系统安全,用户经过加密后的口令都放在/etc/shadow文件中,原来存储密码的位置用x填充。

该文件每个用户占一行。

每行用8个冒号:分隔为9个域,意义分别是:

域位置 意义 描述
1 用户名 用户的登录名
2 加密后的口令 *表示非登录用户,!!表示没设置密码
3 上次改口令的天数 从1970-01-01起到用户最近一次更改密码的天数
4 最短口令存活期 从1970-01-01起到用户可以更改密码的天数
5 最长口令存活期 从1970-01-01起到用户必须更改密码的天数
6 口令过期提醒 密码过期前几天提醒用户更改密码
7 口令过期禁用时间 密码过期几天后账户被禁用
8 口令被禁用的具体日期 相对于1970-01-01的天数
9 保留域 保留域,用于扩展

/etc/login.defs账户配置文件

新建用户的时候会根据此文件的配置来设置用户的某些选项。

用户组群文件

/etc/group文件

组账户的信息会放置在该文件中,而相应的组口令、管理员等信息则放置在/etc/gshadow文件中。

该文件任何用户都可查看,每个组账号占一行。

每行用3个:分隔成4个域,意义如下:

组名:组口令:GID:组员列表

其中,组口令一般为空,用x占位。

用户的主组不把该用户作为组员列出,其他多个组员用,隔开。

/etc/gshadow文件

此文件用于保存加密后的组口令,组管理员等信息。

只有root用户可以读取。

每个组账号占一行,没行用3个:分隔成4个域,意义如下:

组名:加密后的口令:组管理员:组成员列表

其中,如果没有口令则显示!

管理用户账号

新建用户

可以使用useradd或adduser命令,参数说明如下:

选项 说明
-c comment 用户 的注释性信息
-d dir 指定用户的主目录
-e date 禁用账号的日期,格式为YYYY-MM-DD
-f days 设置账号过期多少天后禁用。0立即,-1永不
-g group 用户的主组,可用组名和GID
-G groups 用户的附属组,多个用逗号分开
-m 若用户主目录不存在,则创建
-M 不创建用户主目录
-n 不要为用户创建私人组
-p passwd 加密后的口令,注意是加密后的!
-r 创建UID<500的不带主目录的系统账号
-s shell 指定用户的登录shell
-u UID 指定用户的UID,唯一,且>499

比如新建一个用户userok,UID为2318,指定私有组为groupok,主目录为/home/userok,bash为/bin/bash,密码为123456,账户永不过期。

useradd -u 2318 -g groupok -d /home/userok -s /bin/shell -f -1 userok

echo “123456”|passwd --stdin userok

注意:指定私有组时,私有组一定要是已经存在的。

不可用-p passwd 123456为账号指定密码为123456,这是不可行的,因为-p参数指定的密码是加密后的而非明文。

设置用户账户口令

passwd命令用来修改用户账户的各项参数。

passwd参数说明如下:

选项 说明
-l 锁定(停用)该账户
-u 口令解锁
-d 口令置空,可无密码登录
-f 强迫下次登录修改密码(未测试成功)
-n 指定口令最短存活期
-x 指定口令最长存活期
-w 口令到期前提醒警告的参数
-i 口令过期后多少天停用账户
-S 显示用户的简短信息

不加参数代表修改当前用户密码。

root用户可以后加用户名修改其他账号密码(无需原密码)。

root用户可以设置强度低的密码,比如1。

更改用户账户信息也可用chage命令实现。

chage命令参数说明如下:

选项 说明
-l 列出账户属性各个数值
-I(大i) 口令过期后多少天停用账号
-m 口令最短存活期
-M 口令最长存活期
-W 口令到期前提醒的天数
-E 用户到期作废的日期
-d 设置口令上一次修改的日期

维护用户账户口令

usermod命令可以修改创建用户时设置的属性。

各项参数说明如下:

选项 说明
-c 填写用户的备注信息
-d m 参数m和d连用,可重新指定用户的家目录,并自动将旧的数据转移过去
-e 用户的到期时间,格式YYYY-MM-DD
-g 更改用户的主组
-G 更改用户的附属组(扩展组)
-L 锁定用户,禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的UID

删除用户账号

userdel可以用来删除用户账号,加参数-r可连相应文件(比如家目录)也一并删除。、

管理组账号

创建及删除组账号

可以使用groupadd或addgroup来添加组,

可以使用groupdel来删除组。

注意:如果删除的是某用户的主组,则该组不允许被删除。

修改组账号信息

groupmod命令可用来修改组账号信息。

参数说明如下:

选项 说明
-g gid 修改组的id
-n name 修改组名
-o 强制接受更改组的id为重复的号码。

只有root和组管理员才能使用的gpasswd命令:

参数说明如下:

选项 说明
-a user 把用户加入组
-r 取消组的密码
-d user 把用户从组中删除
-A user 给组指定管理员

其他常用的用户账户管理命令

vipw 编辑/etc/passwd文件

vigr 编辑/etc/group文件

pwck 验证用户账户文件的完整性

grpch 验证组文件的完整性

id 显示一个用户的id信息

finger 显示用户端 相关信息

chfn 更改用户的ginger信息

chsh 为用户指定新shell

whoami 显示当前用户用户名

newgrp 转换用户的当前组到指定的主组群

会 Linux 用户管理的不一定是网管吧的更多相关文章

  1. linux 用户管理

    linux 用户管理 创建一个用户 foo 这个用户只能在/home/foo 上面增加删除文件, foo 不能在其他目录加减文件 useradd -d /home/foo -m foo [root@] ...

  2. linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解

    linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...

  3. 11.Linux用户管理

    本笔记说的Linux用户管理主要包括以下内容: 1.用户配置文件(/etc/passwd  /etc/shadow) 2.组配置文件(/etc/group  /etc/gshadow) 3.用户缺省配 ...

  4. Linux用户管理的复习时间

    所谓三天不练手生,你还记得关于Linux用户管理的所有知识吗?现在就来跟我一起复习一下吧! 1.常用配置文件 用户信息文件: /etc/password 密码文件: /etc/shadow 用户组文件 ...

  5. Linux用户管理简介

    Linux用户管理是Linux的优良特性之一,本文说明了Linux中用户的登录过程和登录用户的类型. 一.Linux用户登录过程 用户要使用Linux系统,必须先进行登录.Linux的登录过程和win ...

  6. linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  7. 第七天 Linux用户管理、RHEL6.5及RHEL7.2 root密码破解、RHEL6.5安装vmware tools

    1.Linux用户管理 Linux系统中,存在三种用户 A.超级用户:root 最高权限,至高无上 在windows中 administrator是可以登录的最高权限,但是,system权限最高,不能 ...

  8. linux用户管理和文件权限

    linux用户管理和文件权限 新建用户:useradd ftpuser      useradd -g gxx userxx修改密码:passwd ftpuser新增用户组:# groupadd gr ...

  9. Linux学习之十六-Linux用户管理

    Linux用户管理 Linux系统跟Windows系统一样,可以创建不同的用户,不同的用户组.在不同用户下使用系统具有相应的权限 创建一个普通用户时,会修改几个文件,拷贝一些初始文件到用户家目录中 修 ...

随机推荐

  1. Python xlsxwriter模块

    1.简介: xlsxWriter支持多种excle功能:与excel完美兼容:写大文件,速度快且只占用很小的内存空间不支持读或者改现有的excel文件 2.安装: pip install xlsxwr ...

  2. Tries前缀树

    Trie,来源于(retrieval,取回,数据检索),是一种多叉树,用来存储字母表上的单词非常有用. Trie经常用来存储动态集合(dynamic set)或者关联数组(associative ar ...

  3. 使用GUI工具Portainer.io管控Docker容器

    背景 5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器. 是时候推荐一个轮子Portainer.io:提供GUI界面的容器管 ...

  4. WPF学习概述

    引言 在桌面开发领域,虽然在某些领域,基于electron的跨平台方案能够为我们带来某些便利,但是由于WPF技术能够更好的运用Direct3D带来的性能提升.以及海量Windows操作系统和硬件资源的 ...

  5. (转)嵌入式linux系统开发过程中遇到的——volatile

    原文地址:http://blog.csdn.net/HumorRat/article/details/5631023 对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的.如果系统结构支持 ...

  6. VS2008文件编码格式修改

    windows下建议使用utf8的编码,vs默认的不是utf8格式,这时需要修改项目文件的模板,在C:\Program Files\Microsoft Visual Studio 9.0\VC\vcp ...

  7. Log4j不写入日志文件排错记录

    背景: 之前用 log4j一直设置的输出到控制台.今天由于job任务出现了异常,因为是异步的,没办法在控制台看错误信息了,于是乎决定把日志打印到文件里面.然后就找了篇博客配置了下.但是配置完后,怎么也 ...

  8. (翻译) 使用Unity进行AOP对象拦截

    Unity 是一款知名的依赖注入容器( dependency injection container) ,其支持通过自定义扩展来扩充功能. 在Unity软件包内 默认包含了一个对象拦截(Interce ...

  9. LocalStorage与SessionStorage

    localStorage与sessionStorage 每日更新前端基础,如果觉得不错,点个star吧

  10. 还是只使用console.log()进行调试?好吧,其实还有更多。

    在浏览器控制台中打印消息无疑可以拯救所有开发人员. console.log()消息就像您的大多数疾病的药,同时调试了代码中的一些有线问题. 那里的大多数开发人员都喜欢— 让我们在浏览器中打印消息以了解 ...