linux用户登录与账户管理.ppt
《linux用户登录与账户管理.ppt》由会员分享,可在线阅读,更多相关《linux用户登录与账户管理.ppt(136页珍藏版)》请在三一办公上搜索。
1、第三章 用户登录与账户管理,Linux作为多用户、多任务的操作系统,其系统资源是所有用户共享的。任何要使用系统资源者必须先在系统内登记、注册,即开设用户账户,该账户包含用户名、口令、所用的shell、使用权限等等;为了计算机系统的安全,Linux会对每一个要求进入系统的用户验证他们的用户名和口令,如果验证通过则用户登录成功,否则系统拒绝登录。,31 用户登录,根据用户在本地终端还是通过网络登录Linux系统,分为用户的终端登录和远程登录。这里的网络可以是局域网,如学校计算机实验室;也可以是网际网,如Internet。311 终端登录当成功启动系统后,如果系统运行级为5,则登录时会看到如图3-1
2、所示界面;如果运行级为3,则登录时会看到如图3-2所示界面。用户必须先后输入用户名、口令才可以登录Linux系统。,图3-1运行级5的登录界面,图3-2运行级3的登录界面,如果以超级用户的root账户登录,则终端提示符为#。如果以普通用户登录,则终端提示符为$。在 Linux 系统中超级用户拥有最高权限,例如、可以删除、修改系统中所有的目录和文件;而且在命令方式下删除的内容是不可恢复的。为了系统安全、避免由于误操作带来的损失,建议若非系统管理需要,一般不要以超级用户的root账户登录。Linux系统提供了六个虚拟控制台终端,每个虚拟终端都可以登录系统。这六个虚拟终端之间用组合键Ctrl+Alt
3、+Fx进行切换,Fx表示F1到F6键。如果系统运行级是5,则任何时候要返回到图形界面只要按Ctrl+Alt+F7即可。,312 远程登录 所谓“远程登录”是指用户在某一台计算机上通过网络登录其他联网的计算机系统,使用该系统中的资源,如执行命令、查找文件等,以达到资源共享的目的。相互连通的计算机可以是处于同一个局域网、城域网和广域网,甚至世界上任何一台连接到Internet的计算机。当用户发出远程登录请求时,Linux系统会像在本地终端登录一样要求用户输入用户名和口令;一旦登录成功,如果你有足够的权限、你的计算机就像远程哪台计算机的终端一样,你通过键盘所发出的命令,就会在该远程计算机上执行、执行
4、的结果会通过网络显示在你的显示器上。,在Linux操作系统中,实现远程登录的命令主要有:telnet、rsh、rlogin和ssh,它们要在系统提供相应服务的基础上使用;换句话说、要使用远程登录必须先开启所用远程登录命令对应的服务,例如、要使用telnet命令就要先开启系统的telnet服务。一般这些系统服务没有必要全部开启,这样既浪费系统资源、造成运行速度降低又可能留下安全隐患,可以根据实际使用哪些命令来开启相关的系统服务。有关系统服务的查看、开启和关闭请参阅第二章的有关章节。本章仅仅介绍远程登录的使用,不涉及远程登录的安全问题。,3121 telnet命令telnet命令是最常用的远程登录
5、命令,但是它只能在基于终端的环境下使用,即要么在虚拟控制台终端上使用、要么在X Window系统的终端窗口中使用。telnet命令的选项和参数很多,但在实际使用中往往只要用到其基本用法。这里我们先介绍如何最基本地使用该命令,然后给出该命令的完整用法。基本用法:$telnet host其中,host是你要登录到的远程计算机的名字或IP地址。,以下是使用telnet命令基本用法的示例:rootlocalhost root#telnet 192.168.248.133Trying 192.168.248.133.Connected to 192.168.248.133(192.168.248.133
6、).Escape character is.Red Hat Linux release 9(Shrike)Kernel 2.4.20-8 on an i686login:zxjPassword:Last login:Sun Feb 4 15:12:32 from 192.168.248.131zxjlocalhost zxj$cd/zxjlocalhost/$lsbin dev home lib misc opt root tftpboot usrboot etc initrd lost+found mnt proc sbin tmp varzxjlocalhost/$cd/homezxjlo
7、calhost home$lslost+found zxjzxjlocalhost home$logoutonnection closed by foreign host.,在这个示例中,使用telnet命令远程登录到IP地址为的计算机上;当连接成功后显示Linux的发行版本号和内核版本号,并要求用户输入用户名和口令。如果用户超过一定的时间没有输入,则系统自动断开连接。如果用户输入的用户名和口令正确,则登录系统成功并自动进入该用户目录。这时用户的计算机就像远程计算机的一个终端,根据用户所拥有的权限就可以执行相应的命令。例如、切换到根目录下、执行ls命令时会看到在远程计算机上显示的目录和文件就像
8、在自己计算机终端上登录的一样。当完成所需要的操作后,使用logout命令退出远程登录,即可关闭与远程计算机的连接,回到自己的系统中。实际上,telnet命令是TELNET协议的用户接口。,完整用法:telnet-8-E-F-K-L-S tos-X authtype-a-c-d-e escapechar-f-k realm-l user-n tracefile-r-x host port如果telnet命令不带任何命令选项,则进入telnet命令模式、显示telnet提示符,执行?或help命令可以查询所有可用的命令;执行?命令名或help命令名,则显示该命令的在线帮助信息。表3-1列出了tel
9、net命令的选项和说明。,3122 rlogin命令rlogin命令与telnet命令无论在使用方法还是选项功能上都非常类似;它也是用来在远程计算机上登录。如果登录成功,就可以在远程计算机上执行该注册账户权限所允许的任何操作。基本用法:$rlogin rhost其中,rhost是你要登录到的远程计算机的名字或IP地址。完整用法:低版本rlogin命令:rlogin-8EL-e char-l username rhost,高版本rlogin命令:rlogin rhost-ec-8-c-a-f-F-t termtype-n-7-PN|-PO-d-k realm-x-L-l username 从rl
10、ogin命令的完整用法可以看到,该命令中的rhost参数是必需的,代表远程主机名或IP地址;其他的是命令选项且是可选的。表3-2列出了rlogin命令的选项和说明。该版本的rlogin命令与低版本的rlogin命令在选项个数和功能上有较大的差别。,3123 rsh命令rsh命令用来启动远程计算机上的shell并让该shell执行权限范围内指定的命令。基本用法:$rsh host command其中,host是你要登录到的远程计算机的名字或IP地址,而command为要远程计算机shell执行的命令。如果省略了参数command,则rsh命令将调用rlogin命令登录到远程计算机上。完整用法:低
11、版本rsh命令:rsh-dn-l username host command,高版本rsh命令:rsh host-l username-n-d-k realm-f|-F-x-PN|-PO command从rsh命令的完整用法可以看到,该命令中的host参数是必需的,其他的是命令选项且是可选的。表3-3列出了rsh命令的选项和说明。,rsh命令连接指定的远程计算机,并在它上面执行指定的命令。rsh命令将本地计算机上的标准输入复制到远程计算机的标准输入,因此在本地计算机上可以输入在远程计算机上执行命令所需要的输入数据。而且、rsh命令还将远程计算机上的标准输出复制到本地计算机的标准输出中、将远程计
12、算机上的标准错误输出复制到本地计算机的标准错误输出中,因此在本地计算机上就可以看到远程计算机上命令执行的情况。此外、rsh命令还将本地计算机的中断、退出和终止信号传送到远程计算机,以控制远程计算机上命令的执行。当指定的命令在远程计算机上执行完时,rsh命令就正常终止。,在rsh命令中,如果shell元字符没有用引号括起来,则表示对本地计算机进行操作;如果用引号括起来,则表示对远程计算机进行操作。所谓元字符是指对shell而言有特殊意义的字符,如*、?、|、;、localfile表示在远程计算机上用cat命令查看远程计算机上的remotefile文件,并采用附加重定向元字符重定向到本地计算机的l
13、ocalfile文件。如果命令中的元字符加上引号,如下:rsh host cat remotefile“”otherremotefile表示在远程计算机上用cat命令查看远程计算机上的remotefile文件,并采用附加重定向到远程计算机host的otherremotefile文件。,3124 ssh客户端命令ssh(SSH 客户端)是一个为实现在远程计算机上登录,并在其上执行命令的程序。由于rlogin 和rsh命令的安全性问题,它们将被ssh命令代替。ssh可以在不安全网络上的两台非信任(不可靠)的计算机之间提供安全的加密通信;X11连接和任意的TCP/IP 端口也能在安全的信道上转发。s
14、sh 命令建立连接并在日志文件中记录指定的主机名。用户必须采用几种方法中的一种向远程计算机证明自己的身分,这几种方法依赖于所使用的协议版本。,基本用法:ssh-l login_name hostname|userhostname command其中、hostname或userhostname是你要登录到的远程计算机的名称、IP地址或域名,login_name是登录的注册用户名,而command为要远程计算机shell执行的命令。完整用法:ssh-afgknqstvxACNTX1246-b bind_address-c cipher_spec-e escape_char-i identity_f
15、ile-l login_name-m mac_spec-o option-p port-F configfile-L port:host:hostport-R port:host:hostport-D port hostname|userhostname command表3-4列出了ssh命令的选项和说明。,32 管理用户账户,每一个登录Linux系统的用户在系统中都应该有对应的注册账户,这些账户记录了用户的信息,如用户名、登录口令、用户目录所在的位置、所用的shell、建立时间、权限等信息。用户账户管理包括:添加用户、设置口令、删除用户、修改用户属性和权限等。因此、账户管理是系统管理员重要的
16、日常工作之一。,321 添加用户超级用户的账户在Linux系统安装时已经创建了,但超级用户的权限太大不适合给普通用户使用,否则会对Linux的系统安全造成威胁;因此,所有要使用Linux操作系统所管理资源的普通用户都要向超级用户或拥有超级用户权限的系统管理员申请一个用户账户,以便登录系统。这对于超级用户或系统管理员而言就是添加用户。添加用户的方式既可以在字符终端下,也可以在图形界面下。本节先介绍字符终端下的添加用户方法,这种方式也有多种方法,如使用终端命令、修改配置文件、编写shell脚本程序等。,3211 终端命令添加用户添加用户最常用的命令就是useradd 命令,该命令的参数和选项很多;
17、早期的版本中该命令建立的用户账户没有设置用户的口令,必须在账户建好后再用passwd命令设置口令,但在Red Hat Linux9.0中对该命令做了修改,增加了-p passwd参数,无论是否使用-p参数系统都默认调用crypt函数自动生成一个随机的初始口令,锁住该账户以禁止用户访问。当然、超级用户或系统管理员也可以用该参数取消初始口令,把设置口令的工作由新用户自己来完成。使用useradd命令所建立的用户账户信息实际上保存在/etc/passwd文本文件中,而加密的用户账户信息则保存在/etc/shadow文件中。,基本用法:useradd-d home_dir-s shell 用户名该命令
18、中用户名参数是必需的,-d home_dir选项和-s shell选项是可选的;如果不使用可选项,则系统自动用默认值。默认的用户工作主目录是/home/用户名,即Linux系统会自动在/home目录下创建一个以用户名命名的目录作为用户的工作主目录,并向该目录复制.bash、.logout、.bash、.profile、.bashrc、.gtkrc文件和.kde目录;系统默认用户使用的shell是bash。例如、如下的命令将添加一个名为zxj的新用户:#useradd zxj该用户的工作主目录为默认的目录,使用的shell也是默认的;如果用户不想要默认的设置,则必须在命令中明确指定-d和-s参数
19、。,完整用法:useradd-c comment-d home_dir-e expire_date-f inactive_time-g initial_group-G group,.-m-k skeleton_dir|-M-n-o-p passwd-r-s shell-u uid login_name或 useradd-D-g default_group-b default_home-e default_expire_date-f default_inactive-s default_shell当使用中不带-D命令选项时,useradd命令用命令行中指定的值和系统默认的值来建立一个用户账户。该
20、账户信息会添加到系统相应的文件中,如/etc/passwd、/etc/shadow文件;系统会建立用户工作目录,并复制初始化配置文件到该目录。除非在命令行中使用-n选项,否则系统将为每个用户建立一个组群并加入到系统中。这种用法系统不会显示默认的参数和选项内容。,当使用中带-D命令选项时,要么显示当前系统默认的参数选项内容,要么通过命令行中设定的-g、-b、-e、-f、-s选项的内容来修改系统默认的选项内容。换句话说、这种用法只是显示或修改系统默认的参数和选项,它并不能真的添加用户。例如、执行以下命令#useradd D则可能显示:GROUP=100HOME=/homeINACTIVE=-1EX
21、PIRE=SHELL=/bin/bashSKEL=/etc/skel思考:如果执行useradd D g 200 s/bin/csh命令后,再次执行useradd D将显示什么?表3-5列出了useradd命令的选项和说明。,添加用户另一个常用的命令就是adduser 命令。在其他版本的Linux系统中,该命令是一个脚本程序,采用友好的交互方式,只要输入adduser回车、按系统提示信息的要求输入即可。使用者可以无需记忆复杂、繁多的参数选项,而是让使用者回答一系列的问题来设置新用户的各项信息,包括用户的密码等,使用较为方便。但在 Red Hat Linux 中,adduser命令则是usera
22、dd命令的符号连接,两者实际上是同一个命令;如果在/usr/sbin目录下执行ls l adduser命令,则可以看到它是连接到useradd命令。,3212 修改文件添加用户用 useradd 命令添加用户,实际上就是向/etc/passwd、/etc/shadow和/etc/group文件中写入信息。因此、该方法就是利用任意一个文本编辑器直接打开passwd等文件(在/etc 目录下)修改,passwd文件的每一行有7个域、且由冒号“:”分隔,每行就是一个用户的账户信息。若要添加用户,只要在文件中写入相应的条目。但是这种方法不会自动创建用户工作目录、不会自动修改shadow和group文件
23、,所以超级用户或系统管理员一定要记住为新用户创建相应的工作目录,并把一些必要的用户配置文件复制到该用户目录下;还要按规则修改shadow和group文件。采用这种方法(包括后面将要介绍的通过修改文件删除用户、修改属性)时,要求系统管理员必须对Linux系统非常熟悉,否则很容易漏掉一些操作,造成用户账户中数据的丢失或者无法正常使用。因此、建议初学者要慎重采用该方法。有关group文件的说明参见3.3节。,passwd 文件的格式:Login name:passwd:user ID:group ID:user full name:home directory:login shell每个域的具体含义
24、如下:Login name:用户向系统登录时输入的用户名。该用户名的命名规则是:只能字母、数字和下划线组成,而且只能以字母开始,虽然以下划线开始也能创建用户账户,但系统不允许登录;用户名的长度不超过32个字符,否则提示为无效的用户名;同一系统中用户名必须是唯一的。passwd:为了用户账户的安全,Linux系统对用户的口令和其他信息做了加密处理,并保存在/etc/shadow文件中;因此在passwd文件的passwd域不会明文显示口令,只是以字符“x”表示该用户存在登录口令;如果用户账户在创建时没有口令,则该域为空。,user ID:是系统内部识别用户的标识,Linux把用户分为系统用户和普
25、通用户,一般系统用户由系统进程、服务守护进程和超级用户等组成,分配给它们的用户ID一般在099之间,普通用户的ID默认从500开始递增、最大可以到60000。除非在用useradd命令添加用户时使用了-r参数选项,否则添加的都是普通用户;如果使用了-o参数选项,则用户的ID并非是唯一的,可能几个用户有相同的用户ID,但系统把它们看成是同一个用户。User ID默认值的设置在/etc目录下的login.defs文件中。group ID:用户所属组群的标识,其含义与用户ID类似;用户组ID的默认值也是从50060000。Group ID默认值的设置在/etc目录下的login.defs文件中。,u
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 用户 登录 账户 管理

链接地址:https://www.31ppt.com/p-5438077.html