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
下一篇 2017-07-23

相关推荐

  • Http虚拟主机的应用

    一、http 1、 基于主机名实现三个虚拟主机 (1)yum安装httpd (2)注释中心主机的网页路径 (3)创建三个虚拟机主机的文件路径 (4)创建三个虚拟机主机的文件网页index.html (5)更改hosts文件进行映射 (6)关闭防火墙和Selinux进行测试(测试步骤是在本机的虚拟机上测试) 2、每虚拟主机使用独立的访问日志和错误日志 (1)给…

    Linux干货 2016-10-08
  • 计算机操作系统与简单命令

    计算机系统的组成 硬件:主机(cpu、内存等),外部设备(输入设备键盘鼠标、输出设备显示屏;硬软盘   等等)。 软件:主要由操作系统和应用程序构成。 计算机硬件的组成部分及工作流程图 输入设备——存储器——CPU运算——输出设备   服务器主要分类有: 塔式服务器:立式PC相像 机架式服务器:统一标准宽度19英寸(48.26c…

    Linux干货 2017-02-14
  • Mysql之运用MHA的功能实现服务高可用

    MHA介绍 (Master High Availability) MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供 了 automating master failover 功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的 master 节点,在此期间,…

    2017-09-14
  • 网络接口配置bonding

    Bonding 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 Bonding的工作模式 Mode 0 (balance-rr)     轮转(…

    Linux干货 2016-09-09
  • 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)

    BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码…

    Linux干货 2017-01-30
  • N25-第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别统计这两类用户的个数;通过字符串比较来实现; #!/bin/bash     echo “可登录类型有有$(awk -F: ‘/[^\<nologin\>…

    Linux干货 2017-03-11