1 用户与群组数据库

用户清单通常保存在 /etc/passwd 文件内,把哈希编码后的密码保存在 /etc/shadow 文件内。这两个文件都是纯文本档,以简单的格式保存,可以用文本编辑器读取与修改。每个用户占一行,其字段以冒号分隔 (“:”)。

最好使用 vipw 命令编辑 /etc/passwd 文件,或使用 vigr 命令编辑 /etc/group 文件。这些命令会先锁住该文件再运行文本编辑器, (缺省使用 vi 命令,除非 EDITOR 环境变量有其他的设置)。加上 -s 选项可同时编辑对应的 shadow 文件。

1.1 用户清单:/etc/passwd

在 /etc/passwd 文件内的字段清单:

登录,例如 rhertzog;

uid:用于辨识用户的不重复数字;

gid:用户主要群组 (Debian 的默认值系为每个用户创建一个群组) 的不重复号码;

GECOS:通常保存用户全名的数据栏;

登入目录,用于保存用户的个人文件 (环境变量 $HOME 通常指向此处);

登录时运行的程序。通常是命令解译器 (shell),若指定为 /bin/false (不做任何事并立即回到控制),则用户无法登录。

1.2 隐藏与加密的密码档:/etc/shadow

/etc/shadow 文件含以下的字段:

登录;

加密的密码;

管理密码期限的字段。

安全 /etc/shadow 文件的安全

/etc/shadow,不同于它的分身,/etc/passwd,不能被一般用户读取。保存在 /etc/passwd 内的哈希编码后的密码可被任何人读取;破坏者可以用 “暴力” 法破坏它们,以常见的编码字符破解。这种攻击方式 — 称为 "字典攻击" — 对于使用 /etc/shadow 的系统是无效的。

1.3 群组清单:/etc/group

群组列在 /etc/group 文件内,类似 /etc/passwd 文件的纯文本数据库,包括以下的字段:

群组名称;

密码 (可选):只在加入群组时会用到 (使用 newgrp 或 sg 命令,见专栏 基本知识 在多个群组工作);

gid:不重复的群组识别码;

成员清单:属于此群组的用户名清单,以逗号分隔。

基本知识 在多个群组工作

用户可能加入多个群组;其中一个是 “主群组”。用户自己的主群组默认是初始化用户配置时自动产生的。默认情况下,用户添加的文件自动属于该用户,以及其主群组。这种方式并不重视可取的;例如,用户需要在自己主群组文件夹之外工作,与其他群组共享其文件。在这种情况下,用户需以命令:newgrp 变更其主要群组,启动新的 shell,或以 sg 命令,使用其他群组执行一个命令。这些命令也允许用户加入其他群组。若该群组受密码保护,则需先取得密码才能运行该等命令。

用户还可以设置文件夹的 setgid 位,让该文件夹内的文件自动属于特定群组。详情见专栏 安全 文件夹的 setgid 和 sticky bit。

id 命令显示用户的当前状态,包括个人辨识码 (uid 变量)、当前的主群组 (gid 变量)、以及其所属群组的清单 (groups 变量)。

addgroup 与 delgroup 命令可以添加或删除群组。groupmod 命令修改群组的信息 (其 gid 或辨识码)。命令 gpasswd group 可变更群组的密码,gpasswd -r group 命令可删除群组的密码。

秘诀 getent

getent (get entries) 命令使用适当的程序库函数,调用配置于 /etc/nsswitch.conf 文件的 NSS 模块,以标准方式检查系统数据库。此命令需要一个或两个参数:被检查的数据库名称、以及可能的搜索键词。因此,getent passwd rhertzog 命令将从用户 rhertzog 中给予用户数据库。

挂载点清单

有些移动式设备在链接时系统自动挂载,尤其在 GNOME、Plasma 或其他图形桌面环境。有些情况就需要用户手动挂载。同样的,也需要卸载 (从文件树移除)。标准的用户权限不允许运行挂载 mount 与卸载 umount 命令。只有管理者才能够设置 /etc/fstab 文件内的 user 选项,授权用户运行该等命令 (独立于每个挂载点)。

