Chapter 3. 用户和用户组管理

由于Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以该账号身份进入系统。

3.0 用户与用户组相关信息

  • 用户名:代表用户账号的字符串,最好不好包含.-+开头,不能含义:
  • 口令:存放加密后的用户口令字,真正的加密后的用户口令字存放在/etc/shadow文件中,而在/etc/passwd文件的口令字段只存放一个特殊的字符,如'x''*'
  • 用户标识号:一般而言,它与用户名是一一对应,但若几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但它们可以拥有不同口令、不同主目录及不同的登录Shell等。
  • 注释性描述:存放的是一段任意的注释性描述文字。

用户的基本属性存放在/etc/passwd文件中,用户组的所有信息都存放在/etc/group文件中。

3.1 用户账号的管理

以下指令,若遇到这类提示,一般需要管理员的权限,即$ sudo ....

3.1.0 切换与查看

  • 查看用户的id:

    $ id [用户名]
  • 切换用户的身份:

    $ su [选项] [用户名]

    常用选项:

    • -:代表连带用户的环境变量一同切换。

      普通用户切换至root用户需要输入密码;root用户切换普通用户无需密码。

3.1.1 添加新的用户账号

语法格式为:

$ useradd 选项 用户名

选项有:

  • -d:指定用户的家目录,若此目录不存在,则需同时使用 -m 选项创建主目录

  • -c:(commend)指定一段注释性描述

  • -g:指定用户所属的用户组

  • -G:指定用户所属的附加组

  • -s:指定用户的登录Shell

  • -u:指定用户的UID

执行权限:root

$ sudo useradd -s /bin/sh -g group -G adm,root Nami
#新建用户Nami,登录Shell为/bin/sh,属于group用户组(作为主组),又属于adm和root用户组

增加用户账号就会在/etc/passwd文件中为该新用户增加一条记录,同时更新其他系统文件如/etc/shadow/etc/group等。

3.1.2 管理用户的密码

语法格式为:

$ passwd 选项 用户名

选项有:

  • -l:暂时锁定用户,使其不能登录

  • -u:解锁用户

  • -S:查询用户密码的密码状态

执行权限:root

修改用户密码:

#root用户可修改任何用户的密码
$ sudo passwd Zoro
#普通用户只能修改自己的密码,同时命令会询问普通用户的原口令
$ sudo passwd

3.1.3 修改用户的信息

语法:

$ usermod 选项 用户名

修改用户账号即是根据实际情况更改用户的有关属性。

执行权限:root

选项:(基本上与 useradd 命令对应选项一致)

  • -u [UID]:修改用户的UID号
  • -c [用户说明]:修改用户的说明信息
  • -G [组名]:修改用户的附加组
  • -l [新用户名称]:修改用户的名称
$ usermod -s /bin/ksh -d /home/z -g developer Sam

3.1.4 删除用户账号

语法:

$ userdel 选项 用户名

常用选项为:

  • -r:将用户的主目录一同删除
$ userdel -r tom
#此命令删除用户tom在系统文件中(如/etc/passwd,/etc/shadow等)的记录,同时删除用户的主目录

3.2 用户组的管理

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

用户属于与它同名的用户组,该用户组在创建用户时同时创建了。

3.2.1 增加新的用户组

语法:

$ groupadd 选项 用户组

可使用的选项:

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

3.2.2 修改用户组

语法:

$ groupmod 选项 用户组

可使用的选项:

  • -g:为用户组指定新的组标识号。
  • -o:一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
  • -n:将用户组的名字改为新名字
$ groupmod -g 10000 -n group3 group2
#组group2的标识号改为10000,且组名修改为group3

3.2.3 删除用户组

语法:

$ groupmod 用户组

