06LINUX用户管理.docx

上传人:b****3 文档编号:4865414 上传时间:2022-12-11 格式:DOCX 页数:12 大小:132.69KB
下载 相关 举报
06LINUX用户管理.docx_第1页
第1页 / 共12页
06LINUX用户管理.docx_第2页
第2页 / 共12页
06LINUX用户管理.docx_第3页
第3页 / 共12页
06LINUX用户管理.docx_第4页
第4页 / 共12页
06LINUX用户管理.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

06LINUX用户管理.docx

《06LINUX用户管理.docx》由会员分享,可在线阅读,更多相关《06LINUX用户管理.docx(12页珍藏版)》请在冰豆网上搜索。

06LINUX用户管理.docx

06LINUX用户管理

LINUX用户管理

  

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个惟一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

  

一、相关的基本概念

1、用户(user)的概念

    Linux用户分为三类:

超级用户(root)、专有用户、普通用户 。

超级用户该帐号为系统管理员帐号,对系统有安全的控制权,可以对系统进行任何设置和修改。

专有用户创建这类用户可用来完成特定任务的,如以对系统的某些文件进行管理,它们针对某些文件有较高的操作权力。

如ftp管理用户等等。

普通用户可登陆Linux进行某些使用操作,它们不属于超级用户和专用用户。

安装好linux后,系统默认的帐号为root。

2、用户组(group)的概念

    用户组(group)就是具有相同特征的用户(user)的集合体;Linux下,每个文件又属于一个用户组。

当创建一个文件或目录时,系统会赋予它一个用户组关系,chgrp命令可以改变文件的组关系。

    比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的。

    举例:

我们为了让一些用户有权限查看某一文档,比如是一个时间表,而编写时间表的人要具有读写执行的权限,我们想让一些用户知道这个时间表的内容,而不让他们修改,所以我们可以把这些用户都划到一个组,然后来修改这个文件的权限,让用户组可读,这样用户组下面的每个用户都是可读的。

3、工作目录与用户主目录

    用户在登录到Linux系统中之后,每时每刻都处在某个目录之中,此目录被称做工作目录或当前目录(WorkingDirectory)。

工作目录是可以随时改变的。

用户初始登录到系统中时,其主目录(HomeDirectory)就成为其工作目录。

工作目录用“.”表示,其父目录用“..”表示。

    用户主目录是系统管理员增加用户时创建起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。

root用户的主目录是/root,登陆后提示符是[root@工作目录]#。

其它用户用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同,登陆后提示符是[用户名@工作目录]$。

二、Linux系统用户账号的管理

  用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。

刚添加的账号是被锁定的,无法使用。

1、添加新的用户账号(useradd命令)

语 法:

useradd[选项]用户名

使用方式:

useradd[-mMnr][-c<备注>][-d<登入目录>][-e<有效期限>][-f<缓冲天数>][-g<群组>][-G<群组>][-s][-u][用户帐号]

功能说明:

可用来建立用户帐号。

帐号建好之后,再用passwd设定帐号的密码,在建立用户帐号同时默认在/home/下建立了上个同名的用户主目录。

使用useradd指令所建立的帐号保存在/etc/passwd文本文件中。

参  数:

 -c<备注> 加上备注文字。

备注文字会保存在passwd的备注栏位中。

 

 -d<登入目录> 指定用户登入时的启始目录。

 -D 变更预设值.

 -e<有效期限> 指定帐号的有效期限。

 -f<缓冲天数> 指定在密码过期后多少天即关闭该帐号。

 -g<群组> 指定用户所属的群组。

 -G<群组> 指定用户所属的附加群组。

 -m 自动建立用户的登入目录。

 -M 不要自动建立用户的登入目录。

 -n 取消建立以用户名称为名的群组.

 -r 建立系统帐号。

 -s  指定用户登入后所使用的shell。

 -u 指定用户ID。

例子说明  

  代码:

