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 22:04
下一篇 2017-04-03 22:57

相关推荐

  • week7

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; fdisk /dev/sdb  按提示创建出来10G分区 查看1:…

    Linux干货 2016-12-08
  • 超全超详细的HTTP状态码大全

    本部分余下的内容会详细地介绍 HTTP 1.1中的状态码。这些状态码被分为五大类:  100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 500-599 用…

    Linux干货 2015-03-20
  • 第十六周作业

    1、源码编译安装LNMP架构环境;     安装nginx:      1)安装依赖包 ]# yum groupinstall “Development Tools” “Development Libraries” -y ]# yum install wget openssl-devel ncurses-de…

    2017-05-02
  • shell脚本编程之变量详解

    什么是变量     变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。 使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。 变量:变量类型 作用:  &…

    Linux干货 2016-08-15
  • Linux命令的使用格式以及命令帮助信息的获取方式

    1.Linux系统上的命令使用格式 2.Linux系统程序文件存放位置 3.Linux获取命令的帮助信息 区分内部命令和外部命令 内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。 外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。 #type COMMAND 内部命令获取帮助信息:#help COMMAND 外部命令获取帮助信息…

    Linux干货 2016-10-29
  • Java中的Map List Set等集合类

    Map List Set等集合类: 一、概述 在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系: +Collection 这个接口extends自 –java.lang.Iterable接口 ├+List(接口 代表有序,可重复的集合。列表) │├ ArreyList   &…

    Linux干货 2015-04-07

评论列表(1条)

  • renjin
    renjin 2017-04-05 16:19

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