Linux 学习笔记04丨Linux的用户和用户组管理的更多相关文章

  1. Linux学习笔记(十五)用户和用户组

    一.四个配置文件 解释: (1)当组内仅有一个用户且用户名和组名相同时,[组中用户列表]可省略不写 (2)root用户组的组号为0 (3)组号1-499位系统预留组号,是预留给安装在系统中的软件或服务 ...

  2. Linux 学习笔记03丨Linux文件系统、文件基本属性、目录处理及文件查看

    Chapter 2. 文件系统 2.1 Linux 系统目录结构 命令窗口下输入命令: $ ls /,能够看到根目录下的全部目录及文件 树状目录结构为: 最顶级的目录: / :根目录 / 是根目录,~ ...

  3. Linux 学习笔记02丨Linux 概述、常用快捷键、apt命令

    Chapter 1. Linux 概述 Linux 是一种自由和开放源码的 Unix 操作系统, 是一个基于 POSIX 和 UNIX 的多用户.多任务.支持多线程和多CPU的操作系统.只要遵循 GN ...

  4. 鸟哥Linux学习笔记04

    1, . 当前目录  ..上层目录 2, 目录的相关操作 1)cd(切换目录) [root@node1 ~]# cd [相对路径或绝对路径] [root@node1 ~]# cd      : 回到自 ...

  5. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程

    1.设置任务调度命令crontab 任务调度是指系统在某个时间执行的特定的命令或程序.任务调度分为:1)系统工作:有些重要的工作必须周而复始的执行,如病毒扫描.2)个别用户工作:个别用户可能希望执行某 ...

  6. linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装

    1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...

  7. Linux学习笔记之二————Linux系统的文件和目录

    一.Windows和Linux文件系统区别 1.在 windows 平台下,打开“计算机”,我们看到的是一个个的驱动器盘符: 每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:  ...

  8. Linux学习笔记之(1)~Linux有趣的历史概览

    献给知道mono,了解Jexus,对.net混搭技术感兴趣的朋友. 1965年,Bell.MIT和GE公司发起Multics计划,目标是实现一个操作系统可以让大型主机实现连接三百个终端的目标.(那个时 ...

  9. Linux学习笔记之查看Linux版本信息

    0x00 概述 这里所谓的Linux版本信息,包括Linux内核版本信息和Linux系统版本信息. 0x01 查看Linux内核版本信息 方法1:登陆Linux,在终端输入 cat /proc/ver ...

随机推荐

  1. Mybatis---07Mybatis配置文件浅析(五)

    1.environments:MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做.例如,开发.测试和生产环境需要有不同的配置: ...

  2. Linux机器之间SSH免密钥登录设置

    SSH免密钥登录 私钥:密钥留在本机 公钥:密钥发给其他机 hadoop01 生成密钥: ssh-keygen -t rsa (密钥存放路径:/root/.ssh) id_rsa:私钥 id_rsa. ...

  3. http接口和web service接口测试区别是什么?

    1.web service有一套完整的协议标准,其中有soap协议,用来进行消息的传递. 2.soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式 Content-type设置 ...

  4. 十八般武艺玩转GaussDB(DWS)性能调优(三):好味道表定义

    摘要:表结构设计是数据库建模的一个关键环节,表定义好坏直接决定了集群的有效容量以及业务查询性能,本文从产品架构.功能实现以及业务特征的角度阐述在GaussDB(DWS)的中表定义时需要关注的一些关键因 ...

  5. UbuntuStudio20.04安装教程(双系统安装,windows10已安装)

    硬件和系统: acer4750(原i3换i7,加固态硬盘200多G,原机械硬盘500G由光驱改装,内存由2G增加为6G)2010年购买3300,性价比高,硬件升级后2020年不过时 windows10 ...

  6. Dapr Golang HTTP 调用

    Dapr Golang HTTP 调用 版本介绍 Go 版本:1.15 Dapr Go SKD 版本:0.11.1 工程结构 从上图可知,新建 3 个 Go 启动项目,cmd 为启动项目目录,其中 c ...

  7. Java如何正确比较浮点数

    看下面这段代码,将 d1 和 d2 两个浮点数进行比较,输出的结果会是什么? double d1 = .1 * 3; double d2 = .3; System.out.println(d1 == ...

  8. 直播APP源码是如何实现音视频同步的

    1.  音视频同步原理 1)时间戳 直播APP源码音视频同步主要用于在音视频流的播放过程中,让同一时刻录制的声音和图像在播放的时候尽可能的在同一个时间输出. 解决直播APP源码音视频同步问题的最佳方案 ...

  9. Centos 7挂载本地ISO光盘

    在Linux系统上挂载系统镜像作为yum本地仓库或者安装某个常用RPM包. mount语法: mount -t 类型 -o 挂接方式 源路径 目标路径 -t 选项: iso9660:光盘或光盘镜像 m ...

  10. nginx&http 第五章 https non-fd 读写检测

    EPOLL的LT/ET 模式下的读写 从一个非阻塞的socket上调用recv/send函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, ...