第一篇:Linux命令行界面下的用户和组的管理
Linux命令行界面下的用户和组的管理
groupadd创建用户组:
# groupadd [-g gid [-o]] [-r] [-f] group
参数:
-g gid: group’s ID 值.除非使用-o 参数不然该值必须是唯一,不可相同.数值不可为负。预设为最小不得小于500而逐次增加。0~999 传统上是保留给系统帐号使用。
-r 此 参数是用来建立系统帐号。的 UID 会比定义在系统档上/etc/login.defs.的 UID_MIN 来的小.注意 useradd 此法所建立的帐号不会建立使用者目录,也不会在乎纪录在 /etc/login.defs.的定义值.如果你想要有使用者目录须额外指定。
-m 参数来建立系统帐号。这是 RED HAT 额外增设的选项。它会自动帮你选定一个小于999 的 gif 不需要 再加上-g 参数。这是RED HAT 额外增设的选项。
-f 新增一个已经存在的群组帐号,系统会出现错误讯息然后结束groupadd.如果是这样的情况,不会新增这个群组(如果 是这个情况下,系统不会再新增一次)也可同时加上
-g 选项当你加上一个gid,此时 gid 就不用是唯一值,可不加-o 参数,建好群组后会显结果.例子:
1.创建一个GID为5400,组名为testbed的用户组
2.再次创建一个GID为5401,组名为testbed的用户组,由于组名不唯一,创建失败
3.使用-f 和-o 选项,系统不提示信息,由于组名不唯一,创建仍然失败
4.创建一个GID为5400,组名为supersun的用户组,由于GID不唯一创建失败
5.使用-f 选项,创建成功,系统将该GID递增为5041
6.综合使用-o 和-f 选项,则创建成功,系统将该GID仍然设置为5401
groupmod修改用户组属性:
# groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]
参数:
-g gid :群 组 I D 值。必 须 为 唯 一 的 ID 值,除 非 用-o 选 项。数 字 不 可 为 负 值。预 设 为 最 小 不 得 小 于 99 而 逐 次 增 加。0~99 传 统 上 是 保 留 给 系 统 帐 号 使 用。如 果 有 档 案 使 用 旧 的 群 组 ID,而 这 时 候 你 新 增 的 群 组 ID 恰 好 与 旧 的 相 同,这 样 的 话 你 要 手 动 改 一 下 这 些 档 案 的 群 组 ID。
-o:配合上面的-g选项使用,可以设定不唯一的组ID值。
-n group_name:
更 改 群 组 名。
例子:
1.将testbed的名称改为testbed-new
2.将testbed-new的GID改为5404
3.将组testbed-new的GID改为5405,名称改为testbed-old
groupdel删除用户组:
# groupdel [群组名称]
说明:
需要从系统上删除群组时,可用groupdel指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
例子:
#cat /etc/group ===》查看用户组信息
#删除用户组
====》 mysql用户组还存在用户,所以不能删除。
------------------------------useradd添加用户:
# useradd [-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]
[-m [-k skeleton_dir] |-M] [-s shell]
[-u uid [-o]] [-n] [-r] login
参数:
新帐号建立当不加-D参数,useradd指令使用命令列来指定新帐号的设定值and使用系统上的预设值.新使用者帐号将产生一些系统档案,使用者目录建立,拷备起始档案等,这些均可以利用命令列选项指定。
此版本为RedHatLinux提供,可帮每个新加入的使用者建立个别的group,毋须添加-n选项。useradd可使用的选项为-ccomment新帐号password档的说明栏。-dhome_dir新帐号每次登入时所使用的home_dir。
预设值为default_home内login名称,并当成登入时目录名称。
-e expire_date 帐号终止日期。日期的指定格式为MM/DD/YY。
-f inactive_days 帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能,预设值为-1
-g initial_group group名称或以数字来做为使用者登入起始群组(group)。群组名须为现有存在的名称。群组数字也须为现有存在的群组。预设的群组数字为1。
-G group,[...] 定义此使用者为此一堆groups的成员。每个群组使用“,”区格开来,不可以夹杂空白字元。群组名同-g选项的限制。定义值为使用者的起始群组。
-m 使用者目录如不存在则自动建立。如使用-k选项skeleton_dir内的档案将复制至使用者目录下。然而在/etc/skel目录下的档案也会复制过去取代。任何在skeleton_diror/etc/skel的目录也相同会在使用者目录
下一一建立。The-k同-m不建立目录以及不复制任何档案为预设值。
-M 不建立使用者目录,即使/etc/login.defs系统档设定要建立使用者目录。
-n 预设值使用者群组与使用者名称会相同。此选项将取消此预设值。
-r 此参数是用来建立系统帐号。系统帐号的UID会比定义在系统档上/etc/login.defs.的UID_MIN来的小。注意useradd此用法所建立的帐号不会建立使用者目录,也不会在乎纪录在/etc/login.defs.的定义值。如
你想要有使用者目录须额外指定-m参数来建立系统帐号。这是REDHAT额外增设的选项。
-s shell 使用者登入后使用的shell名称。预设为不填写,这样系统会帮你指定预设的登入shell。
-u uid 使用者的ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为最小不得小于999而逐次增加。0~999传统上是保留给系统帐号使用。改变预设值当-D选项出现时,useradd秀出现在的预
设 值,或是藉由命令列的方式更新预设值。可用选项为∶
-b default_home 定义使用者所属目录的前一个目录。使用者名称会附加在default_home后面用来建立新使用者的目录。当然使用-d后则此选项无效。
-e default_expire_date 使用者帐号停止日期。
-f default_inactive 帐号过期几日后停权。
-g default_group 新帐号起始群组名或ID。群组名须为现有存在的名称。群组ID也须为现有存在的群组。
-s default_shell 使用者登入后使用的shell名称。往后新加入的帐号都将使用此shell.如不指定任何参数,useradd显示目前预设的值。注记系统管理者有义务在/etc/skel目录下放置使用者定义档。
实例:
1.创建一个用户名为jack,描述信息为Jack,用户组为testbed,登录shell为 /bin/sh,登录主目录为 /home/jack 的用户。
2.该用户设置密码。
3.创建一个用户名为waston,描述信息为Waston,用户组为testbed,登录shell为 /bin/sh,登录主目录为 /home/waston,用户ID为4800,帐号过期日期为2013.1.30
usermod修改用户信息:
# usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s
参数:
-c 更改 /etc/passwd 第5栏用户信息说明的部分,后面接描述信息,可以使用 chfn 命令替代
-d 更改 /etc/passwd 第6栏用户的家目录部分,如果再加上-m 参数(只与-d配合)。则会将现有家目录的地址重命名为新的家目录地址,如原来没有指定家目录地址,则为账号新建一个指定的家目录地址。
-e 更改 /etc/shadow 的第8栏账号的失效日期,后面接日期参数格式为 MM/DD/YY 或 YYYY-MM-DD
-f 更改 /etc/shadow 的第7栏账号过期宽限时间部分,当后面接的值为 0 时,账号立即失效,为-1 时关闭此功能默认值为-1
-g 后面接 group name 必须是现有 group 组中的一个,改变用户的初始化用户组 id 对应 /etc/passwd 的第4栏内容
-G 后面接 group name 必须是现有 group 组中存在的组名,改变用户能够支持的用户组,修改的是 /etc/group
-l 后面接账号名称,即更改用户名。对应的是 /etc/passwd 的第一栏
-s 后面接shell的实际文件,即 /bin/bash ,/bin/csh之类,可以使用 chsh 命令替代
-u 更改用户的UID,对应的是 /etc/passwd 的和3栏数据,此 UID 不能与目前系统中已经存在的UID相同
-L 暂将用户的密码冻结,禁止其登录,即更改 /etc/shadow 的密码栏,在其前面加上!
-U 暂将用户的密码解冻,即去掉其 /etc/shadow 密码栏前面的!
实例:
1.将waston的组改为mysql,用户ID改为5600
2.将jack的用户名改成honey-jack,登录shell改成 /bin/ash,用户描述改为 honey-jack
userdel删除用户:
# userdel [-r][用户帐号]
参数:-r 删除用户登入目录以及目录中所有文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
第二篇:实验四 Linux下用户和组的管理
实验四
Linux下用户和组的管理、磁盘限额 一.实验目的:
1. 掌握在Linux系统下利用命令方式实现用户和组的管理; 2. 掌握利用Linux-conf进行用户和组的管理; 3. 掌握磁盘限额的实现方法。二.实验内容:
1. 用户和组的管理; 2. 磁盘限额。三.实验步骤: 1.用户的管理
创建一个新用户user01,设置其主目录为/home/user01:#useradd –d /home/user01-m user01 查看/etc/passwd文件的最后一行,看看是如何记录的。
查看文件/etc/shadow文件的最后一行,看看是如何记录的。
给用户user01设置密码:#passwd user01。
再次查看文件/etc/shadow文件的最后一行,看看有什么变化。
使用user01用户登录系统,看能否登录成功。
锁定用户user01:#passwd-l user01。
查看文件/etc/shadow文件的最后一行,看看有什么变化。
再次使用user01用户登录系统,看能否登录成功。
解除对用户user01的锁定:#passwd-u user01 更改用户user01的帐户名为user02:#usermod –l user02 user01。
查看/etc/passwd文件的最后一行,看看有什么变化。
删除用户user02。2.组的管理
创建一个新组,stuff:#groupadd stuff。
查看/etc/group文件的最后一行,看看是如何设置的。
创建一个新帐户user02,并把他的起始组和附属组都设为stuff:#useradd –g stuff –G stuff user02。
查看/etc/group文件中的最后一行,看看有什么变化。
给组stuff设置组密码:#gpasswd stuff。
在组stuff中删除用户user02:#gpasswd –d user02 stuff。
再次查看/etc/group文件中的最后一行,看看有什么变化。
删除组stuff。
3.用Linux-conf创建用户和组
进入X-Window图形界面。
在终端中输入userconf命令,启动Linux-conf的用户管理子程序,在打开的界面中练习用户、组的设置。
4.磁盘限额
启动vi来编辑/etc/fstab文件。
把/etc/fstab文件中的home分区添加用户和组的磁盘限额。
用quotacheck命令创建aquota.user和aquota.group文件:#quotacheck-guva 给用户user01设置磁盘限额功能:#edquota-u user01。
将其blocks的soft设置为4000,hard设置为5000;inodes的设置为4000,hard设置为5000。编辑完成后保存并退出。
重新启动系统。
用quotaon命令启用quota功能:#quotaon –ugva。
切换到用户user01,查看自己的磁盘限额及使用情况。尝试复制大小分别超过磁盘限额软限制和硬限制的文件到用户的主目录下,检验一下磁盘限额功能是否起作用。
第三篇:labview用户登录界面和温度报警超限课程设计
北华大学
虚拟仪器课设设计专班
业:
测控技术与仪器
级:
08-1班22号
学生姓名:
谭雨成指导教师:
付伟
目录
1引言...........................................................................................3 2 系统设计及实现.....................................................................3 2.1 登录界面设计.................................................................3 2.2系统详细设计..................................................................4 2.2.1系统初始化...................................................................4 2.2.2 身份验证程序实现......................................................4 3前面板设计如下图..................................................................7 4程序框图如下...........................................................................8 5 心得体会..................................................................................9 6 参考文献................................................................................10
LabVIEW用户登陆系统设计
1引言
大多数LabVIEW程序需要设计用户登录系统,它的主要优点 :①有效保护私 有数据。因为大多数LabVIEW程序针对工业测控领域,有必要对整个系 统 的各种配置参数、硬件设施等做出保护 ;②保护程序本身,设置软件使用权限,可以将非专业操作人员“拒于”系统之外,避免由于使用者误操作引起的系统崩溃。
系统设计及实现
2.1 登录界面设计
登陆界面力求简介、明了。程序一运行,鼠标焦点自动指向用户名输入栏,按 Tab键可以导航至密码输入栏。点击确定按钮后,可进入主程序,点击退出,则退出该系统,界面见图3所示。
图登录界面设计
2.2系统详细设计 2.2.1系统初始化
程序开始运行,主要完成2个初始化任务 :①清空用户名和密码输入栏 ;②鼠标焦点指向用户名输入栏。2.2.2 身份验证程序实现
用户点击“确定”按钮后,程序将会搜索数据库中是否存在用户名和密码输入栏输入的内容,如果存在,则登陆成功,否则将返回错误提示;搜索数 据库中指定的用户名以及显示对应密码,程序如图4所 示。
图 4 搜索用户登录.vi 程序框图
执行完此语句将会返回数据库中所有包括“UserName”的行,索引数组的作用是索引出其对应的ID和密码。然后将此密码与用户输入密码进行比较,如相同,则登陆成功,进入主程序界面,并关闭用户登录界面;否则,返回 错误提示,如图5所示。
如果数据库中无法索引到对应的用户名或者密码不正确,程序将返回错误提示,如图 7和图8 所 示。
图 7密码错误显示
图8 用户名错误显示
此时,将弹出对话框提示信息,并清空用户名密码输入栏,鼠标焦点重新指向用户名输入栏,等待用户再次输入。至此,一个基本的用户登录系统已经实现,用户通过修改主程序路径来将本身嵌入到大型应用程序当中。
LABVIEW温度超限报警监测器设计
题目要求:做一个温度超限报警监测器,当温度超过报警上限,而且开启报警时,报警灯量,同时显示当前超限温度,当前时间,以及报警次数。
3前面板设计如下图
4程序框图如下 心得体会
本次课程设计完成用户登录界面设计和温度超限报警设计,都是基于虚拟仪器的Labview8.6软件的设计。课程设计圆满结束了,对于我经过努力所得的结果,我感到非常满意。由于平时大家都是学理论,没有过实际开发设计的经验,虽然上课的时候讲过很多关于LabVIEW的应用,但课后也从没真正地应用过这个软件,对它一点都不熟悉,拿到的时候都不知道怎么做。但通过电脑对LabVIEW进行了几天的摸索学习,我终于把课程设计做好了,并发现其实LabVIEW很简单,很实用。通过这次课程设计我基本学会了虚拟仪器设计的步聚和基本方法,提高了动手能力,增强了理论联系实际的能力,也培养和发展了同学之间的感情,对此我感到非常欣慰。总之,在这次课程设计中我受益匪浅。
在这个课程设计中,我真正的感受到了虚拟仪器的优越性,“软件即仪器”,仅仅在Labview上写入一些图形程序,就可以实现相应的仪器的功能,只需要借助一台计算机,一个LabVIEW软件,就可以实现很多仪器的功能,真的好方便,好伟大啊!这真的是仪器界的一场伟大的革命,可以断定不久的将来虚拟仪器之风将刮到世界上每个角落。通过这次设计实践。我总结了使用LabVIEW编程的两个要点。第一,熟悉每个控件的用途、使用方法和在软件中的位置。LabVIEW有这么多控件,有这么单元,如果我们不知道每个单元是用来干什么的,那就根本谈不上应用它们了,只有在知道这个空间是做什么用的,我们才会去使用它。知道需要用到某个单元,但是不知道怎么使用,怎么连线,这也是很让人郁闷的事,所以我们得熟悉一些基本单元的用法。要想很快地做成一个虚拟仪器,就得熟悉每个单元所在的位置,以免在使用过程中找半天找不到它在哪个菜单中。第二,对于虚拟仪器设计来说,因果朔源的设计方法是一种比较好的设计方法,知道要做什么,知道需要哪些单元,我们就添加那些单元,按需求增添元件。
课程设计的过程中,我遇到了不少的问题,但最终我终究还是战胜困难,取得了成功,当然其中很大一部分功劳都要归功于指导老师和同学们,要不是没有指导老师的指导和与同学们的相互交流学习,我的课程设计肯定不会如此轻松。在此,我非常感谢我的指导老师和同学们。同时也感谢学校给我们提供了这样好的实验平台和良好的实践机会。参考文献
[1] 陈锡辉.LabVIEW 8.60程序设计从入门到精通[M].北 京:清华大学出版社,2007.[2] Jeffrey Travis.LabVIEW 大学实用教程[M].乔瑞萍,译.北京 :电子工业出版社,2008.[3] Jon Conwy.软件工程方法在LabVIEW中的应用[M.]罗宵,译.北京:清华大学出版社,2006.
第四篇:Linux的用户和组群管理
二、Linux的用户和组的管理实验步骤
1.桌面环境下,单击主菜单系统设置用户和组群菜单,进行用户与组群的添加、修改、删除操作,注意理解修改用户时,口令信息中各设置参数的含义。
添加:单击工具栏-添加用户,在弹出的”创建新用户”窗口中输入用户名
修改:直接双击该用户,在弹出的窗口中直接进行修改;
删除:在用户管理器里面选中需要删除的用户,直接单击删除按钮,会询问“直接删除主目录?”,点击确定既可。
2.用户管理器显示所有的用户的信息,并利用搜索过滤器查找所有以s开头的用户。
3.用groupadd命令创建一名为czn组群,并指定其GID为600.4.用useradd命令创建chf用户,并指定其主要组群为czn,用户ID为600。
5.用id命令查看chf用户的UID、GID修改情况。
6.用passwd命令修改root、chf用户的密码。
修改根root的密码:修改chf的密码:
7.用vi打开passwd、shadow、group、gshadow文件,熟悉文件中各项的含义。打开passwd:
vi /etc/passwd 打开shadow:
vi /etc/shadow 打开group:
vi /etc/group 打开gshadow:
vi /etc/gshadow 8.用passwd命令删除chf用户密码,并尝试以chf用户登录,看看是不需要密码。
不需要密码进入用户
而进入原先设置密码的root就需要输入密码后方能进入:
9.用passwd命令锁定和解锁chf用户,并尝试以chf用户登录,看看是否能登录。命令:passwd –l chf 锁定之后不能登陆用户chf
Passwd –u chf 解锁后能够登陆用户chf 10.用usermod命令修改chf用户,使其用户名为chen,UID为601.命令:usermod –l chen chf 修改用户名
Usermod –u 601 chen
11.用groupmod命令修改czn组群,使其组群名为czn1,用id chen 命令查看变化情况。
修改组群名:groupmod –n czn1 czn
查看:id chen
12.用groupmod命令修改czn组群,使其GID为601,用id chen 命令查看变化情况。
修改GID:groupmod –g 601 czn
查看:id chen 13.创建test1,test2用户,查看/home文件夹下目录情况。
创建用户:Useradd test1
Useradd test1
查看:vi/home home下多了用户test1和test2 14.用userdel test1与userdel –r test2删除两个用户并查看/home文件夹的变化情况。
执行以上命令后发现:使用userdel test1并不删除test1的主目录,而userdel –r test2删除了主目录
15.在root状态下,用su chen和 su – chen 命令分别切换到chen用户注意对比命令提示符的区别。并分别以root和chen身份尝试vi /etc/shadow 命令。
后者不仅在chen的用户下,而且在chf的路径下。
以chen的身份,没有足够的权限读取/etc/shadow的内容,只有超级用户才有。
16.利用newusers命令批量添加10个用户,要求用户名为stu1~stu10,uid从701~710。
1、编辑用户信息文件,保存文件名为stu.txt
2、利用命令newusers 一条一条输入 17.利用chpasswd命令批量修改以上10个用户的密码。每个用户的密码为用户名。 1、创建用户口令文件,保存名字为password.txt 2、利用命令chpasswd 第六章 管理用户和组群 Linux是一个多用户的网络操作系统,任何一个用户要获得Linux系统的使用授权,都要首先拥有一个用户账户。用户和组群的管理是系统管理员的重要工作之一。本章主要介绍用户和组群的基础知识,使用命令行工具管理用户和组群的方法等。 6.1 认识用户和组群 在网络操作系统中,每个用户对应一个账户。用户账户是用户的身份标识,通过账户用户可以登录到某个计算机上,并且访问已经被授权访问的资源。因此可以认为,用户账户是用户的通行证。用户账户可以帮助操作系统实现系统资源的访问控制,实现必要的安全控制功能。 RHEL5.4安装完成后,系统已经建立了一些特殊用户账户,其中最重要的是超级用户root。root用户可以执行所有的管理任务,可以不受限制的执行任何操作。为使普通用户可以在Linux系统中工作,应该由超级用户为普通用户创建允许登录系统的普通用户账户。基于安全的考虑,建议超级用户也为自己建立一个用来处理一般事务的普通账户,只有必要的时候才使用root身份操作。 组群是具有共同特性的用户的逻辑集合,使用组群有利于系统管理员按照用户的特性组织管理用户,提高工作效率。有了组群,在做资源授权时可以把权限赋予某个组群,组群中的成员即自动获得这种权限。一个用户账户可以同时是多个组群的成员,其中某个组群为该用户的主组群,其他族群为该用户的附属组群。 下面列出用户与组群有关的一些概念: 用户名:用来标识用户的名称,可以是字母、数字组成的字符串,区分大小写 密码:用户验证用户身份的特殊验证码 用户标识(UID):用来表示用户的数字标识符,系统根据UID来识别用户 用户主目录:用户的私人目录,也是用户登录后默认所在的目录 登陆shell:用户登陆后默认使用的Shell程序,默认是/bin/bash 组群:具有相似属性的用户所属于的一个逻辑组 组群标识(GID):用来表示组群的数字标识符,系统那个根据GID来识别组群 root用户的UID为0,普通用户的UID默认从500开始顺序编号,除非管理员在创建用户账号时同时指定UID选项。在Linux系统中,创建用户账户的同时一般也会建立一个与用户名同名的组群,该组群为用户的主组群。普通组群的GID也从500开始编号。 6.2 管理用户账户 管理用户账户和组群可以使用图形化工具或者命令行工具,也可以通过直接修改系统配置文件来实现,这几种方法都会将用户和组群信息保存在配置文件中并没有本质区别。6.2.1 与用户有关的配置文件 Linux系统中的用户账户信息保存在/etc/passwd文件中,为了使用户口令更安全,一般将口令加密后与其他口令信息一起存放在/etc/shadow文件中。生成新账户时默认使用的参数在/etc/login.defs文件中配置,另外生成新用户时会从/etc/skel目录中复制默认用户配置文件到新用户的主目录中。 1、考察/etc/passwd文件 Linux系统中用户管理用户账户的文件是/etc/passwd,该文件中包含了系统中所有用户的基本信息。系统使用每个用户账户唯一的UID来识别用户,配置文件/etc/passwd给出了UID与用户名及其他信息之间的对应关系。每个用户账户在passwd文件中占用一行,并且用“:”分成7个域。每一行的形式如下: 用户名:加密的口令(占位符):UID:GID:用户的全民或描述:主目录:登陆Shell 下面是passwd文件的部分内容示例,其中第一行是root用户的信息。 现在的类Unix系统,都不在/etc/passwd文件中存放口令,而是将口令经过加密后存放在/etc/shadow文件中。所以在passwd文件的口令域中只能看到一个“x”标志。 2、考察/etc/shadow文件 /etc/shadow文件对系统的所有用户都是可读的,这样的好处是每个用户都可以知道系统上有哪些用户,但缺点是其他用户的口令容易受到攻击。所以现在Linux系统使用投影口令格式,将用户的口令信息存储在另一个文件/etc/shadow中,该文件只有超级用户root可以读取,因而安全性大大提高。 shadow文件保存投影加密之后的口令以及与口令有关的一系列信息。每个用户的信息在shadow文件中占用一行,并且用冒号“:”分为9个域,每个域的内容如下: 用户登录名 加密后的用户口令(若为空,表示该用户不需口令亦可登陆) 最近一次口令被修改的日期(相对日期,从1970年1月1日至修改时的天数) 口令最短存活期(口令在多少天内不能被修改) 口令最长存活期(口令在多少天后必须被修改) 口令过期前几天提醒用户更换口令 口令过期后几天账户被禁用 口令被禁用的具体日期(相对日期,从1970年1月1日至禁用时的天数) 保留域,用于未来的扩展功能 下面是shadow文件的部分内容示例: 3、考察/etc/login.defs文件 建立用户账户时会根据/etc/login.defs文件的配置设置用户账户的某些选项。该配置文件的实例如下所示。 4、考察/etc/skel目录 /etc/skel/目录是生成用户配置文件的模板目录,每当新建立一个用户时,系统会拷贝一份此目录内的文件到用户的宿主目录中。 我们新建一个用户,其宿主目录的内容: 6.2.2 使用命令行工具管理用户 使用命令行工具可以很快捷的完成用户管理任务,只是需要记忆一些选项和参数。可以使用useradd命令添加用户账户,格式为: useradd [options] 其实,useradd命令还有一个链接命令:adduser命令,它是useradd命令的一个符号链接。用户可根据习惯记忆选择。 useradd命令的常用选项有: -c comment:用户全名或描述 -d home-dir:指定用户主目录 -e date:禁用账户的日期,格式为YYYY-MM-DD -f days:口令过期后,账户禁用前的天数 -g group-name:用户所属主组群的组群名称或GID -G group-list:用户所属的附属组群列表,多个项目用逗号分开 -m:若主目录不存在则创建它 -M:不创建用户主目录 -n:不为用户创建用户私人组群 -r:创建UID小于500的不带主目录的系统账户 -p:加密的口令 -s:指定用户登录Shell,默认是/bin/bash -u UID:指定用户的UID,它必须是唯一的,且大于499 当确定不再使用某个账户时,可以删除该账户。删除账户可以使用userdel命令,格式为: userdel [-r] passwd命令的常用选项如下: -l:锁定(停用)用户账户 -u:解锁用户账户 -d:将用户的口令设置为空,这与未设置口令的账户不同。未设置口令的用户账户是无法登陆系统,而口令为空的账户则可以。对于已经创建的用户,我们可以使用usermod命令来修改用户账户的属性,格式为: usermod [options] 选项中不同的有:“-L”为禁用账户,“-U”为启用账户。 可以看出,使用“-L”选项禁用账户后,其实就是在其加密后的密码前加了“!”符号。 6.2.3 用户工作环境设置 新用户登录进系统后,会通过一系列的配置文件构造自己的工作环境。这些配置文件有全局的,对所有用户都生效;也有用户的个人设置,只对用户个人生效。这些文件均使用Shell脚本语言写成。 当为新用户创建主目录时,系统会在新用户的主目录下创建一份/etc/skel目录下所有文件的副本,用来构造新用户的工作环境。系统管理员也可以通过编辑/etc/skel目录来标准化用户的初始主目录结构。 常用的用户工作环境配置文件如下: /etc/profile:系统全局环境设置和启动程序 /etc/bashrc:系统定义的函数和命令别名 /etc/inputrc:与键盘和输入相关的设置 /$HOME/.bash_profile:用户的环境设置和启动程序 /$HOME/.bashrc:用户自定义的函数和命令别名 /$HOME/.bash_history:用户所执行的Shell命令的历史记录 /$HOME/.bash_logout:用户注销时执行该文件中的命令 用户的个人环境配置文件存放在用户的主目录中,而且是隐藏文件,可使用ls –l命令查看。 以下是/etc/profile文件的部分内容: 该文件前半部分用户设置PATH变量,即用户执行命令时的默认搜索路径。文件的后半部分分别设置USER、LOGNAME、MAIL、HOSTNAME、HISTSIZE、INPUTRC等环境变量,并使用export命令输出这些变量。最后通过一个循环语句,执行/etc/profile.d/目录中的所有的.sh文件。 另一个重要的环境配置文件是bashrc,包括全局的/etc/bashrc和用户主目录的.bashrc。以root用户的个人配置为例,下面是/root/.bashrc文件的默认内容: 在上例中,首先使用alias命令定义常用命令的别名,对于这些定义过别名的命令,用户可以执行命令的别名而不是完整的命令及选项。文件末尾使用一个判断语句判断/etc/.bashrc是否存在且是否为普通文件,如果符合条件就执行该文件。 .bash_history文件存放用户执行过的Shell命令,用户可以使用键盘上的上下方向键浏览命令历史,也可以使用history命令列出该命令历史,这对提高用户使用Shell命令的效率有好处。命令历史的尺寸通过/etc/profile文件中的HISTSIZE变量进行设定。 .bash_logout文件存放用户注销时要执行的Shell命令,通常只有一个clear命令,以保证用户注销时清除屏幕内容。 6.3 管理组群 组群账户的基本信息存放在/etc/group文件中,而关于组群管理的信息(组群口令、组群管理员等)则存放在/etc/gshadow文件中。 6.3.1 与组群有关的配置文件 1、考察/etc/group文件 Linux系统中用户管理组群账户的文件是/etc/group。每个组群账户在group文件中占用一行,并且用冒号“:”分为4个域,每一行的形式如下: 组群名称:组群口令:GID:组群成员列表 下面是group文件的部分内容: 在/etc/group文件中,用户的主组群并不把该用户作为成员列出,只有用户的附属组群才会把该用户作为成员列出。 2、考察/etc/gshadow文件 /etc/gshadow文件用于存放组群的加密口令。每个组群账户在gshadow文件中占用一行,并用冒号“:”分为4个域,每一行的形式如下: 组群名称:加密后的组群口令:组群的管理员:组群成员列表 下面是gshadow文件的部分内容: 6.3.2 创建和管理组群 组群的管理与用户账户的管理类似,可使用GUI界面的管理,也可使用命令行工具来管理。使用groupadd命令添加组群: groupadd [options] -g GID:创建指定组群的GID,必须是唯一的且大于499 -r:创建GID小于500的系统组群 也可以使用usermod、gpasswd命令修改用户所属的组群。例如要将用户lilin加入到root组群中,可使用命令: 或者 也可以将用户从某个附属组群中删除: 要删除某个组群,可以使用groupdel命令。 需要注意的是:如果要删除的组群是某个用户账户的主组群,只要该用户存在,那么该组群就不能删除。 还可以为组群指定一个管理员,组群管理员可以使用“gpasswd –a”命令向组群中添加用户账户,也可以使用“gpasswd –d”命令从组群中剔除用户。例如要将用户lilin设置为组li123的管理员,可以使用以下命令: 运行以上命令后,用户lilin就具有了管理组群li123的能力。 6.4 其他账户管理命令 因为root用户的特殊性,通常不建议常规性的工作也使用root账户进行登录。Linux系统的管理员除了使用root账户以外,通常还拥有一个普通用户账户,平常管理员应该使用普通用户账户登录系统。当需要对系统执行一些普通用户没有权限执行的操作时,可以使用su命令临时改变身份为root用户。普通账户改变身份为root账户时需要输入root账户的口令,而root账户临时改变身份为普通账户时则无须输入口令。例如要从root身份改变为lilin身份,只需运行以下命令: 正是由于可以使用su命令临时改变用户身份,有时Linux用户可能会搞不清楚自己当时的账户身份。这时可以使用id命令进行查看。id命令会告诉当前用户的准确身份。 从上面返回的信息可以看到,root用户的UID是0,主组群的GID是0,所属的附属组群包括root、bin、daemon、sys等。另外使用“id –u”命令可以只返回账户的UID信息,使用“id –un”命令可以返回账户的登录名称。 从上图能看到,命令“id –un”与命令“whoami”结果相同。本章实验: 实验一:在RHEL5.4系统中建立2个新用户,分别为新用户指定宿主目录、登陆Shell、主组群及附属组群;为其设置口令并登陆系统,查看账号文件的内容。然后删除其中一个账户,并将宿主目录一起删除。 完成标准: 1、能够添加用户账号并设置口令 2、能够添加用户组账号 3、能够在添加用户账号时设置用户所属的组 4、能够删除用户账号 本章练习题: 填空题: 1、使用()命令可以修改现有用户的信息。 2、要修改用户user的密码可使用命令()。 选择题: 1、要删除用户user并同时删除该用户的主目录,可以使用命令()A、userdel user B、deluser user C、userdel –r user D、deluser –r user 2、为了保证系统的安全,现在的Linux系统一般将/etc/passwd文件加密后,保存为(文件。 A、/etc/group B、/etc/netgroup C、/etc/libsafe.notify D、/etc/shadow 3、使用()命令可以打开RHEL5.4中的图形界面用户管理工具。 A、redhat-config-users B、system-config-users C、config-user D、user-manager 简答题: 1、简述/etc/passwd文件中各个字段的含义 2、简述/etc/shadow文件中各个字段的含义)第五篇:第六章 管理用户和组群