#useradd–d/usr/sam-msam

  此命令创建了一个用户sam,如下图:

  其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。

  

2、删除帐号userdel命令

语  法:

userdel选项用户名

使用方式:

userdel[-r][用户帐号]

功能说明:

userdel可删除用户帐号与相关的文件。

若不加参数,则仅删除用户帐号,而不删除相关文件。

参  数:

  -f 删除用户登入目录以及目录中所有文件。

常用的选项是-r,它的作用是把用户的主目录一起删除。

例如:

代码:

#userdelsam如下图:

说明:

此命令删除用户sam在系统文件中(主要是/etc/passwd,/etc/shadow,/etc/group等)的记录,同时删除用户的主目录。

3、用户口令的管理passwd命令

  用户管理的一项重要内容是用户口令的管理。

用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

语  法:

passwd[选项][用户名]

使用方式:

passwd[-k][-l][-u[-f]][-d][-S][username]

功能说明:

用来更改使用者的密码 

参  数:

  -l锁定口令,即禁用账号。

  -u口令解锁。

  -d关闭使用者的密码认证功能,使用者在登入时将可以不用输入密码,只有具备root权限的使用者方可使用。

  -f强迫用户下次登录时修改口令。

  -s显示指定使用者的密码认证种类,只有具备root权限的使用者方可使用。

 

说明:

普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

  为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

4、显示登录用户信息

语  法:

who[选项]

使用方式:

who-[husfV][user]

说  明:

显示系统中有那些使用者正在上面,显示的资料包含了使用者ID,使用的终端机,从那边连上来的,上线时间,呆滞时间,CPU使用量,动作等等。

参  数:

  -h:

不要显示标题列

  -u:

不要显示使用者的动作/工作

  -s:

使用简短的格式来显示

  -f:

不要显示使用者的上线位置

  -V:

显示程序版本

5、显示用户的ID

语  法:

id[选项][用户名称]

使用方式:

id[-gGnru][--help][--version][用户名称]

功能说明:

显示用户的ID,以及所属群组的ID。

补充说明:

id会显示用户以及所属群组的实际与有效ID。

若两个ID相同,则仅显示实际ID。

若仅指定用户名称,则显示目前用户的ID。

参  数:

 -g或--group显示用户所属群组的ID。

 -G或--groups显示用户所属附加群组的ID。

 -n或--name显示用户,所属群组或附加群组的名称。

 -r或--real显示实际ID。

 -u或--user显示用户ID。

 -help 显示帮助。

 -version 显示版本信息

6、显示当前终端(或控制台)上的用户名

语  法:

whoami[选项]

使用方式:

whoami[--help][--version]

功能说明:

显示自身的用户名称,本指令相当于执行"id-un"指令。

参  数:

 --help 在线帮助。

 --version显示版本信息。

三、Linux系统用户组的管理

  每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。

不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

  用户组的管理涉及用户组的添加、删除和修改。

组的增加、删除和修改实际上就是对/etc/group文件的更新。

1、增加一个新的用户组

语  法:

groupadd[选项]组名

使用方式:

groupadd[-ggid][-o]][-r][-f]groupname

功能说明:

本命令用于将新组加入系统。

主要参数

  -ggid:

指定组ID号。

  -o:

允许组ID号,不必惟一。

  -r:

加入组ID号,低于499系统账号。

  -f:

加入已经有的组时,发展程序退出。

应用实例

建立一个新组,并设置组ID加入系统:

代码:

#groupadd-g344cjh

此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。

代码:

#groupaddgroup1

  此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。

  

2、删除一个已有的用户组

语  法:

groupdel[群组名称]

使用方式:

groupdel[群组名称]

功能说明:

需要从系统上删除群组时,可用groupdel指令来完成这项工作。

倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

代码:

#groupdelgroup1

  此命令从系统中删除组group1。

3、修改用户组的属性

语  法:

