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)
renpingshengrenpingsheng
上一篇 2017-04-03
下一篇 2017-04-03

相关推荐

  • N-28作业第一周

    N-28作业第一周小结:以前看存储视频里面讲存储架构里不清楚的部分居然开始清晰。基础命令需要多花时间熟悉。

    2017-12-05
  • 使用haproxy代理LAMP、LNMP 实现WordPress发布

    haproxy简介 HAProxy是专业的反向代理软件,它可以支持4层和7层代理服务。其配置包含一下几个配置段: global:全局设置,通常与操作系统有关 defaults:配置默认参数,可以被frontend、backend、listen组件利用 frontend:接收亲请求的前虚拟节点 backend:后端服务集群的配置,一个backend可以对应多个…

    2017-05-17
  • Yacc 与 Lex 快速入门(词法分析和语法分析)

    Lex 代表 Lexical Analyzar。Yacc 代表 Yet Another Compiler Compiler。 让我们从 Lex 开始吧。 Lex Lex 是一种生成扫描器的工具。扫描器是一种识别文本中的词汇模式的程序。 这些词汇模式(或者常规表达式)在一种特殊的句子结构中定义,这个我们一会儿就要讨论。 一种匹配的常规表达式可能会包含相关的动作…

    Linux干货 2015-06-08
  • N25-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/tuser1 [root@localhost ~]# ls …

    Linux干货 2017-01-03
  • 虚拟化网络之OpenvSwitch(三)

    上一篇介绍了openvswitch利用GRE协议,搭建多台宿主机的虚拟网络,接下来在利用vxlan通道搭建一个跨多宿主机的虚拟化网络,深入了解openvswitch的功能。 一、实验拓扑 ip地址分配:  A1:192.168.10.1/24  A2:192.168.10.10/24   B1:192.168.10.2…

    系统运维 2016-03-27
  • Shell脚本的编写

    1.什么是Shell脚本 Shell脚本是利用 shell 的功能所写的一个程序 program,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正则表达式、管线命令与数据流重导向等功能,以达到我们所想要的处理目的。 Shell 脚本可以简单的被看成是批处理文件, 也可以被说成是一个程序语言,且这个程序语言由于都是利用…

    Linux干货 2017-04-16

评论列表(1条)

  • renjin
    renjin 2017-04-05 16:19

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