《 Linux操作系统》第四讲 用户管理 学时计划:4学时理论,2学时实验 (实验四:用户管理) 教学大纲: 1、用户管理的基本概念 2、 Linux的用户与用户组 3、与用户管理有关的配置文件 4、用户管理 5、用户组管理 6、讨论与思考 Linux操作系统是一个多用户多任务的操作系统,在用户管理方 面,拥有用户添加、用户管理、用户组管理、用户切换等多种工具。 本讲介绍 Linux操作系统下的用户管理的一些基本概念,并详细 讲解用户和用户组管理的工具的使用。 用户管理的基本概念 1.1单用户多任务和多用户多任务 Linux是一个多用户、多任务的操作系统。操作系统可以分为单 用户多任务和多用户多任务操作系统。 (1)单用户多任务 单用户多任务操作系统要求系统在单一时间内为单个用户服务 但它允许用户一次提交多项任务。例如,用户可以在运行程序的同时 开始另一文档的编辑工作。 举例来说,用户 zhaodongfeng登录 Linux系统,进入系统后, 首先打开 Netbeans撰写程序,但在写程序的过程中,又打开xms欣 赏音乐,同时打开QQ软件和朋友保持联系。这样,用户同时打开了 3个应用软件,这样的系统就是单用户多任务操作系统。 (2)多用户多任务 1|(anx操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
1 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 《Linux 操作系统》第四讲: 用户管理 学时计划:4 学时 理论,2 学时 实验 (实验四:用户管理) 教学大纲: 1、用户管理的基本概念 2、Linux 的用户与用户组 3、与用户管理有关的配置文件 4、用户管理 5、用户组管理 6、讨论与思考 Linux 操作系统是一个多用户多任务的操作系统,在用户管理方 面,拥有用户添加、用户管理、用户组管理、用户切换等多种工具。 本讲介绍 Linux 操作系统下的用户管理的一些基本概念,并详细 讲解用户和用户组管理的工具的使用。 一、用户管理的基本概念 1.1 单用户多任务和多用户多任务 Linux 是一个多用户、多任务的操作系统。操作系统可以分为单 用户多任务和多用户多任务操作系统。 (1)单用户多任务 单用户多任务操作系统要求系统在单一时间内为单个用户服务, 但它允许用户一次提交多项任务。例如,用户可以在运行程序的同时 开始另一文档的编辑工作。 举例来说,用户 zhaodongfeng 登录 Linux 系统,进入系统后, 首先打开 Netbeans 撰写程序,但在写程序的过程中,又打开 xmms 欣 赏音乐,同时打开 QQ 软件和朋友保持联系。这样,用户同时打开了 3 个应用软件,这样的系统就是单用户多任务操作系统。 (2)多用户多任务
多用户多任务操作系统允许多个用户共享使用同一台计算机的 资源,即在一台计算机上联接几台甚至几十台终端机,终端机可以没 有自己的CPU与内存,只有键盘与显示器,每个用户都通过各自的终 端机使用这台计算机的资源,计算机按固定的时间片轮流为各个终端 服务。由于计算机的处理速度很快,用户感觉不到等待时间,似乎这 台计算机专为自己服务一样 当然,多用户多任务并不是必须许多用户同时通过多个终端设备 来使用同一台计算机,多用户也可以通过远程登录的方式来进行。 举例来讲,一台 Ubuntu server服务器,服务器上开设有FTP用 户、系统管理员、Web管理用户等,在同一时刻,这些用户可以在同 时刻访问服务器,并执行不同的任务。 1.2用户角色识别 用户在操作系统中是分角色的,角色不同,权限和所能够完成的 任务也不同。 在 Linux操作系统中,用户角色是通过UID和用户名进行识别的, 并且主要使用UID进行识别。 二、 Linux的用户和用户组 2.1用户(User) 用户是能够获取系统资源的权限的集合。 Linux操作系统中,主 要有三类用户,分别如下所示。 root用户:系统唯一的一个拥有最高权限的账户。 虚拟用户:也被称之为伪用户或假用户,与真实用户区分开来, 这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户, 主要用户FTP服务、NFS服务等公共服务的启动账户,这类用户通常 都是系统自身拥有的,而非管理员自行添加的 普通用户:是系统真实账户。这类用户能够登录操作系统,但只 能操作个人目录下的内容。普通用户通常都是由系统管理员自行添加 的并指定权限 Linux操作系统中,与用户有关的信息保存在/etc/ passwd和 /etc/ shadow这两个文件中。 2|(amx操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
2 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 多用户多任务操作系统允许多个用户共享使用同一台计算机的 资源,即在一台计算机上联接几台甚至几十台终端机,终端机可以没 有自己的 CPU 与内存,只有键盘与显示器,每个用户都通过各自的终 端机使用这台计算机的资源,计算机按固定的时间片轮流为各个终端 服务。由于计算机的处理速度很快,用户感觉不到等待时间,似乎这 台计算机专为自己服务一样。 当然,多用户多任务并不是必须许多用户同时通过多个终端设备 来使用同一台计算机,多用户也可以通过远程登录的方式来进行。 举例来讲,一台 Ubuntu Server 服务器,服务器上开设有 FTP 用 户、系统管理员、Web 管理用户等,在同一时刻,这些用户可以在同 一时刻访问服务器,并执行不同的任务。 1.2 用户角色识别 用户在操作系统中是分角色的,角色不同,权限和所能够完成的 任务也不同。 在Linux操作系统中,用户角色是通过UID和用户名进行识别的, 并且主要使用 UID 进行识别。 二、Linux 的用户和用户组 2.1 用户(User) 用户是能够获取系统资源的权限的集合。Linux 操作系统中,主 要有三类用户,分别如下所示。 root 用户:系统唯一的一个拥有最高权限的账户。 虚拟用户:也被称之为伪用户或假用户,与真实用户区分开来, 这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户, 主要用户 FTP 服务、NFS 服务等公共服务的启动账户,这类用户通常 都是系统自身拥有的,而非管理员自行添加的。 普通用户:是系统真实账户。这类用户能够登录操作系统,但只 能操作个人目录下的内容。普通用户通常都是由系统管理员自行添加 的并指定权限。 Linux 操作系统中,与用户有关的信息保存在/etc/passwd 和 /etc/shadow 这两个文件中
2.2用户组( Group) 用户组( group)就是具有相同特征的用户(user)的集合体, 用户组是权限的容器。在 Linux操作系统中,主要有三类用户组,分 别如下所示 普通用户组:通常是由系统管理员创建的,可以指定加入多个用 户,加入的用户将继承用户组的权限。 系统用户组:该组内一般存放系统管理用户。 私有组:也称基本组。当创建用户时,如果没有为其指明所属用 户组,则就为其定义一个私有的用户组,私有用户组得名称和用户名 相同。私有组可以转变成普通用户组,当把其他用户加入到一个私有 组中,私有组就转变成了普通用户组。 Linux操作系统中,与用户组有关的信息保存在/etc/ group和 /etc/ shadow这两个文件中。 三、与用户管理有关的配置文件 Linux操作系统中,与用户有关的信息保存在/etc/ passwd和 /etc/ shadow这两个文件中,与用户组有关的信息保存在/etc/ group 和/etc/ shadow这两个文件中。 3. 1/etc/passwd (1)关于/etc/ passwd /etc/ passwd是系统识别用户的一个文件。不准确的讲, /etc/ passwd操作系统的花名册,系统所有的用户都在这里有记载 当以 zhaodongfeng账号登录时,系统首先查阅/etc/ passwd文 件,判断是否有 zhaodongfeng账号,然后确定帐号的UID,之后通 过UID来确认用户和身份。系统中如果存在 zhaodongfeng账号,则 读取/etc/ shadow文件中所对应的 zhaodongfeng帐号的密码。如果 密码核实无误则登录系统成功,并开始读取用户的配置文件。 (2)/etc/ passwd的详细说明 在/etc/ passwd中,每一行都表示的是一个用户的信息。每一行 有7个段位,每个段位用:号分割。 查看系统的/etc/ passwd的文件内容,具体如下。 3l(anx操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
3 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 2.2 用户组(Group) 用户组(group)就是具有相同特征的用户(user)的集合体, 用户组是权限的容器。在 Linux 操作系统中,主要有三类用户组,分 别如下所示。 普通用户组:通常是由系统管理员创建的,可以指定加入多个用 户,加入的用户将继承用户组的权限。 系统用户组:该组内一般存放系统管理用户。 私有组:也称基本组。当创建用户时,如果没有为其指明所属用 户组,则就为其定义一个私有的用户组,私有用户组得名称和用户名 相同。私有组可以转变成普通用户组,当把其他用户加入到一个私有 组中,私有组就转变成了普通用户组。 Linux 操作系统中,与用户组有关的信息保存在/etc/group 和 /etc/gshadow 这两个文件中。 三、与用户管理有关的配置文件 Linux 操作系统中,与用户有关的信息保存在/etc/passwd 和 /etc/shadow 这两个文件中,与用户组有关的信息保存在/etc/group 和/etc/gshadow 这两个文件中。 3.1/etc/passwd (1)关于/etc/passwd /etc/passwd 是系统识别用户的一个文件。不准确的讲, /etc/passwd 操作系统的花名册,系统所有的用户都在这里有记载。 当以 zhaodongfeng 账号登录时,系统首先查阅/etc/passwd 文 件,判断是否有 zhaodongfeng 账号,然后确定帐号的 UID,之后通 过 UID 来确认用户和身份。系统中如果存在 zhaodongfeng 账号,则 读取/etc/shadow 文件中所对应的 zhaodongfeng 帐号的密码。如果 密码核实无误则登录系统成功,并开始读取用户的配置文件。 (2)/etc/passwd 的详细说明 在/etc/passwd 中,每一行都表示的是一个用户的信息。每一行 有 7 个段位,每个段位用:号分割。 查看系统的/etc/passwd 的文件内容,具体如下
zhaodongfeng Teach Server - S cat/etc/passwd daemon: x: 1: 1: daemon: /usr/sbin: /bin/sh bin x: 2: 2: bin: /bin: /bin/sh sync x: 4: 65534: sync: /bin: /bin/sync games: X: 5: 60: games: /usr/games: /bin/sh man x: 6: 12: man /var/cache/man: /bin/sh Ip x: 7: 7: lp: /var/spool/pd: /bin/sh mail: x: 8: 8 mail: /var/mail: /bin/sh news: x: 9: 9: news /var/spool/news: /bin/sh uucp: x: 10: 10: uucp: /var/spool/uucp: /bin/sl proxy x: 13: 13 proxy: /bin: /bin/sh www-data x: 33: 33 www-data /var/www /bin/sh backup: x: 34: 34: backup: /var/backups: /bin/sh list x: 38: 38: Mailing List Manager: /var/list: /bin/sh irc x: 39: 39: ircd: /var/run/ircd: /bin/sh gnats: x: 41: 41: Gnats Bug-Reporting System(admin): /var/lib/gnats: /bin/sh nobody: x: 65534: 65534: nobody: /nonexistent: /bin/sh libuuid x: 100: 101: /var/lib/libuuid: /bin/sh mysql: x: 102: 105: MySQL Server,,,: /nonexistent: /bin/false sshd: x: 103: 65534: /var/run/sshd: /usr/sbin/nologin zhaodongfeng x: 1000: 1000: zhaodongfeng, /home/zhaodongfeng: /bin/bash ftp: x: 104: 112: ftp daemon, /srvftp: /bin/false snmp: x: 105: 114: /var/lib/snmp: /bin/false zhaodongfeng@ Teach Server - S 说明如下 第一字段:用户名(也被称为登录名) 第二字段:口令,具体内容是一个字母x,其密码已被映射到 /etc/ shadow文件中。 第三字段:UID 第四字段:GID。 第五字段:用户名全称,这是可选的,可以不设置 第六字段:用户个人目录所在位置。 第七字段:用户所用 SHELL的类型。 (3)关于UID UID是用户的ID值,在操作系统中每个用户的UID值是唯一的 确切的说每个用户都要对应一个唯一的UID,UID的唯一性关系到系 4|am操作系统》讲稿/河南中医学院/阮晓龙/@phactcm.edu.cn
4 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn zhaodongfeng@TeachServer:~$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh syslog:x:101:103::/home/syslog:/bin/false mysql:x:102:105:MySQL Server,,,:/nonexistent:/bin/false sshd:x:103:65534::/var/run/sshd:/usr/sbin/nologin zhaodongfeng:x:1000:1000:zhaodongfeng,,,:/home/zhaodongfeng:/bin/bash ftp:x:104:112:ftp daemon,,,:/srv/ftp:/bin/false snmp:x:105:114::/var/lib/snmp:/bin/false zhaodongfeng@TeachServer:~$ 说明如下: 第一字段:用户名(也被称为登录名) 第二字段:口令,具体内容是一个字母 x,其密码已被映射到 /etc/shadow 文件中。 第三字段:UID。 第四字段:GID。 第五字段:用户名全称,这是可选的,可以不设置。 第六字段:用户个人目录所在位置。 第七字段:用户所用 SHELL 的类型。 (3)关于 UID UID 是用户的 ID 值,在操作系统中每个用户的 UID 值是唯一的。 确切的说每个用户都要对应一个唯一的 UID,UID 的唯一性关系到系
统的安全。系统管理员应该确保这一规则 系统用户的UID的值从0开始,是一个正整数,至于最大值可以 在/etc/ login.defs可以查到,一般 Linux发行版约定为60000。在 Linux操作系统中,root的UID是0,拥有系统最高权限。 UID是确认用户权限的标识,用户登录系统所属的角色是通过 UID来实现的,而非用户名,因此把几个用户共用一个UID是危险的 UID的唯一性是需要管理员人为保障的,因为管理员可以通过修 改/etc/ passwd文件来修改任何用户的UID的值。通常情况下, Linux 发行版都会预留一定的UID和GID给系统虚拟用户占用。例如, Fedora 系统会把前499个UID和GID预留,管理员自行添加新用户时的UID 和GID从500开始。在 Linux操作系统中,系统通过/etc/ login.defs 文件的 UID MIN选项指定UID和GID的最小值。 3. 2/etc/shadow (1)关于/etc/ shadow /etc/ shadow文件是/etc/ passwd的影子文件,这个文件不是由 /etc/ passwd产生的。/etc/ shadow和/ec/ passwd是对应互补的。 /etc/ shadow文件内容包括了用户名及被加密的密码以及其它在 /etc/ passwd中没有包括的用户信息。比如用户的有效期限、密码过 期时间等。/etc/ shadow文件的读取和修改需要root权限。 (2)/etc/ shadow的详细说明 /etc/ shadow文件的内容包括9个段位,每个段位之间用:号分 割。 查看系统的/etc/ shadow的文件内容,具体如下。 zhaodongfeng TeachServer -S sudo cat /etc/shadow sudo] password for zhaodongfeng root:!:15023:099999:7 daemon:*:15023:0:999997 bin:*:15023:0:99999:7 sys:*:15023:0:999997 sync:*:15023.0:999997 games:*:15023:0:999997: man:*:15023:099999:7 lp:*:15023:0:99999 mail:*:15023:0:99999:7: 5|am操作系统》讲稿/河南中医学院/阮晓龙/ phactcm.edu.cn
5 《Linux 操作系统》讲稿 / 河南中医学院 / 阮晓龙 / rxl@hactcm.edu.cn 统的安全。系统管理员应该确保这一规则。 系统用户的 UID 的值从 0 开始,是一个正整数,至于最大值可以 在/etc/login.defs 可以查到,一般 Linux 发行版约定为 60000。在 Linux 操作系统中,root 的 UID 是 0,拥有系统最高权限。 UID 是确认用户权限的标识,用户登录系统所属的角色是通过 UID 来实现的,而非用户名,因此把几个用户共用一个 UID 是危险的。 UID 的唯一性是需要管理员人为保障的,因为管理员可以通过修 改/etc/passwd 文件来修改任何用户的 UID 的值。通常情况下,Linux 发行版都会预留一定的UID和 GID给系统虚拟用户占用。例如,Fedora 系统会把前 499 个 UID 和 GID 预留,管理员自行添加新用户时的 UID 和 GID 从 500 开始。在 Linux 操作系统中,系统通过/etc/login.defs 文件的 UID_MIN 选项指定 UID 和 GID 的最小值。 3.2/etc/shadow (1)关于/etc/shadow /etc/shadow 文件是/etc/passwd 的影子文件,这个文件不是由 /etc/passwd 产生的。/etc/shadow 和/etc/passwd 是对应互补的。 /etc/shadow文件内容包括了用户名及被加密的密码以及其它在 /etc/passwd 中没有包括的用户信息。比如用户的有效期限、密码过 期时间等。/etc/shadow 文件的读取和修改需要 root 权限。 (2)/etc/shadow 的详细说明 /etc/shadow 文件的内容包括 9 个段位,每个段位之间用:号分 割。 查看系统的/etc/shadow 的文件内容,具体如下。 zhaodongfeng@TeachServer:~$ sudo cat /etc/shadow [sudo] password for zhaodongfeng: root:!:15023:0:99999:7::: daemon:*:15023:0:99999:7::: bin:*:15023:0:99999:7::: sys:*:15023:0:99999:7::: sync:*:15023:0:99999:7::: games:*:15023:0:99999:7::: man:*:15023:0:99999:7::: lp:*:15023:0:99999:7::: mail:*:15023:0:99999:7:::