网络操作系统- Linux基础 主讲人:王柯wangk(@swnu.edu.cn 西南师范大学计算机科学系2005年春
网络操作系统-Linux基础 主讲人:王柯 wangk@swnu.edu.cn 西南师范大学计算机科学系 2005年春
Red hat linux系统管理 第13章一第18章
Red Hat Linux 系统管理 第13章 - 第18 章
第13章用户管理
第13章 用户管理
·13.1什么是用户帐户 account? ·13.2root帐户 使用户成为超级用户#su 或另一个用户 #su wangke passwd设置用户密码 #passwd wangke t 改变系统的运行状态#int0m23456s shutdown关闭系统 #shutdown -r 23: 30 Warning: This system will shutdown at 23: 30 #shutdown -h now #shutdown -r +5 oot 重启系统 #reboot halt 停机 thalt late 显示和设置系统的日#e+Date%m%oY%rime%H%MPs 期与时间 # date -s03/22/200510:10:00
• 13.1 什么是用户帐户account? • 13.2 root帐户 重启系统 #reboot reboot 停机 #halt halt 显示和设置系统的日 期与时间 关闭系统 改变系统的运行状态 设置用户密码 使用户成为超级用户 或另一个用户 #shutdown –r 23:30 ‘Warning: This system will shutdown at 23:30’ #shutdown –h now #shutdown –r +5 shutdown #su #su wangke su #passwd wangke passwd #init 0 [123456Ss] init #date ‘+Date: %m/%d/%Y%nTime: %H:%M%S’ #date –s ’03/22/2005 10:10:00’ date
init进程是系统所有进程的起点, Linux在完成核内引导以后,就 开始运行ini程序。ini程序需要读取配置文件/etc/ inittab。 inittab是一个不可执行的文本文件,由若干行指令所组成。 Inittab 中以开始的行是注释行,除了注释行之外,每一行都有以下格 式d runlevel: action: process
• init进程是系统所有进程的起点,Linux在完成核内引导以后,就 开始运行init程序。 init程序需要读取配置文件/etc/inittab。 • inittab是一个不可执行的文本文件,由若干行指令所组成。Inittab 中以#开始的行是注释行,除了注释行之外,每一行都有以下格 式: id:runlevel:action:process
id d是入口标识符,它是一个字符串,对于gety或 wingett等其他logn程 序项,要求d与ty的编号相同,否则ge程序将不能正常工作。 runlevel是m所处于的运行级别的标识,一般使用0-6以及S或s。0 6运行级别被系统保留:其中0作为 shutdown动作,1作为重启至单用户 模式,6为重启;S和s意义相同,表示单用户模式,且无需 inittab文件 因此也不在mtab中出现。实际上,进入单用户模式时,imit接在控 制台( /dev/console)上运行 sbin/sulogin。在一般的系统实现中,都使 runlevel用了2、3、4、5几个级别,在 Redhat系统中,2表示无NFS支持的多用 户模式,3表示完全多用户模式(也是最常用的级别),4保留给用户 自定义,5表示XDM图形登录方式。7—9级别也是可以使用的,传统 的Umx系统没有定义这几个级别。 runlevel可以是并列的多个值,以匹 配多个运行级别,对大多数 action来说,仅当 runlevel与当前运行级别匹 配成功才会执行。 action是描述其后的poes运行方式的。 action可取的值包括: initdefault, sysinit、bot、 bootwait等: initdefaul是一个特殊的 Jaction值, 用于标识缺省的启动级别:当in由核心激活以后,它将读取mtab中 的 initdefault项,取得其中的 Runlevel,并作为当前的运行级别。如果没 action 有ntab文件,或者其中没有 initdefaul,ni将在控制台上请求输入 runlevel。 sysinit.、boot、 bootwait等 Faction将在系统启动时无条件运行, 而忽略其中的 runlevel其余的 Jaction(不含 initdefault)都与某个 runlevel相关。各个 action的定义在 inittab的man手册中有详细的描述。 processprocess具体的执行程序。程序后面可以带参数
process为具体的执行程序。程序后面可以带参数。 action是描述其后的process的运行方式的。action可取的值包括: initdefault、sysinit、boot、bootwait等:initdefault是一个特殊的action值, 用于标识缺省的启动级别;当init由核心激活以后,它将读取inittab中 的 initdefault项,取得其中的runlevel,并作为当前的运行级别。如果没 有inittab文件,或者其中没有initdefault项, init将在控制台上请求输入 runlevel。sysinit、boot、bootwait等action将在系统启动时无条件运行, 而忽略其中的runlevel。其余的action(不含initdefault)都与某个 runlevel相关。各个action的定义在inittab的man手册中有详细的描述。 runlevel是init所处于的运行级别的标识,一般使用0-6以及S或s。0、1、 6运行级别被系统保留:其中0作为shutdown 动作,1作为重启至单用户 模式,6为重启;S和s意义相同,表示单用户模式,且无需inittab文件, 因此也不在inittab中出现。实际上,进入单用户模式时,init直接在控 制台(/dev/console)上运行/sbin/sulogin。在一般的系统实现中,都使 用了2、3、4、5几个级别,在Redhat系统中,2表示无NFS支持的多用 户模式,3表示完全多用户模式(也是最常用的级别),4保留给用户 自定义,5表示XDM图形登录方式。7 -9级别也是可以使用的,传统 的Unix系统没有定义这几个级别。runlevel可以是并列的多个值,以匹 配多个运行级别,对大多数action来说,仅当runlevel与当前运行级别匹 配成功才会执行。 id是入口标识符,它是一个字符串,对于getty或mingetty等其他login程 序项,要求id与tty的编号相同,否则getty程序将不能正常工作。 process id runlevel action
13.3管理用户和组 to/skel目录本目录中存放着文件框架 :skeleton。比如/ etc/skel/ bash profile将作为框 架,在添加用户user时生成该用户 /home/user/ bash profile件。 eo/ shells包含系统可用的可能的she列表。 etc/passwd格式是一登录帐号密码(如果末被 shadow程序加密)用户标识符 UID组标识符GID用户信息主目录用户 shell(若为空格则默认为 /bin/sh) etc/shadow包含加密后的用户帐号密码信息,还可以包括密码时效信息。 Shadow 只对超级用户可读,一般用户无法读取。字段包括—登录名加密后 的密码从1970年1月1日到密码最后一次被更改的天数距密码可以 更改之前的天数距密码必须更改之前的天数密码到期前用户被警告 的天数密码到期后帐户被禁用的天数从1970年1月1日到帐号被禁 用的天数 etc/group包含有效的组名称和指定组中包括的用户。单一用户如果执行多个任 务,可以存在于多个组中。格式是——组名组访问密码组标识符GD 用户名列表(用户名间以“,”分隔) t/ shadow包含加密后的组帐号密码信息 etc/nologin如果有 /etc/nologin文件存在,Jogm将只允许ro)户进行访间。它将 对其它用户显示此文件的内容并拒绝其登录
• 13.3 管理用户和组 /etc/gshadow 包含加密后的组帐号密码信息 包含加密后的用户帐号密码信息,还可以包括密码时效信息。Shadow 只对超级用户可读,一般用户无法读取。字段包括——登录名:加密后 的密码:从 1970 年 1 月 1 日到密码最后一次被更改的天数:距密码可以 更改之前的天数:距密码必须更改之前的天数:密码到期前用户被警告 的天数:密码到期后帐户被禁用的天数:从 1970 年 1 月 1 日到帐号被禁 用的天数 /etc/shadow 格式是——登录帐号:密码(如果未被 shadow 程序加密):用户标识符 UID:组标识符GID:用户信息主目录用户shell(若为空格则默认为 /bin/sh)。 /etc/passwd 如果有 /etc/nologin 文件存在,login将只允许 root 用户进行访问。它将 对其它用户显示此文件的内容并拒绝其登录。 /etc/nologin 本目录中存放着文件框架skeleton。比如/etc/skel/.bash_profile将作为框 架,在添加用户user时生成该用户/home/user/.bash_profile文件。 /etc/skel目录 /etc/shells 包含系统可用的可能的“shell”的列表。 包含有效的组名称和指定组中包括的用户。单一用户如果执行多个任 务,可以存在于多个组中。格式是——组名:组访问密码:组标识符GID: 用户名列表(用户名间以“,”分隔) /etc/group
13.3管理用户和组 etc/secureity包含终端设备名称(每行一个名称,不包括前面的aev),登记了 的才允许roo户登录,如果不存在这个文件,则oot可以在任何终 端上登录。 /etc/usertt 本文件用于对用户作出附加访问限制,如果不存在这个文件,则没 有其他限制 etc/rpmrc rpm命令配置。所有的rpm命令行选项都可以在这个文件中一起设 置,这样当任何mpm命令在该系统中运行时,所有的选项都会全局 适用。 letc/mot d 包含每日消息;在管理员希望向 Linux服务器的所有用户传达某个 消息时使用
• 13.3 管理用户和组 本文件用于对用户作出附加访问限制,如果不存在这个文件,则没 有其他限制。 /etc/usertty rpm 命令配置。所有的 rpm 命令行选项都可以在这个文件中一起设 置,这样当任何 rpm 命令在该系统中运行时,所有的选项都会全局 适用。 /etc/rpmrc 包含终端设备名称(每行一个名称,不包括前面的 /dev/),登记了 的才允许root用户登录,如果不存在这个文件,则root可以在任何终 端上登录。 /etc/securetty 包含每日消息;在管理员希望向 Linux 服务器的所有用户传达某个 消息时使用 /etc/motd
134管理用户和组的命令 #useradd-m-g users -s/bin/bash -c"dingding goodboy -c comment描述新用户帐号,通常为用户全名 -d home dir设置用户主目录,默认值为用户的登录名,并放在home目录下 D创建新帐号后保存为新帐号设置的默认信息 e expire date用 MM/DDAYYYY格式设置帐号过期日期 -f inactivity设置口令失效时间,该值为使口令失效后帐号立即失效,为1 使该选项失效 useradd添加新用户帐号 设置基本组 k skel dir设置框架目录,该目录包含用户的初始配置文件,创建用户时该 目录下的文件都被复制到用户主目录下 m自动创建用户主目录,并把框架目录默认为ecse下的文件复制到用 户主目录下 M不创建用户主目录。 允许保留的系统帐号使用用户ID创建一个新帐号 sshe指定用户的登录 shell u user id设置用户ID passwd设置用户密码 #passwd goodboy userdel删除用户帐号 #userdel oldusername #userdel -r oldusername groupama添加新用户组 #groupadd newgroupname groupdel删除用户组 #groupdel oldgroupname #usermod-s/bin/ash goodboy usermod修改用户帐号属性 #usermod -L goodboy #usermod-U goodboy #usermod oodb
• 13.4 管理用户和组的命令 设置用户密码 #passwd goodboy passwd #usermod –s /bin/ash goodboy #usermod –L goodboy #usermod –U goodboy #usermod –p “” goodboy usermod 修改用户帐号属性 删除用户组 添加新用户组 删除用户帐号 添加新用户帐号 #groupdel oldgroupname groupdel #useradd -m -g users -s /bin/bash -c “dingding" goodboy -c comment 描述新用户帐号,通常为用户全名。 -d home_dir 设置用户主目录,默认值为用户的登录名,并放在/home目录下。 -D 创建新帐号后保存为新帐号设置的默认信息。 -e expire_date 用MM/DD/YYYY格式设置帐号过期日期。 -f inactivity 设置口令失效时间,该值为0使口令失效后帐号立即失效,为-1 使该选项失效。 -g 设置基本组。 -k skel_dir 设置框架目录,该目录包含用户的初始配置文件,创建用户时该 目录下的文件都被复制到用户主目录下。 -m 自动创建用户主目录,并把框架目录(默认为/etc/skel)下的文件复制到用 户主目录下。 -M 不创建用户主目录。 -r 允许保留的系统帐号使用用户ID创建一个新帐号。 -s shell 指定用户的登录shell。 -u user_id 设置用户ID。 useradd #userdel oldusername #userdel –r oldusername userdel #groupadd newgroupname groupadd
引导和登录/注销类配置文件 按年代来讲,这是UNX中第一个配置文件。在一台UNX机 etc/inittab 器打开之后启动的第一个程序是init,它知道该启动什么,这是 由于 inittab的存在。在运行级别改变时,int读取 inittab,然后 控制主进程的启动。 通常在所有运行级别运行,级别作为参数传送。例如,要以图 /etc/rc. d/rc 形( Graphics)模式(X- Server)引导机器,请在命令行运行下 面的命令:init5。运行级别5表示以图形模式引导系统 etc/rc. d/rc sysinit通常是所有运行级别的第一个脚本 etc/rc. d/rc. local非正式的。可以从c、 Tc sysinit i或/ etc/inittab调用。 从c运行的脚本(X表示1到5之间的任意数字)。这些目录 是特定运行级别的目录。当系统启动时,它会识别要启动的 letc/rc. d/rc/rcX.d 运行级别,然后调用该运行级别的特定目录中存在的所有启动 脚本。例如,系统启动时通常会在引导消息之后显示 entering run-level3的消息;这意味着/etc/ rc. d/rc3d/目录中的所有初始 化脚本都将被调用 这些文件由 mingetty(和类似的程序)读取,用来向从终端 /etc/issue (isue)或通过 telnet会话( Issue. net)连接的用户显示一个 'etc/issue net welcome”字符串。它们包括几行声明 Red hat版本号、名称和 内核ID的信息。它们由 rc local使用。 etc/redhat-release包括行声明 Red Hat版本号和名称的信息。由rca使用
• 引导和登录/注销类配置文件 /etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。 从 rc 运行的脚本(X 表示 1 到 5 之间的任意数字)。这些目录 是特定“运行级别”的目录。当系统启动时,它会识别要启动的 运行级别,然后调用该运行级别的特定目录中存在的所有启动 脚本。例如,系统启动时通常会在引导消息之后显示“entering run-level 3”的消息;这意味着 /etc/rc.d/rc3.d/ 目录中的所有初始 化脚本都将被调用。 /etc/rc.d/rc/rcX.d /etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。 通常在所有运行级别运行,级别作为参数传送。例如,要以图 形(Graphics)模式(X-Server)引导机器,请在命令行运行下 面的命令:init 5。运行级别 5 表示以图形模式引导系统。 /etc/rc.d/rc 按年代来讲,这是 UNIX 中第一个配置文件。在一台 UNIX 机 器打开之后启动的第一个程序是 init,它知道该启动什么,这是 由于 inittab 的存在。在运行级别改变时,init 读取 inittab,然后 控制主进程的启动。 etc/inittab 这些文件由 mingetty(和类似的程序)读取,用来向从终端 (issue)或通过 telnet 会话(issue.net)连接的用户显示一个 “welcome”字符串。它们包括几行声明 Red Hat 版本号、名称和 内核 ID 的信息。它们由 rc.local 使用。 /etc/issue & /etc/issue.net /etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用