linux用户管理(一)

作为一个专业的服务器发行版,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            密码过期前的警告天数

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

 

祝大家工作学习愉快!!1

 

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

(1)
上一篇 2017-04-03 22:04
下一篇 2017-04-03 22:57

相关推荐

  • N22-妙手-第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;: #!/bin/bash # declare -i numberOfLoginUser=0 declare -i numberOfUnloginUs…

    Linux干货 2016-10-19
  • shell脚本基础

    程序是由指令加数据组成 编程风格分为过程式和对象时 过程式:以指令为中心,数据服务于指令,适合小型程序 对象式:以数据为中心,指令服务于数据,社和大型程序 高级语言的执行方式分为编译型和解释型 编译型:先将高级语言通过编译器编译成二进制代码再执行 解释型:程序编写完成后不转换成二进制代码,在使用时才通过解释器解释运行,不生成二进制程序 shell就是一种解释…

    Linux干货 2016-08-18
  • sed工具实践解析

    此次博文介绍一下文本处理三剑客中的sed工具(点击查看grep工具http://www.178linux.com/83512) 介绍sed: sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。 运行过程: sed编辑器逐行处理文件,并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理…

    Linux干货 2017-08-26
  • Hadoop HDFS分布式文件系统设计要点与架构

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2015-04-13
  • 马哥教育网络班22期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;            [root@test ~]# vim&nbsp…

    Linux干货 2016-10-24
  • CentOS上配置rsyslog客户端用以远程记录日志

    rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件…

    Linux干货 2015-02-14

评论列表(1条)

  • renjin
    renjin 2017-04-05 16:19

    主要总结了管理用户的命令,总结的很详细,排版需要美化一下