groupmod[选项]用户组

使用方式:

groupmod[-g<群组识别码><-o>][-n<新群组名称>][群组名称]

功能说明:

更改群组识别码或名称。

需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。

主要参数

  -gGID为用户组指定新的组标识号。

  -o与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。

  -n新用户组将用户组的名字改为新名字

代码:

#groupmod-g102group2

  此命令将组group2的组标识号修改为102。

代码:

#groupmod–g10000-ngroup3group2

  此命令将组group2的标识号改为10000,组名修改为group3。

以上三个命令可由桌面系统完成:

第一步:

打开“用户管理器'"窗口如下图:

第二步:

选择用户并设置属性,如下图:

第三步:

选择用户组并设置属性,如下图:

四、su和sudo命令

1、 名称:

su

使用方式:

su[-fmp][-ccommand][-sshell][--help][--version][-][USER[ARG]]

说  明:

变更为其他使用者的身份,除root外,需要键入该使用者的密码

参  数:

  -f或--fast不必读启动档(如csh.cshrc等),仅用于csh或tcsh

  -m-p或--preserve-environment执行su时不改变环境变数

  -ccommand或--command=command变更为帐号为USER的使用者并执行指令(command)后再变回原来使用者

  -sshell或--shell=shell指定要执行的shell(bashcshtcsh等),预设值为/etc/passwd内的该使用者(USER)shell

  --help显示说明文件

  --version显示版本资讯

  --l或--login这个参数加了之后,就好像是重新login为该使用者一样,大部份环境变数(HOMESHELLUSER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定USER,内定是root

  USER欲变更的使用者帐号

  ARG传入新的shell参数

例:

su-clsroot变更帐号为root并在执行ls指令后退出变回原使用者。

  suroot-f变更帐号为root并传入-f参数给新执行的shell。

  su-clsung变更帐号为clsung并改变工作目录至clsung的家目录(homedir)

2、 名称:

sudo

  “Sudo”是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他特许用户才能完成的任务,比如:

运行一些像mount,halt,su之类的命令,或者编辑一些系统配置文件,像/etc/mtab,/etc/samba/smb.conf等。

这样以来,就不仅减少了root用户的登陆次数和管理时间,也提高了系统安全性。

(1)sudo的特点

 sudo扮演的角色注定了它要在安全方面格外谨慎,否则就会导致非法用户攫取root权限。

同时,它还要兼顾易用性,让系统管理员能够更有效,更方便地使用它。

sudo设计者的宗旨是:

给用户尽可能少的权限但仍允许完成他们的工作。

所以,sudo有以下特点:

  1.sudo能够限制指定用户在指定主机上运行某些命令。

  2.sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。

  3.sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。

它默认的存放位置是/etc/sudoers。

  4.sudo使用时间戳文件来完成类似“检票”的系统。

当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。

超时以后,用户必须重新输入密码。

2.sudo命令

  sudo程序本身就是一个设置了SUID位的二进制文件。

我们可以检查一下它的权限:

   $ls-l/usr/bin/sudo

   ---s--x--x2rootroot10683202-1217:

41/usr/bin/sudo

  它的所有者是root,所以每个用户都可以像root那样执行该程序。

设置了SUID的程序在运行时可以给使用者以所有者的EUID。

这也是为什么设置了SUID的程序必须小心编写。

但是设置一个命令文件的SUID和用sudo来运行它是不同的概念,它们起着不同的作用。

  sudo的配置都记录在/etc/sudoers文件中,我们下面将会详细说明。

配置文件指明哪些用户可以执行哪些命令。

要使用sudo,用户必须提供一个指定用户名和密码。

注意:

sudo需要的不是目标用户的密码,而是执行sudo的用户的密码。

如果不在sudoers中的用户通过sudo执行命令,sudo会向管理员报告这一事件。

用户可以通过sudo-v来查看自己是否是在sudoers之中。

如果是,它还可以更新你的“入场券”上的时间;如果不是,它会提示你,但不会通知管理员。

sudo命令格式如下:

  sudo-K|-L|-V|-h|-k|-l|-vsudo[-HPSb][-aauth_type][-cclass|-][-pprompt][-uusername|#uid]{-efile[...]|-i|-s|command}

 下面我们再来看一下sudo其它常用的一些参数:

    选项    含义作用

 sudo-hHelp   列出使用方法,退出。

 sudo-VVersion 显示版本信息,并退出。

 sudo-lList   列出当前用户可以执行的命令。

只有在sudoers里的用户才能使用该选项。

 sudo-uusername|#uidUser以指定用户的身份执行命令。

后面的用户是除root以外的,可以是用户名,也可以是#uid。

 sudo-kKill   清除“入场卷”上的时间,下次再使用sudo时要再输入密码。

 sudo-KSurekill与-k类似,但是它还要撕毁“入场卷”,也就是删除时间戳文件。

 sudo-bcommandBackground在后台执行指定的命令。

 sudo-ppromptcommandPrompt可以更改询问密码的提示语,其中%u会代换为使用者帐号名称,%h会显示主机名称。

非常人性化的设计。

 sudo-efileEdit不是执行命令,而是修改文件,相当于命令sudoedit。

还有一些不常用的参数,在手册页sudo(8)中可以找到。

3.配置sudo

 配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。

之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。

所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。

  visudo默认的是在vi里打开配置文件,用vi来修改文件。

我们可以在编译时修改这个默认项。

visudo不会擅自保存带有语法错误的配置文件,它会提示你出现的问题,并询问该如何处理,就像:

  >>>sudoersfile:

syntaxerror,line22<<

  此时我们有三种选择:

键入“e”是重新编辑,键入“x”是不保存退出,键入“Q”是退出并保存。

如果真选择Q,那么sudo将不会再运行,直到错误被纠正。

  现在,我们一起来看一下神秘的配置文件,学一下如何编写它。

让我们从一个简单的例子开始:

让用户sx01可以通过sudo执行所有root可执行的命令。

以root身份用visudo打开配置文件,可以看到类似下面几行:

   #Runasaliasspecification

   #UserprivilegespecificationrootALL=(ALL)ALL

 root有所有权限,只要仿照现有root的例子就行,在下面加一行(最好用tab作为空白):

   sx01ALL=(ALL)ALL

 保存退出后,切换到sx01用户,我们用它的身份执行命令:

 [foobar@localhost~]$ls/root

   ls:

/root:

权限不够

 [foobar@localhost~]$sudols/root

    Password:

 显示/root目录内容。

五、与用户账号有关的系统文件

  完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。

与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd,/etc/shadow,/etc/group等。

下面分别介绍这些文件的内容。

1、/etc/passwd

  本文件是用户管理工作涉及的最重要的一个文件。

Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。

这个文件对所有用户都是可读的。

  由于/etc/passwd文件是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是/etc/shadow文件。

只有超级用户才拥有该文件读权限,这就保证了用户密码的安全性。

2、/etc/shadow

  本文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。

它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用“:

”隔开。

3、/etc/group

  用户组的所有信息都存放在本文件中。

  将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。

每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。

当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。

用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。

用户组的所有信息都存放在/etc/group文件中。

此文件的格式也类似于/etc/passwd文件,由冒号隔开若干个字段。

文件格式:

组名:

口令:

组标识号:

组内用户列表

  1)“组名”是用户组的名称,由字母或数字构成。

与/etc/passwd中的登录名一样,组名不应重复。

  2)“口令”字段存放的是用户组加密后的口令字。

一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。

  3)“组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。

  4)“组内用户列表”是属于这个组的所有用户的列表/b,不同用户之间用逗号(,)分隔。

这个用户组可能是用户的主组,也可能是附加组。

实例如下图:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1