欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    linux用户登录与账户管理.ppt

    • 资源ID:5438077       资源大小:1.32MB        全文页数:136页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    linux用户登录与账户管理.ppt

    第三章 用户登录与账户管理,Linux作为多用户、多任务的操作系统,其系统资源是所有用户共享的。任何要使用系统资源者必须先在系统内登记、注册,即开设用户账户,该账户包含用户名、口令、所用的shell、使用权限等等;为了计算机系统的安全,Linux会对每一个要求进入系统的用户验证他们的用户名和口令,如果验证通过则用户登录成功,否则系统拒绝登录。,31 用户登录,根据用户在本地终端还是通过网络登录Linux系统,分为用户的终端登录和远程登录。这里的网络可以是局域网,如学校计算机实验室;也可以是网际网,如Internet。311 终端登录当成功启动系统后,如果系统运行级为5,则登录时会看到如图3-1所示界面;如果运行级为3,则登录时会看到如图3-2所示界面。用户必须先后输入用户名、口令才可以登录Linux系统。,图3-1运行级5的登录界面,图3-2运行级3的登录界面,如果以超级用户的root账户登录,则终端提示符为#。如果以普通用户登录,则终端提示符为$。在 Linux 系统中超级用户拥有最高权限,例如、可以删除、修改系统中所有的目录和文件;而且在命令方式下删除的内容是不可恢复的。为了系统安全、避免由于误操作带来的损失,建议若非系统管理需要,一般不要以超级用户的root账户登录。Linux系统提供了六个虚拟控制台终端,每个虚拟终端都可以登录系统。这六个虚拟终端之间用组合键Ctrl+Alt+Fx进行切换,Fx表示F1到F6键。如果系统运行级是5,则任何时候要返回到图形界面只要按Ctrl+Alt+F7即可。,312 远程登录 所谓“远程登录”是指用户在某一台计算机上通过网络登录其他联网的计算机系统,使用该系统中的资源,如执行命令、查找文件等,以达到资源共享的目的。相互连通的计算机可以是处于同一个局域网、城域网和广域网,甚至世界上任何一台连接到Internet的计算机。当用户发出远程登录请求时,Linux系统会像在本地终端登录一样要求用户输入用户名和口令;一旦登录成功,如果你有足够的权限、你的计算机就像远程哪台计算机的终端一样,你通过键盘所发出的命令,就会在该远程计算机上执行、执行的结果会通过网络显示在你的显示器上。,在Linux操作系统中,实现远程登录的命令主要有:telnet、rsh、rlogin和ssh,它们要在系统提供相应服务的基础上使用;换句话说、要使用远程登录必须先开启所用远程登录命令对应的服务,例如、要使用telnet命令就要先开启系统的telnet服务。一般这些系统服务没有必要全部开启,这样既浪费系统资源、造成运行速度降低又可能留下安全隐患,可以根据实际使用哪些命令来开启相关的系统服务。有关系统服务的查看、开启和关闭请参阅第二章的有关章节。本章仅仅介绍远程登录的使用,不涉及远程登录的安全问题。,3121 telnet命令telnet命令是最常用的远程登录命令,但是它只能在基于终端的环境下使用,即要么在虚拟控制台终端上使用、要么在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).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/homezxjlocalhost home$lslost+found zxjzxjlocalhost home$logoutonnection closed by foreign host.,在这个示例中,使用telnet命令远程登录到IP地址为的计算机上;当连接成功后显示Linux的发行版本号和内核版本号,并要求用户输入用户名和口令。如果用户超过一定的时间没有输入,则系统自动断开连接。如果用户输入的用户名和口令正确,则登录系统成功并自动进入该用户目录。这时用户的计算机就像远程计算机的一个终端,根据用户所拥有的权限就可以执行相应的命令。例如、切换到根目录下、执行ls命令时会看到在远程计算机上显示的目录和文件就像在自己计算机终端上登录的一样。当完成所需要的操作后,使用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列出了telnet命令的选项和说明。,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 从rlogin命令的完整用法可以看到,该命令中的rhost参数是必需的,代表远程主机名或IP地址;其他的是命令选项且是可选的。表3-2列出了rlogin命令的选项和说明。该版本的rlogin命令与低版本的rlogin命令在选项个数和功能上有较大的差别。,3123 rsh命令rsh命令用来启动远程计算机上的shell并让该shell执行权限范围内指定的命令。基本用法:$rsh host command其中,host是你要登录到的远程计算机的名字或IP地址,而command为要远程计算机shell执行的命令。如果省略了参数command,则rsh命令将调用rlogin命令登录到远程计算机上。完整用法:低版本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命令还将远程计算机上的标准输出复制到本地计算机的标准输出中、将远程计算机上的标准错误输出复制到本地计算机的标准错误输出中,因此在本地计算机上就可以看到远程计算机上命令执行的情况。此外、rsh命令还将本地计算机的中断、退出和终止信号传送到远程计算机,以控制远程计算机上命令的执行。当指定的命令在远程计算机上执行完时,rsh命令就正常终止。,在rsh命令中,如果shell元字符没有用引号括起来,则表示对本地计算机进行操作;如果用引号括起来,则表示对远程计算机进行操作。所谓元字符是指对shell而言有特殊意义的字符,如*、?、|、;、localfile表示在远程计算机上用cat命令查看远程计算机上的remotefile文件,并采用附加重定向元字符重定向到本地计算机的localfile文件。如果命令中的元字符加上引号,如下:rsh host cat remotefile“”otherremotefile表示在远程计算机上用cat命令查看远程计算机上的remotefile文件,并采用附加重定向到远程计算机host的otherremotefile文件。,3124 ssh客户端命令ssh(SSH 客户端)是一个为实现在远程计算机上登录,并在其上执行命令的程序。由于rlogin 和rsh命令的安全性问题,它们将被ssh命令代替。ssh可以在不安全网络上的两台非信任(不可靠)的计算机之间提供安全的加密通信;X11连接和任意的TCP/IP 端口也能在安全的信道上转发。ssh 命令建立连接并在日志文件中记录指定的主机名。用户必须采用几种方法中的一种向远程计算机证明自己的身分,这几种方法依赖于所使用的协议版本。,基本用法: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_file-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、建立时间、权限等信息。用户账户管理包括:添加用户、设置口令、删除用户、修改用户属性和权限等。因此、账户管理是系统管理员重要的日常工作之一。,321 添加用户超级用户的账户在Linux系统安装时已经创建了,但超级用户的权限太大不适合给普通用户使用,否则会对Linux的系统安全造成威胁;因此,所有要使用Linux操作系统所管理资源的普通用户都要向超级用户或拥有超级用户权限的系统管理员申请一个用户账户,以便登录系统。这对于超级用户或系统管理员而言就是添加用户。添加用户的方式既可以在字符终端下,也可以在图形界面下。本节先介绍字符终端下的添加用户方法,这种方式也有多种方法,如使用终端命令、修改配置文件、编写shell脚本程序等。,3211 终端命令添加用户添加用户最常用的命令就是useradd 命令,该命令的参数和选项很多;早期的版本中该命令建立的用户账户没有设置用户的口令,必须在账户建好后再用passwd命令设置口令,但在Red Hat Linux9.0中对该命令做了修改,增加了-p passwd参数,无论是否使用-p参数系统都默认调用crypt函数自动生成一个随机的初始口令,锁住该账户以禁止用户访问。当然、超级用户或系统管理员也可以用该参数取消初始口令,把设置口令的工作由新用户自己来完成。使用useradd命令所建立的用户账户信息实际上保存在/etc/passwd文本文件中,而加密的用户账户信息则保存在/etc/shadow文件中。,基本用法:useradd-d home_dir-s shell 用户名该命令中用户名参数是必需的,-d home_dir选项和-s shell选项是可选的;如果不使用可选项,则系统自动用默认值。默认的用户工作主目录是/home/用户名,即Linux系统会自动在/home目录下创建一个以用户名命名的目录作为用户的工作主目录,并向该目录复制.bash、.logout、.bash、.profile、.bashrc、.gtkrc文件和.kde目录;系统默认用户使用的shell是bash。例如、如下的命令将添加一个名为zxj的新用户:#useradd zxj该用户的工作主目录为默认的目录,使用的shell也是默认的;如果用户不想要默认的设置,则必须在命令中明确指定-d和-s参数。,完整用法: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命令用命令行中指定的值和系统默认的值来建立一个用户账户。该账户信息会添加到系统相应的文件中,如/etc/passwd、/etc/shadow文件;系统会建立用户工作目录,并复制初始化配置文件到该目录。除非在命令行中使用-n选项,否则系统将为每个用户建立一个组群并加入到系统中。这种用法系统不会显示默认的参数和选项内容。,当使用中带-D命令选项时,要么显示当前系统默认的参数选项内容,要么通过命令行中设定的-g、-b、-e、-f、-s选项的内容来修改系统默认的选项内容。换句话说、这种用法只是显示或修改系统默认的参数和选项,它并不能真的添加用户。例如、执行以下命令#useradd D则可能显示:GROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/bashSKEL=/etc/skel思考:如果执行useradd D g 200 s/bin/csh命令后,再次执行useradd D将显示什么?表3-5列出了useradd命令的选项和说明。,添加用户另一个常用的命令就是adduser 命令。在其他版本的Linux系统中,该命令是一个脚本程序,采用友好的交互方式,只要输入adduser回车、按系统提示信息的要求输入即可。使用者可以无需记忆复杂、繁多的参数选项,而是让使用者回答一系列的问题来设置新用户的各项信息,包括用户的密码等,使用较为方便。但在 Red Hat Linux 中,adduser命令则是useradd命令的符号连接,两者实际上是同一个命令;如果在/usr/sbin目录下执行ls l adduser命令,则可以看到它是连接到useradd命令。,3212 修改文件添加用户用 useradd 命令添加用户,实际上就是向/etc/passwd、/etc/shadow和/etc/group文件中写入信息。因此、该方法就是利用任意一个文本编辑器直接打开passwd等文件(在/etc 目录下)修改,passwd文件的每一行有7个域、且由冒号“:”分隔,每行就是一个用户的账户信息。若要添加用户,只要在文件中写入相应的条目。但是这种方法不会自动创建用户工作目录、不会自动修改shadow和group文件,所以超级用户或系统管理员一定要记住为新用户创建相应的工作目录,并把一些必要的用户配置文件复制到该用户目录下;还要按规则修改shadow和group文件。采用这种方法(包括后面将要介绍的通过修改文件删除用户、修改属性)时,要求系统管理员必须对Linux系统非常熟悉,否则很容易漏掉一些操作,造成用户账户中数据的丢失或者无法正常使用。因此、建议初学者要慎重采用该方法。有关group文件的说明参见3.3节。,passwd 文件的格式:Login name:passwd:user ID:group ID:user full name:home directory:login shell每个域的具体含义如下:Login name:用户向系统登录时输入的用户名。该用户名的命名规则是:只能字母、数字和下划线组成,而且只能以字母开始,虽然以下划线开始也能创建用户账户,但系统不允许登录;用户名的长度不超过32个字符,否则提示为无效的用户名;同一系统中用户名必须是唯一的。passwd:为了用户账户的安全,Linux系统对用户的口令和其他信息做了加密处理,并保存在/etc/shadow文件中;因此在passwd文件的passwd域不会明文显示口令,只是以字符“x”表示该用户存在登录口令;如果用户账户在创建时没有口令,则该域为空。,user ID:是系统内部识别用户的标识,Linux把用户分为系统用户和普通用户,一般系统用户由系统进程、服务守护进程和超级用户等组成,分配给它们的用户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文件中。,user full name:用户全名。该域实际上是对登录用户名的注释,该域的内容会被加到电子邮件地址的前面。例如、任何从该用户账户发送的电子邮件将在对方显示:“user full name”。home directory:该域是创建用户账户时设定的用户工作目录,用户在登录系统时自动进入该目录,用户建立的文件一般默认保存在该目录下。login shell:该域是创建用户账户时设定用户所使用的shell。所谓shell就是用户与操作系统内核之间的接口,是系统命令的解释程序。在Linux系统中有多种shell可供用户选择,例如,bash(GNU Bourne-Again Shell)、sh(Bourne Shell)、csh(C Shell)、ksh(Korn Shell)等等,但系统默认的shell是bash。虽然各种shell的基本功能相同,但有些命令只能在特定的shell下执行。,shadow文件的格式与passwd文件的格式是一样的,只不过除了用户名域没有加密外其他各个域都是加密保存的。为了更好地理解passwd和shadow文件的作用,学会如何通过修改配置文件添加用户;以下给出一个具体的passwd和shadow文件作为对比示例。passwd示例文件:root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdown.zxj:x:500:500:zxj:/home/zxj:/bin/bashzx:x:501:501:zx:/home/zx:/bin/bash,shadow示例文件:root:$1$cHa/5oEc$/yPWnS1ra4LuKyUMPQuTP1:13484:0:99999:7:bin:*:13484:0:99999:7:daemon:*:13484:0:99999:7:adm:*:13484:0:99999:7:lp:*:13484:0:99999:7:sync:*:13484:0:99999:7:shutdown:*:13484:0:99999:7:.zxj:$1$AipulblD$tgWgt13zBDMMXjUw1pQwB1:13484:0:99999:7:zx:$1$7JbYNEAF$mp7Cq8Afc3RBqHb0LFwNz1:13553:0:99999:7:从passwd和shadow示例文件可以看到:文件的每行有7个域,每个域之间用“:”分隔;每行就是一个完整用户账户信息;前面各行为系统用户、超级用户属于系统用户,它的用户ID和组ID都是0,超级用户的工作目录是/root。最后两行为添加的普通用户。本例省略了中间其他系统用户各行。对比这两个文件思考它们不同在哪里?,理解了这两个文件的格式及各个域的含义,通过修改它们来添加用户就非常容易。首先,手工添加时只要按规定的格式(各个域的顺序、分隔符)、以行为单位输入并保存即可,口令域可以不填、账户启用时由系统管理员或用户自己用passwd命令设置;用户ID和组ID只要按当前普通用户的UID和GID最高号数递增;另外,要创建用户工作目录、且目录名要与登录用户名相同,路径一般在/home目录下;shell可以根据需要选择,一般用/bin/bash即可。其次,在/etc/shadow文件中添加login_name:这一行。最后,还要在/etc/group文件中添加该用户组对应的行。,322 设置口令使用useradd命令添加用户时,如果使用-p“”参数选项,则还未设置口令,因此、为了安全,该账户在使用前还要设置口令。如果使用非-p“”参数选项,则系统自动生成的口令只是暂时禁止使用该账户,必需重新设置口令后普通用户才能使用该账户。设置口令既可以在字符终端下完成,也可以在图形界面下完成。,3221 口令设置规则口令设置的好与坏,直接关系到用户账户是否容易被入侵、用户工作目录的资料是否安全,如果是超级用户,则还关系到整个系统的安全。因此、设置口令是一项非常重要的工作。要设置一个好的口令,必须要注意:口令不要用:用户名字或宠物名 容易与用户相关联的任何东西,如生日、住址等。字典中的单词上面任何一个的倒序。与用户有关联的东西或它的倒序容易被猜中;字典中的单词或其倒序易遭暴力破解。口令要:有足够长度,每增长一位、被破解的可能性会降低几个数量级。用混有数字、特定字符的组合。用一些对自己容易记住,但是对别人又难以猜到的数字、字符组合。用输入较快的数字、特定字符的组合。不要记录下密码。经常改变密码。,3222 口令设置命令设置口令的命令是passwd,如果要用该命令为其他用户设置口令,则只能由超级用户或有超级用户权限的系统管理员才能完成;如果是普通用户会受到权限的限制则只能改变该用户自己的口令。基本用法:passwd user_name基本用法中的用户名如果省略,则设置的是当前已经登录用户的口令;如果设置的是新添加的用户,则必需指定该用户的用户名。例如、为新添加的用户x10设置口令:rootlocalhost/#useradd x10添加新用户账户rootlocalhost/#passwd x10设置新口令Changing password for user x10.系统显示为x10用户改变口令信息New password:提示输入新口令Retype new password:提示确认新口令passwd:all authentication tokens updated successfully.修改成功rootlocalhost/#,为新用户设置口令与为老用户改变口令在用法上没有什么的差别,只是系统显示的信息不同而已;例如、改变口令时的提示信息是要求输入当前的口令。在按提示要求输入口令时,如果口令太简单、例如只有数字或字母;或者口令长度太短、例如长度少于6个字符,则Linux系统为了账户安全都会拒绝接受并要求重新输入。注意:如果执行过pwunconv命令,则为新用户账户设置口令时系统会有错误提示信息,一定要再执行pwconv命令后才能设置;这种情况下用编辑器打开/etc/shadow文件时看不到任何信息。pwconv命令是开启用户的投影口令;pwunconv命令是关闭用户的投影口令。,完整用法:passwd-k-l-u-f-d-n mindays-x maxdays-w warndays-i inactivedays-S username其中、用户名参数的规则与该命令的基本用法相同;其他为命令选项。表3-6列出了passwd命令的选项和说明。,3223 应用举例参考示例1:某用户的登录名为x10,由于忘记了口令请求系统管理员帮助。解决方法之一:系统管理员以超级用户身份登录系统,执行:#passwd d x10#su x10再由该用户自己执行passwd命令,重新设置账户口令。解决方法之二:系统管理员以超级用户身份登录系统,执行:#vi/etc/passwd找到该用户在passwd文件中的记录行,删除口令域中的“x”标记并保存。执行:#su x10再由该用户自己执行passwd命令,重新设置账户口令。,参考示例2:某用户的登录名为x11,由于出差暂时离开请求系统管理员锁住账户。解决方法:系统管理员以超级用户身份登录系统,执行:#passwd l x11#exit待该用户出差返回后由系统管理员解锁,执行:#passwd u x11,323 成批添加用户作为系统管理员经常会遇到这样的问题,就是有连续、成批的用户要在系统中建立用户账户,例如、学校计算机实验室某个学期有某年级某班的几十名学生要通过网络远程登录到学校Lniux服务器进行shell编程实验。在这种情况下,如果采用useradd命令在服务器上添加学生账户,则只能一个一个地添加,不仅速度慢而且还容易出错。在Red Hat Linux9.0版本中提供了一个新的添加用户的命令newusers,利用它就可以实现快速、便捷地成批添加用户。当然、也可以编写shell脚本程序来实现,这将在第八章shell编程中介绍。,3231 newuser命令这个newusers 命令从一个文本文件中读取用户名和明文口令对,并用这些信息去更新若干已存在的用户组群或者去建立一些新的用户。该文本文件的每一行与标准的口令文件的每一行有相同的格式,但有以下例外。pw_passwd 加密后的口令域,该域将被加密并用作加密口令的新值。pw_age 代理信息域,如果用户已经存在,该域将会忽略影子口令。pw_gid 组群ID域,该域可以是现存组的名字,在这种情况下指定的用户将被添加为一个成员。如果给出一个不存在号数的组,则使用该号的新组将被建立。pw_dir 工作目录域,该域将作为一个目录实体检查、如果它不存在,则建立一个同名的新目录。该目录的所有权将由建立与更新它的用户设置。,要注意的是newusers命令所读取的文本文件必须妥善地保存,因为它包含有未加密的口令信息。命令用法:newusers new_users参数new_users是可选的、如果指定,则它是一个与passwd口令文件格式相同的文本文件,并由newusers命令读取它;如果不指定,则系统从标准输入设备上接受输入,输入的格式也必须按照passwd文件的格式,输入完成后以Ctrl+D结束返回系统提示符。在采用以下passwd文件格式时:Login name:passwd:user ID:group ID:user full name:home directory:login shell要特别注意passwd域,如果指定该域,则它是以明文形式存在(在所读取的文本文件中或终端输入时)的口令;如果不指定该域,则新建立的用户账户口令是系统随机自动生成的,必须由超级用户或系统管理员删除口令或重新设置口令,这可以用下一小节将要介绍的chpasswd命令进行口令的成批更新。,3232 应用示例问题提出:要在学校计算机实验室的Linux服务器上建立1个班(50人)的学生账户,为每个学生分配登录用户名、口令、UID、GID、用户工作目录和登录所用的shell。问题分析:显然,对于这个问题最好的解决方法就是成批地创建用户账户。解决方法:首先,编辑一个passwd文件格式的、包含所有要创建用户账户信息的文本文件;把该文件命名为n_user.txt保存。参考文件如下:jb040101:stu0401:701:701:/home/jb040101:/bin/bashjb040102:stu0401:702:702:/home/jb040102:/bin/bashjb040103:stu0401:703:703:/home/jb040103:/bin/bash.jb0401049:stu0401:749:749:/home/jb040149:/bin/bashjb0401050:stu0401:750:750:/home/jb040150:/bin/bash最后,执行命令:#newusers n_user.txt一次性完成了50个学生账户的建立,这里n_user.txt文件中的口令stu0401就是以后学生登录系统的初始口令,登录后自己可以再修改;虽然这里是以明文形式存在,但在Linux的/etc/passwd和/etc/shadow文件中都已经是加密的。,324 成批修改口令在成批地添加了用户后,可能还要成批地修改用户账户的口令。例如、在用newuser命令和用户信息文本文件添加用户时没有指定口令域,则必须重新设置口令用户才能登录系统。在Red Hat Linux9.0版本中提供了一个新的修改用户口令的命令chpasswd,利用它就可以实现快速、便捷地成批修改用户口令。,3241 chpasswd命令这个chpasswd 命令从标准输入设备上读取由用户名和口令对组成的文件,并用这些信息去更新已存在的用户组群。该文件中每行的格式为:user_name:password要注意的是chpasswd命令所读取的文件必须妥善地保存,因为它包含有未加密的口令信息。另外、指定的用户必需存在。命令用法:chpasswd-e参数选项-e是可选的,如果不指定该参数选项,则改变后的口令就是chpasswd命令所读取文件中password域的明文信息,但在Linux系统中的/etc/passwd和/etc/shadow文件中显示的是已经加密的口令;如果指定该参数选项,则改变后的口令就是chpasswd命令所读取文件中password域明文信息的加密形式,但在Linux系统中的/etc/shadow文件中显示的是原口令的明文信息,由于加密是系统随机生成口令,所以一般不用带-e参数选项。由于该命令是从标准输入设备上读取文件,所以可以采用从键盘输入或者采用文件输入重定向。如果用键盘输入,则输入的格式也必须按照“user_name:password”的格式,输入完成后以Ctrl+D结束返回系统提示符。,3242 应用示例问题提出:更改上一小节应用示例中50名学生账户的口令。问题分析:显然,对于这个问题最好的解决方法就是成批地修改用户账户口令。解决方法:首先,编辑一个文本文件,它只要包含所有要修改口令的用户的用户名和新口令,每行对应一个用户;把该文件命名为n_uspw.txt保存。参考文件如下:jb040101:stujsjjb040102:stujsjjb040103:stujsj.jb0401049:stujsjjb0401050:stujsj最后,执行命令:#chpasswd n_uspw.txt一次性完成了50个学生账户口令的修改,这里n_uspw.txt文件中的口令stujsj就是以后学生登录系统的初始口令,登录后自己可以再修改。注意、如果采用-e参数选项,则学生就无法用stujsj口令登录系统了,因为系统是把stujsj加密后作为口令。,325 删除用户如果某个用户已永久地从系统中撤离,则为了系统的安全系统管理员要及时删除该用户账户和相关的目录与文件;如果只是暂时撤离,则只要用passwd l login_name命令把该用户账户锁住或者在passwd 文件的口令域x字符前加上个“*”或“!”即可。3251 终端命令删除删除用户账户使用userdel 命令,该命令包含两部分的操作。第一、删除/etc/passwd文件中的用户账户信息;第二、删除对应于该账户的系统配置文件和该账户的工作目录。这两部分可以同时完成也可以分开完成,只是取决于是否使用命令的参数选项。,命令用法:userdel-r login_name参数说明:login_name是用户登录系统的用户名。命令选项-r表示递归删除该用户的工作目录及该目录下的所有子目录和文件。如果选项-r不指定,则只是删除了该用户的账户信息,而保留该用户的工作目录及该工作目录下的所有子目录和文件;除非该用户的工作目录要保留给其他用户使用,否则最好不要这样。如果某个用户当前已经登录系统,则不允许用userdel命令删除这个用户的账户。,3252 修改文件删除由于用户的账户信息是记录在/etc/passwd和/etc/shadow文件中的,所以直接删除这些文件中该用户的账户信息行也可以达到删除用户账户的目的,如果再手动删除用户工作目录,则就完整地删除了该用户。首先,删除/etc/passwd和/etc/shadow文件中该用户对应的行。其次,用rm fr命令强制递归地删除该用户的工作目录及目录下的所有子目录、文件。最后,还要在/etc/group文件中删除该用户组对应的行。,326 修改用户属性从添加、删除用户命令可以看到,实际上添加或删除用户其中一项就是添加或删除用户的账户信息,而这些账户信息就是用户的属性。用户有时会提出修改登录的用户名、加入别的组群或使用其他的shell等要求,作为系统管理员要能根据用户合理的要求作出必要的修改,以使用户能方便、有效地使用系统。修改用户属性可以采用终端命令方式也可以采用修改配置文件的方式。,3261 终端命令修改修改用户属性的终端命令是usermod,该命令的用法与useradd命令很类似,参数选项也有很多是相同的。这里仅就与useradd命令不同的参数部分进行说明。其他的参数选项请参考useradd命令的参数选项说明。命令用法:usermod-c comment-d home_dir-m-e expire_date-f inactive_time-g initial_group-G group,.-l login_name-p passwd-s shell-u uid-o-L|-U login该命令除了能修改用户属性外,还可以对用户账户口令进行加/解锁处理。如果某个用户当前已经登录系统,则不允许用usermod命令修改这个用户的属性。,表3-7列出了usermod命令的部分选项和说明,其他参见表3-5。,应用示例1:将用户登录名tc01改为ta01,用户工作目录改为/home/ta01,所属组群改为root。执行命令:#usermod d/home/ta01 m g root l ta01 tc01注意:如果没有-m参数,则不会在/home目录下建立ta01用户工作目录,登录系统时会提示没有工作目录!。应用示例2:使ta01用户的口令无效。执行命令:#usermod L ta01这个命令执行的效果与执行passwd l ta01命令的效果一样。,3262 修改passwd文件与修改文件添加、删除用户的原理一样,所以直接修改/etc/passwd和/etc/shadow文件中该用户的账户信息行也可以达到修改用户属性目的,如果修改了用

    注意事项

    本文(linux用户登录与账户管理.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开