linux以root用户身份登录30页.docx
- 文档编号:7220358
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:20
- 大小:323.39KB
linux以root用户身份登录30页.docx
《linux以root用户身份登录30页.docx》由会员分享,可在线阅读,更多相关《linux以root用户身份登录30页.docx(20页珍藏版)》请在冰豆网上搜索。
linux以root用户身份登录30页
以root用户身份登录
如果您遵循我们的RedHatLinux7.1、RedHatLinux7.2或SuSELinux7.3安装技巧进行操作,那么在引导系统时应该会看到图形化的登录屏幕。
所显示的屏幕将因Linux分发版的不同而不同。
您将看到一个用于登录名的输入域,或者看到一个用于输入登录名的输入域和一个用于输入密码的输入域。
还有一个按钮,允许您关闭或重新引导系统,还可能会有一个允许选择桌面的按钮。
在本文中,我们将重点讨论KDE和GNOME桌面,但其它桌面(诸如fvwm2、windowmaker和twm)也都可以使用。
对于本文中的许多任务,您将使用特殊的登录名root。
root用户(有时也称为超级用户)通常是用于执行诸如配置系统或安装软件之类管理任务的用户。
仅当您需要执行管理任务时才使用root;执行普通任务时避免使用root。
root用户可以做任何事情,包括意外地破坏系统,这通常不是好事情。
普通用户的特权较少,因此系统可以免遭普通用户不经意的破坏。
应该在登录域输入您的登录名(如果指示您输入root,那么就输入root),然后按回车键。
您会看到密码提示,或者您需要将光标移动到密码输入域,这取决于您所拥有的登录提示的类型。
输入您的密码并再次按回车键,就应该完成了登录并看到您的桌面。
图1是您以root用户身份登录到SuSELinux7.3的KDE桌面时,可能看到的屏幕示例。
图2的示例是使用RedHatLinux7.2和GNOME桌面时可能看到的屏幕。
图1.以root用户身份登录到SuSELinux7.3的KDE桌面时的样本初始窗口
图2.以root用户身份登录到RedHatLinux7.2的GNOME桌面时的样本初始窗口
为了浏览桌面,请在图标上移动您的鼠标(但请尽量避免启动应用程序,除非您是以非root用户身份登录的)。
切换到惯用左手的鼠标用法
我们通常假定用户是一位惯用右手的用户,但您可以更改鼠标配置以便于左手使用。
此处,我们是在SuSELinux7.3系统上使用KDE桌面说明这一操作的。
首先,单击面板上的ControlCenter图标,如图3所示。
图3.KDEControlCenter图标
现在单击Peripherals项旁边的+号,然后单击Mouse项。
您将看到一个类似于图4的窗口,可以在其中更改鼠标设置。
如果您退出时没有应用任何更改,则会提示您是放弃更改还是应用它们。
图4.用来更改鼠标设置的KDE窗口
GNOME桌面具有类似的能力。
我们将在图5中说明如何通过主菜单使用它们,但您也可以从StartHere视图(请参阅图2)使用Preferences。
如图5所示,单击MainMenu,然后是Settings和Peripherals,最后单击Mouse。
图5.从GNOME主菜单使用鼠标设置
您应该看到一个类似于图6的窗口,可以在其中更改鼠标设置。
图6.用来更改鼠标设置的GNOME窗口
打开终端或shell窗口
您经常会需要打开终端或shell窗口。
这个窗口类似于Windows下的DOS命令提示符。
在KDE桌面上,有一个位于屏幕底部的KDE面板,类似于图7。
单击如图所示的shell图标。
在GNOME桌面上,您将看到类似于图8的面板。
图7.KDEshell图标
图8.GNOMEshell图标
所显示的shell窗口将取决于您的分发版和所选择的桌面。
要调整其大小,可以使用鼠标左键拖动窗口的角或边。
要滚动回最近的历史纪录,可以使用滚动条。
以#符号结尾的命令提示符,表明该shell的用户是root用户。
对于root以外的用户,命令提示符将以$符号结尾。
可以使用向上箭头重新调用前面的命令,如有必要可以对其进行修改。
图9显示了典型的KDEKonsoleshell窗口。
您可以使用Settings菜单来更改诸如窗口颜色和字体之类的设置。
图9.KDEKonsoleshell窗口
在图9中,我们显示了几条命令及其输出:
whoami
显示了谁正在使用这个终端窗口,在本例中是root。
pwd
打印当前工作目录的全名,在本例中是/root。
注:
命令提示符中#前面的颚化符号(~)表明该用户目前在他(或她)的主目录中。
cd
更改当前或工作目录。
我们将举例说明先更改到/(也称为根)目录,然后再更改到/tmp目录,/tmp目录通常用来存储临时文件。
请注意,/是整个文件系统的根,而/root是root用户的主目录。
在不带任何目录名的情况下使用cd,会使用户返回到主目录。
root用户以外的用户的主目录通常位于/home之下。
例如,我在某系统上的标识是ian,那么/home/ian就是我的主目录。
还记得颚化符号(~)么?
用户ian的主目录也可表示为~ian。
uname
不带参数时,将显示操作系统的名称:
Linux。
带-a参数时,则显示关于您系统的其它信息。
which
扫描PATH环境变量中的目录,如果您在shell提示符下输入命令,则显示要执行的可执行程序的完整路径。
在本例中,我们看到将从/usr/X11R6/bin/xclock运行xclock程序。
xclock
在您的桌面上启动一个带有时钟的新窗口。
请注意该命令末尾的&,它意味着命令处理器不等命令执行完就会将控制权交还给终端窗口。
还请注意这是该终端窗口所唤醒的第一个此类进程,其进程标识(PID)为4617。
ps
使用-T选项时,则显示该终端启动的所有进程。
在本示例中,bashshell程序正在等待输入(状态S表示睡眠),xclock进程也是如此。
ps命令正在运行(状态R表示可运行)。
您可能会觉得有用的其它一些命令包括:
infocmd_name
显示关于名为cmd_name的命令的信息。
尝试infoinfo以了解关于info文档系统的信息。
mancmd_name
是到关于名为cmd_name的命令的联机手册页的接口。
Linux中的一些信息是用info格式表示的,而一些信息只能以联机手册页的格式获得。
尝试manman以了解关于联机手册页的更多信息。
挂装CD-ROM
在Linux和UNIX系统上,所有文件都作为一棵大型树的一部分来访问,该树的根是/。
要访问CD-ROM上的文件,必需将CD-ROM设备挂装在文件树的某个挂装点上。
如果您的分发版安装了automount软件包,那么可能会自动为您完成这个步骤。
无论如何,您的安装过程都有可能为您做一些工作,使CD-ROM设备易于挂装。
这些步骤中的示例都是在使用KDE桌面的SuSELinuxSLES8系统上进行的,并将CD-RW驱动器挂装为/media/cdrecorder。
CD-ROM将被挂装为/media/cdrom。
在早期的SuSE系统上,您的CD驱动器可能被挂装为/cdrom。
在RedHatLinux7.3+系统上,您的CD可能挂装为/mnt/cdrom而不是/cdrom。
从终端窗口使用命令cat/etc/fstab来查看安装过程会将它挂装在哪里。
您将看到类似如下所示的几行输出:
/dev/hdc3/ext3defaults11
/dev/hda8swapswappri=4200
devpts/dev/ptsdevptsmode=0620,gid=500
proc/procprocdefaults00
usbdevfs/proc/bus/usbusbdevfsnoauto00
/dev/cdrecorder/media/cdrecorderautoro,noauto,user,exec00
/dev/fd0/media/floppyautonoauto,user,sync00
对于本示例,我们将使用SuSELinux7.3系统,稍后我们将指出它与RedHatLinux的差异。
通过研究三条命令及其输出,让我们了解如何将所有这些组合到一起:
清单1.挂装CD-ROM
echidna:
~#cat/etc/fstab
/dev/hda9/reiserfsdefaults11
/dev/cdrecorder/media/cdrecorderautoro,noauto,user,exec00
/dev/cdrom/media/cdromautoro,noauto,user,exec00
devpts/dev/ptsdevptsdefaults00
/dev/hda7/downloadext2defaults12
/dev/fd0/media/floppyautonoauto,user,sync00
proc/procprocdefaults00
usbdevfs/proc/bus/usbusbdevfsdefaults,noauto00
/dev/hda6/rh72ext2defaults12
/dev/hda1/windows/Cntfsro,noauto,user,umask=02202
/dev/hda5/windows/Dvfatnoauto,user02
/dev/hda8swapswappri=4200
echidna:
~#ls/
.bootdevfloppymediaprocsbinvar
..cdrecorderdownloadhomemntrh72tmpwindows
bincdrometcliboptrootusr
echidna:
~#ls-l/cdrom
lrwxrwxrwx1rootroot12Apr1909:
21/cdrom->/media/cdrom
echidna:
~#
cat命令复制并编写文件。
如果未提供输出文件,则输出被定向到标准输出,标准输出通常就是您的终端窗口。
Linux系统的许多设置都存储在/etc目录中。
在这些设置文件中有一个文件,它包含了关于文件系统的描述信息表。
清单1中的第三行输出表明:
CD-ROM设备(/dev/cdrom)将被挂装在/media/cdrom上,除非mount命令指定了其它位置。
Linux还有到目录和文件的快捷方式的概念,这些快捷方式称为符号链接。
SuSELinux为我们创建了一个符号链接,以便更容易地访问CD-ROM。
让我们使用ls命令来显示/目录的内容。
请记住/是文件系统的根,不应与/root混淆,/root是root用户的主目录。
从清单1中的输出可以看到/目录包含了名为cdrom的项。
现在我们再次使用ls命令,但带有-l(用于较长的输出)标志和名称/cdrom,以显示关于该项的更多信息。
从输出中日期和时间戳记后面的->,我们可以看出它是一个指向/media/cdrom目录的符号链接。
这意味着我们可以在原本使用/media/cdrom的任何地方使用/cdrom。
在挂装CD-ROM之前,您可能希望显示/cdrom目录的内容。
尝试输入ls/cdrom命令。
如果尚未挂装CD-ROM,您应该看到项.(/media/cdrom目录本身)和..(/media/cdrom的父目录-/media目录)。
通常您会将设备挂装在象/media/cdrom这样的空目录中。
如果您碰巧将设备挂装在包含了文件的目录上,那么除非卸装了已挂装的文件系统,否则您将无法看到那些文件。
您的数据还在那里,但您无法访问它。
最后,我们已准备好挂装CD-ROM了。
将光盘插入驱动器,关闭托盘,并输入mount命令:
echidna:
~#mount/cdrom
如果一切顺利,CD-ROM驱动器将旋转一会儿,然后返回到命令提示符。
那就对了!
请注意,您也可以输入这条命令以获取相同的结果:
mount/media/cdrom
一旦挂装了CD,就可以使用光盘上的文件,因为现在它们是您文件系统的一部分。
使用ls命令,可以显示SoftwareEvaluationKit的第1张光盘的内容:
清单2.显示SoftwareEvaluationKit的第1张光盘的内容
echidna:
~#ls/cdrom
.contents.discg2458531sg245850sg246228template.css
..db72pf5ug2458611sg245968sg246261wasi401u
autopp.inidevcong2458621sg245994sg246264
autorun.exeeclipswpg2458631sg246049sg246277
autorun.infg245141bindex.htmlsg246134sg246299
echidna:
~#
RedHatLinux的挂装差异
还记得我们先前提到的名为/etc/fstab的目录吗?
好的,它在RedHatLinux7.2上看上去可能如下所示:
清单3.显示/etc/fstab
LABEL=//ext3defaults11
none/dev/ptsdevptsgid=5,mode=62000
/dev/hda7/downloadext2defaults12
none/procprocdefaults00
none/dev/shmtmpfsdefaults00
/dev/hda8swapswapdefaults00
/dev/cdrom/mnt/cdromiso9660noauto,owner,kudzu,ro00
/dev/fd0/mnt/floppyautonoauto,owner,kudzu00
RedHat选择将CD-ROM设备挂装在/mnt/cdrom上而不是/media/cdrom上。
如果在root目录上输入ls/命令,您不会看到cdrom项。
RedHat安装没有象SuSE安装那样创建符号链接。
要创建指向/mnt/cdrom的名为/cdrom的符号链接,输入这条命令:
ln-s/mnt/cdrom/cdrom
要除去这个链接,输入rm命令:
rm/cdrom
如果RedHatautomount没有自动地为您挂装CD-ROM,那么可以使用mount命令:
mount/mnt/cdrom
或者,如果您创建了诸如/cdrom之类的符号链接的话,则可以用符号链接来替代它。
卸装并弹出CD-ROM
在挂装了CD-ROM之后,Linux会锁定CD,因此无法用“弹出(Eject)”按钮弹出它。
但是,当您不再需要该光盘时,如果您有/cdrom符号链接的话,可以使用umount/cdrom卸装它。
(请注意umount的拼写,在u后面没有n!
)仅当没有用户使用该光盘时,该命令才会成功,使用光盘的情形包括某个终端窗口以光盘上的目录作为其当前工作目录。
您也可以使用eject/cdrom来卸装文件系统并弹出光盘。
如果您没有创建符号链接/cdrom,那么可以使用umount/media/cdrom(SuSE)或umount/mnt/cdrom(RedHat)。
注销
要从SuSELinux7.3注销,单击StartApplication,然后注销,或只需单击图10中所示的面板上的注销图标。
图10.KDE注销图标
要从RedHatLinux7.2注销,单击MainMenu,然后单击Logout。
如果您愿意在面板上添加注销图标,那是很容易的事情。
在面板上某个位置单击鼠标右键,然后选择Panel->Addtopanel->Logoutbutton,如图11所示。
图11.添加GNOME注销图标
注销图标将被添加到您的面板,如图12所示。
图12.GNOME注销图标
想要确保终端不被注销,单击挂锁(padlock)图标锁定屏幕。
您将需要登录密码来解除屏幕锁定。
注:
在某些运行KDE的SuSE系统上,您可以锁定屏幕,但却不能用您的密码解除锁定。
第一次发生此类情况时,您可能必须关机然后重新启动。
要防止以后再出现此类情况,使/etc/pam.d中的kscreensaver与xscreensaver相同。
例如,如果您希望将现有的kscreensaver保存为kscreensaver.original,并希望确保新的kscreensaver与xscreensaver(kscreensaver从其复制而来)具有相同的时间戳记,那么请以root用户身份登录并使用下列命令:
cd/etc/pam.d
mvkscreensaverkscreensaver.original
cp-pxscreensaverkscreensaver
切换到另一个用户标识
您总是可以通过注销当前用户标识,然后以新的用户标识登录来切换到另一个用户标识。
但是如果您只需要以另一个用户身份运行几个快捷的命令,那要怎么办呢?
Linux以su(替代用户,substituteuser)命令的形式向您提供了解决方案,该命令允许您暂时以另一个用户身份运行命令。
这经常用于需要root访问权的任务。
实际上,如果您使用终端程序(如telnet)远程连接一个系统,那么许多Linux分发版会阻止您以root用户身份登录。
这是良好的安全性做法,我们建议您不要尝试绕开这种限制。
相反,您应该以非特权用户身份登录,然后使用su命令成为root。
那么,让我们假定您已经登录并正在使用终端窗口,而且您不是root用户,但需要以root用户身份运行一条命令。
用于这种情形的两种最常见的su形式是:
su
su-
第一种形式(不带-符号)只是将您切换成root,但没有更改包括路径在内的环境变量。
第二种形式使用了-符号,如果您确实喜欢输入额外的字母,也可以输入为-l或-login。
这允许读取替代用户的登录启动文件,从而设置诸如路径、环境和提示符之类的东西。
清单4显示了这两种形式在SuSE7.3系统上的示例。
在两个示例中,我们都使用了pwd(打印工作目录,printworkingdirectory)命令来显示当前工作目录。
请注意提示符是如何变化的。
如果您希望理解关于如何定制您自己的提示符,或想了解是什么使提示符以现在的形式显示的更多信息,请查阅“Promptmagic”技巧文章(developerWorks,2000年9月)。
清单4.切换到root用户
ian3@echidna:
~>su
Password:
echidna:
/home/ian3#pwd
/home/ian3
ian3@echidna:
~>su-
Password:
echidna:
~#pwd
/root
您会注意到必须提供密码以切换到root用户,这一点都不足为奇。
您还可以使用su命令切换到其它非root用户。
例如:
su-db2inst1
如果您已经是root用户,则无需提供密码,但如果您不是root用户,那么必须提供正确的密码。
如果您正在使用bashshell(它是大多数Linux系统上的缺省shell),要返回前一个标识,只要按下Ctrl-d或输入exit并按回车键。
以另一个用户身份使用GUI应用程序
您可能注意到了,我们在前一节中讨论su命令时,只运行了在终端窗口中显示输出的命令。
要能够运行GUI应用程序,您可能必须采取一些额外的步骤,具体步骤因Linux分发版而异。
Linux上的GUI应用程序使用XWindow系统(XWindowSystem),它旨在允许多个用户使用窗口化的应用程序通过网络访问计算机。
下列步骤适用于具有单个用户的Linux系统,但请记住XWindow系统的网络“本性”,这样就不会无意中开放系统,从而允许任意网络用户在您的系统上打开窗口。
X显示器是通过hostname:
displaynumber.screennumber这种形式的名称知晓的。
运行在工作站(如PC)上的Linux通常只有一个带有单个屏幕的显示器。
在这种情况下,displayname可以(并且通常会)被省略,所以显示器称为:
0.0。
我们假设您在阅读本文时是使用图形方式登录的,因此您的启动已经为您设置了DISPLAY环境变量。
但是,当您使用su切换到不同用户时,不会设置这个变量。
清单5展示了如何使用echo命令来显示DISPLAY环境变量,然后切换到另一个用户并尝试启动xclock应用程序,最初DISPLAY环境变量是空的,然后将其值设置为:
0.0。
清单5.尝试启动xclock
ian3@echidna:
~>whoami
ian3
ian3@echidna:
~>echo$DISPLAY
:
0.0
ian3@echidna:
~>su-db2inst1
Password:
db2inst1@echidna:
~>echo$DISPLAY
db2inst1@echidna:
~>xclock
Error:
Can'topendisplay:
db2inst1@echidna:
~>DISPLAY=:
0.0
db2inst1@echidna:
~>exportDISPLAY
db2inst1@echidna:
~>echo$DISPLAY
:
0.0
db2inst1@echidna:
~>xclock
Xlib:
connectionto":
0.0"refusedbyserver
Xlib:
ClientisnotauthorizedtoconnecttoServer
Error:
Can'topendisplay:
:
0.0
db2inst1@echidna:
~>
让我们研究一下这里发生的情况。
在本例中,用户ian3登录到系统,并且正如我们所期望的那样,其DISPLAY环境变量被设置为:
0.0。
当ian3切换成用户db2inst1时,不会设置DISPLAY环境变量,并且因为xclock应用程序不能打开显示器,所以启动xclock的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux root 用户 身份 登录 30