The /etc/fstab file gives a list of all possible mounts that happen either automatically on boot or manually for removable storage devices. Each mount point is described by a line with several space-separated fields:

  • file system: this indicates where the filesystem to be mounted can be found, it can be a local device (hard drive partition, CD-ROM) or a remote filesystem (such as NFS or even SSHFS).

    This field is frequently replaced with the unique ID of the filesystem (which you can determine with blkid device) prefixed with UUID=. This guards against a change in the name of the device in the event of addition or removal of disks, or if disks are detected in a different order. 第 8.8.1 节 “辨识磁盘” covers this topic in more detail.
  • mount point:这是把设备、远程系统或分区挂载到本地文件系统的位置。
  • type:这个字段定义挂载设备使用的文件系统。ext4、ext3、vfat、ntfs、btrfs、xfs 等。
  • options:依文件系统的不同,而有多种选项,详情见 mount 手册页面。最常用的是

rw 或 ro,表示该设备挂载后可以读/写,或只有读取的权限。

noauto 开机时关闭自动挂载。

nofail 允许在启动时处理设备,即使该设备不存在。确认启动时,该外置磁盘机可能未插入,因为 systemd 将确认所有挂载点在启动完成前必须自动挂载。可将此与 x-systemd.device-timeout=5s 并用,告诉 systemd 不必等 5 秒以上的时间,直接进入下个作业阶段 (见 systemd.mount(5))。

user 授权所有的用户均可挂载此文件系统 (若无此选项,则只有根用户才有此权限)。

  • defaults 表示缺省的选项群组为:rw、suid、dev、exec、auto、nouser 与 async,使用了 defaults 之后,还可以用 nosuid 命令、nodev 及其他类似的命令,中止 suid、dev 等作用。加入 user 选项可再启用它,因为 defaults 包括 nouser。
  • dump: this field is almost always set to 0 and kind of a relic. When it is greater then zero, it tells the dump tool that the partition contains data that is to be backed up frequently. The tool supports Ext2/3/4 filesystems only and will use the value here when run via dump -W or dump -w to determine which partitions need to be backed up. Consider the examples in /usr/share/doc/dump/examples/ if you want to use this feature. But there are better alternatives to backup a filesystem, like fsarchiver.
  • pass:最后一个字段告知系统在启动时,或其他时机,检查文件系统的完整性。若设为 0,则不检查。根文件系统的值为 1,其他固定文件系统的值为 2。

例 8.5. 范例 /etc/fstab 文件

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=7a250fb8-c16d-4a4e-9808-ec08ae92b6c6 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=13f367ae-dbaf-40ed-85c0-4072a2ebe426 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy auto rw,user,noauto 0 0
arrakis:/shared /shared nfs defaults 0 0

The last entry in the example corresponds to a network filesystem (NFS): the /shared/ directory on the arrakis server is mounted at /shared/ on the local machine.

The format of the /etc/fstab file is documented in the fstab(5) manual page.

进一步 自动挂载

systemd is able to manage automount points: those are filesystems that are mounted on-demand when a user attempts to access their target mount points. It can also unmount these filesystems when no process is accessing them any longer.

Like most concepts in systemd, automount points are managed with dedicated units, using the .automount suffix. See systemd.automount(5) for their precise syntax.

还有其他自动挂载实用程序,诸如 autof role="pkg">autofs 软件包中的 automount 或 am-utils 软件包中的amd。

Note also that GNOME, Plasma, and other graphical desktop environments work together with udisks2, and can automatically mount removable media when they are connected.

