1,基本操作要求

实现用户账号的管理,要完成的工作主要有如下几个方面:

·       用户账号的添加、删除与修改。
·       用户口令的管理。
·       用户组的管理。

2,用户账户添加删除和修改

    用户账户添加:useradd 选项 用户名

    常用选项:

-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。-d和-m选项用来为登录名xxx产生一个主目录/usr/xxx
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
-l 修改用户信息的时候用作用户重命名

   添加一个账户hehe,根目录是/home/hehe: sudo useradd -d /home/hehe -m hehe    #sudo是必须的,否则会显示重试信息,最好指定根目录,否则就不会创建

        添加一个账户,指定用户组: sudo useradd -d /home/haha -m haha -g daing -G dahu     #-g指定主用户组,-G指定其他用户组,可以通过groups haha来查看其所属的用户组。

删除账户:sudo userdel -r hehe    #-r意思是连带主目录一块删除

修改用户:sudo usermod  -l hehehe hehe    #把hehe用户重命名为hehehe

修改用户:参数除了-l其他的都和创建的时候一样。

2 用户口令管理

用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令

    passwd 选项 用户名
    可使用的选项:

-l 锁定口令,即禁用账号。使用户不能登录
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。

修改当前用户的密码:passwd    #依次输入旧密码,新密码就可以啦

超级用户也可以修改其他用户的密码: passwd haha    #按照提示输入密码就可以啦

3 用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理

    groupadd 选项 用户组

    -g GID 指定新用户组的组标识号(GID)。
    -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

查看用户属于哪个用户组:groups username

添加用户组:sudo groupadd group1    #添加一个叫group1的用户组,目前为空

添加新组并且指定标识号:groupadd -g 101 group2    #指定新组的组标识号是101。

把用户haha添加到用户组group1中:sudo usermod -G group1 haha    #-G指定的是副组,groups haha已经可以看到group1

删除用户组:sudo groupdel group1

切换用户组:newgrp 用户组名    #如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。命令行输入groups第一个就是自己所在的用户组

修改用户组使用groupmod命令:groupmod –g 10000 -n group3 group2     #此命令将组group2的标识号改为10000,组名修改为group3,其他修改组的参数如下:

-g GID 为用户组指定新的组标识号。
           -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
           -n新用户组 将用户组的名字改为新名字

        

linux系统 户和账号操作的更多相关文章

  1. linux系统安全加固--账号相关

    linux系统安全加固 一.账号相关 1.禁用或删除无用账号 减少系统无用账号,降低安全风险. 当我们的系统安装完毕后,系统默认自带了一些虚拟账户,比如bin.adm.lp.games.postfix ...

  2. Linux系统编程--文件IO操作

    Linux思想即,Linux系统下一切皆文件. 一.对文件操作的几个函数 1.打开文件open函数 int open(const char *path, int oflags); int open(c ...

  3. Linux系统chmod 777 误操作目录权限 - 恢复方法

    小白操作Linux,手抖导致误修改了系统文件和目录权限,导致系统宕机的修复. -R / -R / test 有的是真不懂,执行了上面的第一条命令,有的是懂,但是操作太快或者粗心大意,或者有乱敲空格的恶 ...

  4. linux系统中的删除操作

    #rm [-fir] 文件或者目录 参数: -f:就是force的意思,忽略不存在的文件,不会出现警告信息: -i:互动模式,在删除前会询问用户是否操作: -r:递归删除.最常用的在目录删除.这是一个 ...

  5. Linux系统禁止root账号远程登录

    修改配置文件/etc/ssh/sshd_config,去掉PermitRootLogin前的注释,修改值为no,然后重启sshd服务即可 #LoginGraceTime 2m PermitRootLo ...

  6. Linux系统编程—信号集操作函数

    先来回顾一下未决信号集是怎么回事. 信号从产生到抵达目的地,叫作信号递达.而信号从产生到递达的中间状态,叫作信号的未决状态.产生未决状态的原因有可能是信号受到阻塞了,也就是信号屏蔽字(或称阻塞信号集, ...

  7. 记录linux系统用户shell终端操作记录

    在 /etc/profile 最后添加 export HISTTIMEFORMAT='[%F %T]: ' export PROMPT_COMMAND='{ msg=$(history 1 | { r ...

  8. linux系统常见命令以及操作

    2.安装xshell,安装完打开,配置回话,输入名称(随便).SSH.主机(打开linux,点击右上角电脑图标system etho进行联网,打开终端输入ifconfig回车,找到inet add地址 ...

  9. linux系统相关文件和操作

    查看内核: uname -r [root@server0 ~]# uname -r -.el7.x86_64 [root@server0 ~]# 查看版本: cat  /etc/redhat-rele ...

随机推荐

  1. Luogu P2613 【模板】有理数取余

    题目链接 \(Click\) \(Here\) 真心没啥东西,只要能\(Get\)到在数字输入的时候按位取模,以及除数也可以直接取模就可以了.(把每个数看做乘法原理和加法原理构造起来的即可.) #in ...

  2. (栈)leetcode 946. Validate Stack Sequences

    Given two sequences pushed and popped with distinct values, return true if and only if this could ha ...

  3. (贪心部分背包问题)Saving HDU HDU2111

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  4. Vue(基础七)_webpack(webpack异步加载原理)

    ---恢复内容开始--- 一.前言 1.webpack异步加载原理’                                           2.webpack.ensure原理     ...

  5. 浅谈DP

    DP是一个范围极广的一门重要的算法,它与其他算法不同的是,它并没一套固定的公式,而是通过一种特定的思路,来进行无后效性的转移.其本质是通过一个状态转移至另一状态,将问题从大化小,并找到这些小问题之间的 ...

  6. 简单的jvm优化的尝试

    一.eclipse 启动优化 在日常的开发中发现eclipse 启动的时候非常慢,并且在实际的开发中也非常卡,所以尝试着优化一下.现在eclipse 是运行在jdk1.7上. 首先我们可以看到ecli ...

  7. 设计模式---对象性能模式之享元模式(Flyweight)

    一:概念 通过与其他类似对象共享数据来减少内存占用 如果一个应用程序使用了太多的对象, 就会造成很大的存储开销. 特别是对于大量轻量级 (细粒度)的对象,比如在文档编辑器的设计过程中,我们如果为每个字 ...

  8. Spark SQL基本概念与基本用法

    1. Spark SQL概述 1.1 什么是Spark SQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了两个编程抽象分别叫做DataFrame和DataSet,它们用于作为 ...

  9. 031、none和host网络的适用场景(2019-02-18 周一)

    参考https://www.cnblogs.com/CloudMan6/p/7053617.html   本节开始,会学习docker的几种原生网络,以及如何创建自定义网络.然后探究容器之间如何通信, ...

  10. WebSocket 快速开始

    [Html5客户端API] 1.创建websocket对象 var connection =  new WebSocket('ws[s]://www.example.com/chat',可选自己实现的 ...