作为一个专业的服务器发行版,CentOS上存在着n多个用户,作为一个专业的运维工程师,linux的用户管理和用户组的管理是做为一个SA必不可少的工作. 下面我们就先来谈谈linux中的用户管理:

useradd可以在系统中新建一个用户

用法如下: useradd [选项] 用户名
常用选项:
-u 指定用户的UID
-g 指定用户的初始组ID
-G 指定用户的附加组
-c 为用户添加注释
-d 指定用户的家目录
-m 为用户添加家目录
-M 添加用户时不添加家目录
-s 为用户指定shell
-N 为用户设定特定的初始组,不创建与用户同名的初始组
-p 直接为用户定密码
-o 为用户创建的UID允许是已经存在的UID
-U 为用户创建一个跟用户名同名的组
-r 创建一个系统用户(UID在1到499之间)
-b 为用户指定特殊的家目录(未加这个选项的话,则在/home目录上为用户添加家目录)
-e 指定用户密码过期的时间(格式为YYYY-MM-DD)
-f 指定用户密码过期后等待的天数(0为密码过期后立即失效,-1为永不失效)

passwd可以设定用户的密码信息

任何用户输入这个命令都可以只可以更改自己的密码口令

只有管理员可以用这个命令接上别的用户名来更改别的用户的密码

命令如下: passwd [选项] [用户]

常用选项:
-l 锁定用户
-u 解锁用户
--stdin 用标准输入的方式为用户添加密码(脚本批量添加用户经常使用)
-d 快速删除指定用户的密码(只有root可以使用)
-e 强迫用户下次登陆的时候必需修改密码
-n 指定密码最短有效期限
-x 指定密码最大使用期限
-w 指定密码失效前多少天开始警告
-i 指定密码过期之后还能使用多少天
-S 输出指定用户的密码状态

系统中/etc/passwd和/etc/shadow这两个文件保存了该系统上的所有的用户信息.

