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

相关推荐

  • http协议

    Web Service概述 web服务时一种应用程序的服务,它所提供的最主要的信息是一种超文本标记语言(HTML)、多媒体资源(如:视频、图片、音乐等)。HTML是一种纯文字的文本信息,通过所谓的标签来规范所要显示的内容格式,在客户端通过浏览器的形式对HTML及多媒体资源进行解析,然后呈现在终端上。主要由http和https协议实现 http协议概述 HTT…

    Linux干货 2016-10-28
  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • Linux基础知识之history命令详解

     该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统。 为什么要学习history命令?     history命令是Linux的一个内嵌的shell命令,history命令的使用有时会大大缩短我们输入命令的时间,达到节省命令快捷操作的要求。学…

    Linux干货 2016-07-27
  • 8.1-用户和组(作业篇)

     1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中。 [root@localhost ~]# tr a-z A-Z </etc/issue > /tmp/issue.out [root@localhost ~]#&n…

    Linux干货 2016-08-04
  • 磁盘管理和文件系统

    磁盘结构 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 一切皆文件:open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备号码: 主设备号:major number, 标识设备类型 次设备号:minor number, 标…

    Linux干货 2017-04-23
  • 浅谈Linux终端类型

    Linux终端类型 作者:任飞鹏            日期:2016-10-13 终端是什么: 终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。 早期计算机系统中,由于计算机主机…

    Linux干货 2016-10-19