Linux之账号管理

Linux之账号管理

一、新增与删除用户:useradd,相关配置文件,passwd,usermod,userdel

Linux登录系统时会输入账号和密码,所以创建用户也需要这两个数据。新建用户用useradd命令,密码的给予则用passwd命令。

useradd

1.添加新用户

-u-u  uid username 创建用户时指定uid(如不指定则Centos:500-60000, Centos7: 1000-60000)

-o -o  -u uid username 创建用户时指定uid(可以与已存在用户的uid相同)

-g groupname username 创建用户时指定主组为某个已存在的组。(将不会再创建与用户同名的组)

-c -c  …  username  创建用户时指定描述信息。

chfn … username

-d path username 指定用户的家目录(确保指定的家目录所在的上级目录要存在,且家目录本身不能存在)

– s -s /sbin/nologin username 指定用户的默认shell

– G : -G group1[,group2] username 指定用户的辅助组

-N : – N username 设置用户的主要组为默认组(users,uid=100)

-r : -r username 创建系统用户

 

范例一:完全参考默认值新建一个用户,名称为luffy.

 Linux之账号管理

# 默认会创建用户文件夹,且权限为700.

 Linux之账号管理

需要改变用户相关参数时,就得要通过上面的参数来进行创建,如下:

范例二:假设我已知道我的系统当中有个组名为 users ,且 UID 700 并不存在,请用 users 为初始群组,以及 uid 700 来创建一个名为 Ace的账号.

 Linux之账号管理

范例三:创建一个系统账号,名称为Shanks

 Linux之账号管理

useradd参考文件

useradd的默认值可以使用下面方法调用出来:

Linux之账号管理 

passwd

由于在/etc/shadow内仅会有密码参数而不会有加密过的密码数据,因此在创建用户账号时,还需要使用“passwd username”来给予密码。

-l:锁定指定用户

-u:解锁指定用户

-e:强制用户下次登录修改密码

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-i inactivedays:非活动期限

-stdin:从标准输入接收用户密码

范例一:给用户luffy 设置密码

Linux之账号管理 

 

范例二:用户luffy登录后,修改luffy自己的密码

Linux之账号管理 

范例三:使用standard input 新建用户的密码

Linux之账号管理 

范例四:管理Shanks的密码,使其具有30天更改、14天密码失效的设置

Linux之账号管理 

Linux之账号管理

 

范例五:让Shanks的账号失效,查看完毕后再失效

Linux之账号管理 

Linux之账号管理 

#密码字段恢复正常

chage

passwd -S可以详细的显示密码参数,此外,change也具有此功能。

chage -l username 显示帐户的密码信息

-d 指定密码的上次修改时间(yyyy-mm-dd)

-d 0 则强制用户下次登录时必须修改密码

-E 指定账户的过期时间

-I 密码过期之后多少天帐户过期

-m 设置最小存活时间

 -M 设置最大存活时间

-W 设置密码过期前的提醒时间

chage username 交互式修改用户的密码策略

 

范例一:列出Shanks的详细密码参数

Linux之账号管理 

usermod

usermod可以进行账号相关数据的微调。

usermod -u newuid username 修改用户的UID

-o -u newuid username 修改用户的uid(可以与已存在用户的uid相同)

-aG 加组名,可以追加辅助组而不用覆盖之前的组

-G “” username  usermod -G primarygroup username 清空用户所有的辅助组

-g groupname username 修改用户的主组

-s /sbin/nologin username 修改用户的默认shell

-c …  username 修改用户时指定描述信息。

chfn … username

-d /…/path username 修改用户的家目录(不会创建,只修改/etc/passwd当中的家目录信息)

-m -d /…/path username 修改用户的家目录信息,并将家目录移动到目的目录并改名。

-l newname oldname 修改用户名

-L 给用户/etc/shadow中的密码位加!使用户被锁定

-U !拿掉。

-e yyyy-mm-dd 设置一个帐户过期时间

-f days 指定密码过期之后多少天帐户过期

 

userdel

userdel命令目的在于删除用户的相关数据,用户数据有:

用户账号/密码相关参数:/etc/passwd,/etc/shadow

用户组相关参数:/etc/group,/etc/gshadow

用户个人文件数据:/home/username,/var/spool/mail/username..

命令语法:userdel  [-r] username -r :连同用户的文件夹也一起删除)

 

二、新增与删除用户组

groupadd

groupadd [-g gid ]  [-r]  用户名

-g: 创建指定gid的组

-r : groupname 创建系统组

 

groupmod

groupmod  [-g gid]  [-n  groupname]

-n newgrpname oldgrpname  修改组名

-g newgid groupname 修改gid

groupdel

groupdel groupname 删除用户组

gpasswd

用户管理员功能

gpasswd  groupname设定组密码

-a:添加用户到组;

 -d:从组删除用户;

 -A:指定管理员;

-M:指定组成员和-A的用途差不多;

 -r:删除密码;

 -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

groups username 查看指定用户属于哪些组

 

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

(0)
Light YagamiLight Yagami
上一篇 2017-07-23 18:13
下一篇 2017-07-23 19:07

相关推荐

  • MySQL入门书籍和方法分享

    原文:http://cenalulu.github.io/mysql/mysql-book-for-newbie/           作者: 卢钧轶     本文罗列了一些适用于MySQL及运维入门和进阶使用的书籍。 背景:各大论坛上总是…

    Linux干货 2015-04-09
  • 马哥linux运维网络班第22期-第一周博客作业

    计算机的组成及其功能 计算机由运算器,控制器,存储器,输入装置和输出装置组成 (1)运算器 对数据进行常规运算(+,-,*,/)和逻辑运算(与,或,非等)及比较位移等操作 (2)控制器 分析从存储器中读出的指令并按预先规定的步奏执行操作 (3)存储器 存储程序和数据信息并实现快速存取 (4)输入设备 把各种类型的信息转换为二进制编码输入进计算机存储起来 (5…

    Linux干货 2016-08-14
  • Vim编辑器解析

    vim编辑器 概述:   VIM即ViIMproved:vi的增强版 ,vim是模式化的编辑。   vi:Visual lnterface,是一种文本编辑器,所谓文本编辑数据是基于字符编码的文件,常见的编码 有ASCII编码,UNICODE编码。 种类:   行编辑器:所谓行编辑器是指一行行来编辑处理的工具   全屏编…

    Linux干货 2016-08-10
  • Linux上实现rsyslog+mysql+loganalyz进行日志收集

    在我们的运维工作中,常常会对系统上的日志进行收集,手动管理少量的几台服务器的日志收集没有太大难度,但是企业当中批量的管理成千上万台服务器的时候,这时候想一台台的收集日志未免太浪费时间了,这时候我们需要一个批量管理日志的系统来解决这一难题,今天我给大家带来的使用 1、syslog介绍       &n…

    Linux干货 2016-10-24
  • Week 1 计算机组成

    I. 引 Introduction     在学习计算机技术之前,了解计算机的组成是非常必要的。这不仅可以让你对硬件有一个大概的了解,而且会让你将来对基于硬件运行的软件有一个更为透彻的理解。只有理解了计算机是如何协调它的部件来工作的才方能理解人们为何这样设计操作系统和程序。 I. 计算机部件 The Essential…

    Linux干货 2016-06-11
  • Linux基础知识(三)

     本文的主要内容是:  1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  2、取出最后登录到当前系统的用户的相关信息。  3、取出当前系统上被用户当作其默认shell的最多的那个shell。  4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全…

    Linux干货 2016-10-03