/etc/passwd文件格式说明:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 这个文件共分为七段,相隔两段之间用“:”隔开,
第一段为用户的用户名,
第二段为用户的密码占位符,在这个文件里以"*"代替,
第三段为用户的UID,
第四段为用户的确GID,
第五段为用户的注释信息,
第六段为用户的家目录,
第七段为用户的SHELL。
/etc/shadow文件格式说明:
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
adm:*:15980:0:99999:7:::
lp:*:15980:0:99999:7:::
sync:*:15980:0:99999:7:::
这个文件共分为九段,相隔两段也是用":“隔开,
第一段为用户名,
第二段为加密后的密码存放位置,
第三段为上次修改密码的时间(从1970年1月1日起的天数),
第四段为距离上次修改密码后多少天才可以再次修改密码
第五段为密码过期的时间
第六段为密码过期前,提前警告的天数
第七段为密码失效日期之后多少天这个帐号将被锁定
第八段为帐号失效日期
第九段为保留字段
```
这两个文件是系统安全方面很重要的文件,尤其是/etc/shadow这个文件,我们可以看到系统上这个文件的权限: [root@localhost ~]# ls -lah /etc/passwd /etc/shadow
-rw-r--r-- 1 root root 1.2K Mar 19 16:30 /etc/passwd
---------- 1 root root 782 Mar 19 16:30 /etc/shadow 所有的用户都没有权限读取到这个文件(当然root可以读取滴),所以管理员必须要小心保护好这个文件,以免这台服务器沦为不法分子的“肉鸡”。 说完了添加用户,再来说说用户管理方面的那些事。 usermod用来来更改用户的某些信息 命令如下: usermod [选项] 用户名

常用选项:

-a 为用户添加附加组

-c 为用户添加注释

-d 为用户指定家目录

-e 指定密码过期时间

-f 指定密码失效日期

-g 更改用户GID

-G 为用户添加附加组

-L 锁定用户密码

-m 移动用户家目录到新的目录

-p 为用户指定新的密码

-s 更改用户的SHELL

-u 更改用户的UID

-U 解锁用户的密码

####userdel用来删除某个用户。

用法如下: userdel [选项] 用户

常用选项:

    -f          强制删除用户
-r 删除用户家目录(删除前请再三确认这个用户家目录里没有很重要的文件,否则。。。。。)
####chage命令:这个命令可以用来修改帐号和密码的有效期限。 用法如下: chage [选项] 用户名

常用选项

-m 密码可更改的最小天数,即为上次修改密码之后过多久用户可以再次修改自己的密码,为0则代表任何时候都可以更改密码

-M 密码最大有效天数

-w 密码到期前的警告天数

-E 帐号到期的天数

-d 上一次更改密码的时间,从1970年1月1日到今天的总共天数

-I 密码失效日期,密码过期之后的多少天帐号将被锁定而不能登陆

这些信息保存在/etc/login.defs中

PASS_MAX_DAYS 99999 密码最大有效天数

PASS_MIN_DAYS 0 密码可更改的最小天数

PASS_MIN_LEN 5 密码最小长度

PASS_WARN_AGE 7 密码过期前的警告天数

管理员可以修改这个配置文件中的这部分来为新增加的用户增强帐号的安全级别.

祝大家工作学习愉快!!

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

  1. 安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)

    VM tools:方便我们虚拟机和宿主机之间复制数据或移动文件等 安装VMtools 1.菜单栏-虚拟机-安装VM tools 将其选中 2.进入系统,在桌面位置里面有VM tools的光盘,双击进入 ...

  2. linux上的组管理

    上一次我们谈了CentOS上的用户管理,现在我们再来谈下CentOS上的用户组管理. groupadd创建一个新的组 用法如下: groupadd [选项] groupname 常用选项: -f 强制 ...

  3. Linux学习之用户管理命令与用户组管理命令(十五)

    Linux学习之用户管理命令与用户组管理命令 目录 用户管理命令 用户添加命令useradd 修改用户密码passwd 修改用户信息usermod 修改用户密码状态chage 删除用户userdel ...

  4. linux上限制用户进程数、cpu占用率、内存使用率

    限制进程CPU占用率的问题,给出了一个shell脚本代码如下: renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > ...

  5. Linux常用命令--用户管理,文件权限,打包命令等

    幕布链接 Linux常用命令--用户管理,文件权限,打包命令等

  6. linux下主机用户管理(完整详情)

    (一) 创建新用户 useradd命令(也可以使用adduser)用来创建新的用户帐号,其命令格式如下: 表4-19 useradd命令常用选项 常用现象意 义 -d设置新用户的登陆目录 -e设置新用 ...

  7. 如何在Linux上安装服务器管理软件Cockpit

    Cockpit 是一个自由开源的服务器管理软件,使得我们可以通过它好看的 Web 前端界面轻松地管理我们的 GNU/Linux 服务器,非常轻量级,Web 界面也非常简单易用. Cockpit 使得 ...

  8. Linux里的用户管理

    在linux中系统中,它并不认识帐号名称.它认识的是我们的帐号ID,帐号ID保存在/etc/passwd文件中.我们在登录linux主机时,在输入完帐号和密码时,linux会先查找/etc/passw ...

  9. Linux命令整理,用户管理,用户组管理,系统管理,目录管理常用命令

    知识点梳理 Linux课堂笔记 学习目标 能够知道什么是Linux系统以及它的应用场景 能够独立完成安装VMware虚拟机和网络配置 能够独立完成安装CentOS以及远程终端SecureCRT 能够熟 ...

随机推荐

  1. bzoj4332;vijos1955:JSOI2012 分零食

    描述 这里是欢乐的进香河,这里是欢乐的幼儿园. 今天是2月14日,星期二.在这个特殊的日子里,老师带着同学们欢乐地跳着,笑着.校长从幼儿园旁边的小吃店买了大量的零食决定分给同学们.听到这个消息,所有同 ...

  2. bzoj:1654 [Usaco2006 Jan]The Cow Prom 奶牛舞会

    Description The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in ...

  3. SG 函数 S-Nim

    http://poj.org/problem?id=2960 S-Nim Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 34 ...

  4. Codeforces Round #332 (Div. 2)_B. Spongebob and Joke

    B. Spongebob and Joke time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  5. python基础1 day2

    一.上节课回顾1. 编译型: 将源码一次性全部编译成二进制. C 优点:执行效率高. 缺点:开发效率慢,不可跨平台使用. 解释型: 当程序执行时,代码一行一行的去解释成二进制. python 优点:开 ...

  6. 算法-java代码实现插入排序

    插入排序  

  7. 使用nginx作为websocket的proxy server

    blog.csdn.net/zhx6044/article/details/50278765 WebSocket WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选 ...

  8. synchronized内存可见性理解

    一.背景 最近在看<Java并发编程实战>这本书,看到共享变量的可见性,其中说到"加锁的含义不仅仅局限于互斥行为,还包括内存可见性". 我对于内存可见性第一反应是vol ...

  9. linkin大话设计模式--建造模式

    linkin大话设计模式--建造模式 建造模式是对象的创建模式,可以讲一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象. 建造模式的结构: 抽象建造者 ...

  10. GDB 的使用

    gdb使用: 1.编译时必须加-g选项,生成调试需要的信息.如 g++    xxx.cpp   -o   xxx    -g 2.调试最好结合core文件 3.调试命令:gdb   xxx    x ...