Debian11管理员手册的更多相关文章

  1. Oracle GoldenGate OGG管理员手册(较早资料)

    第一章 系统实现简述 前言 编写本手册的目的是为系统管理员以及相关操作人员提供 Oracle  Goldengat  软 件的日常维护和使用的技术参考: 3 ORACLE 第二章 OGG 日常维护操作 ...

  2. Oracle GoldenGate OGG管理员手册

    第一章 系统实现简述 前言 编写本手册的目的是为系统管理员以及相关操作人员提供 Oracle  Goldengat  软 件的日常维护和使用的技术参考: 3 ORACLE 第二章 OGG 日常维护操作 ...

  3. Ubuntu管理员手册

    hostname cat /etc/hosts apt-get install iproute2 iproute2-doc ip a ps -aux

  4. Manual | BSD手册| Linux手册 | 数据库手册 | 编程开发手册 | WEB开发手册 | 软件应用手册 | 网络技术手册 | GNU手册

    豆豆手册 □ BSD手册 □ Linux手册 □ 数据库手册 □ 编程开发手册 □ WEB开发手册 □ 软件应用手册 □ 网络技术手册 □ GNU手册 在线手册 首 页 BSD手册   ·FreeBS ...

  5. 如何成为一名出色的Oracle数据库管理员

    主要针对Oracle DBA在成长阶段的定位,学习方法等几大方面进行了经典的论述,详细内容请参考下文. 一.定位 Oracle分两大块,一块是开发,一块是管理.开发主要是写写存储过程.触发器什么的,还 ...

  6. 成为OpenStack工程师

    OpenStack Hacker 态度:开放.主动.沟通 影响力:能说.能写.能分享 四化:自动化.流程化.系统化.文档化 0级 掌握一些基本技能:python.c.linux.git.unittes ...

  7. 关于OpenStack的学习路线及相关资源汇总

    首先我们想学习openstack,那么openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是一个更 ...

  8. Symantec Backup Exec 2012 Agent for Linux 卸载

    本文介绍一下如何卸载Symantec Backup Exec 2012 Agent for Linx.首先我们来看看Symantec_Backup_Exec2012管理员手册的文档介绍: 卸载 Age ...

  9. postgreSQL使用

    1.1. 安装     自然,在你想开始使用 PostgreSQL 之前, 你必须安装它.PostgreSQL 很有可能 已经安装到你的节点上了,因为它包含在你的操作系统的发布里, 或者是系统管理员已 ...

随机推荐

  1. 清晰梳理最全日志框架关系与日志配置-SpringBoot 2.7.2 实战基础

    优雅哥 SpringBoot 2.7.2 实战基础 - 07 - 日志配置 Java 中日志相关的 jar 包非常多,log4j.log4j2.commons-logging.logback.slf4 ...

  2. TS 泛型推断好难啊,看看你能写出来不

    前言 最近做东西都在用ts,有时候写比较复杂的功能,如果不熟悉,类型写起来还是挺麻烦的.有这样一个功能,在这里,我们就不以我们现有的业务来举例了,我们还是已Animal举例,来说明场景.通过一个工厂来 ...

  3. poi生成表格自动合并单元格

    直接复制这个工具类即可使用: /** * 合并单元格 * @author tongyao * @param sheet sheet页 * @param titleColumn 标题占用行 * @par ...

  4. Linux 安装 Tomcat 详细教程

    Linux 安装Tomcat详细步骤 1. 前往tomcat官网复制下载链接, tomcat官网地址:https://tomcat.apache.org/ 2. 进入到指定目录,使用 wget 命令下 ...

  5. String vs StringBuffer vs StringBuilder

    String vs StringBuffer vs StringBuilder 本文翻译自:https://www.digitalocean.com/community/tutorials/strin ...

  6. 【NOI P模拟赛】寻找道路(bfs,最短路)

    题面 一道特殊的最短路题. 给一个 n n n 个点 m m m 条有向边的图,每条边上有数字 0 \tt0 0 或 1 \tt1 1 ,定义一个路径的长度为这个路径上依次经过的边上的数字拼在一起后在 ...

  7. Tomcat 10无法使用javax包

    可以导入新的 jakarta包 <dependencies><!--servlet依赖--> <dependency> <groupId>jakarta ...

  8. KingbaseES启动数据库失败后如何分析

    关键字: KingbaseES.sys_ctl.启动日志 一.KingbaseES数据库服务启动 1.1 数据库启动机制 1) 数据库通过sys_ctl工具手工启动数据库服务kingbase. 2) ...

  9. 使用 Win2D 实现融合效果

    1. 融合效果 在 CSS 中有一种实现融合效果的技巧,使用模糊滤镜(blur)叠加对比度滤镜(contrast)使两个接近的元素看上去"粘"在一起,如下图所示: 博客园的 Cho ...

  10. ELK基于ElastAlert实现日志的微信报警

    文章转载自:https://mp.weixin.qq.com/s/W9b28CFBEmxBPz5bGd1-hw 教程pdf文件下载地址 https://files.cnblogs.com/files/ ...