Linux期末复习-Linux简答题6-7章

6-1.简述一个简单的Shell程序的创建过程。

Shell程序就是放在一个文件中的一系列Linux命令和实用程序,在执行的时候,通过Linux系统一个接着一个地解释和执行每个命令,这和Windows系统下的批处理程序非常相似

1.创建文件
2.设置可执行权限

1.创建文件
在/root目录下使用vi编辑器创建文件date,该文件内容如下所示,共有3个命令。
#!/bin/bash
#filename:date
echo “Mr.$USER,Today is:”
echo `date`//此处为反引号
echo Whish you a lucky day !

2.设置可执行权限
创建完date文件之后它还不能执行,需要给它设置可执行权限,使用如下命令给文件设置权限。
[root@rhel ~]# chmod u+x /root/date
[root@rhel ~]# ls -l /root/date
-rwxr–r--. 1 root root 88 6月
3 05:37 /root/date
//可以看到当前date文件具有可执行权限

6-2.简述执行Shell程序的方法。

3.执行Shell程序
输入整个文件的完整路径执行Shell程序,使用如下命令执行。
[root@rhel ~]# /root/date
Mr.root,Today is:
2012年 06月 03日 星期日 05:37:34 CST
Whish you a lucky day !
//可以看到Shell程序的输出信息

4.使用bash命令执行程序
在执行Shell程序时需要将date文件设置为可执行权限。如果不设置文件的可执行权限,那么需要使用bash命令告诉系统它是一个可执行的脚本,使用如下命令执行Shell程序。
[root@rhel ~]# bash /root/date
Mr.root,Today is:
2012年 06月 03日 星期日 05:37:34 CST
Whish you a lucky day !

6-3.简述常见的Shell环境变量。

HOME
用于保存用户主目录的完全路径名

PATH
用于保存用冒号分隔的目录路径名,Shell将按PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行

TERM
终端的类型

UID
当前用户的UID,由数字构成

PWD
当前工作目录的绝对路径名,该变量的取值随cd命令的使用而变化

PS1
主提示符,在root用户下,默认的主提示符是“#”,在普通用户下,默认的主提示符是“$”

PS2
在Shell接收用户输入命令的过程中,如果用户在输入行的末尾输入“\”然后按回车键,或者当用户按回车键时Shell判断出用户输入的命令没有结束时,就显示这个辅助提示符,提示用户继续输入命令的其余部分,默认的辅助提示符是“>”

6-4.简述常见的字符串比较符号。

=
比较两个字符串是否相同,相同则为“是”
!=
比较两个字符串是否相同,不同则为“是”
-n
比较字符串的长度是否大于0,如果大于0则为“是”
-z
比较字符串的长度是否等于0,如果等于0则为“是”

6-5.Linux系统中有哪些条件判断语句和循环控制流程语句?

Shell程序中的条件分支是通过if条件语句来实现的,其语法格式有if-then-fi语句和ifthen-else-fi语句两种

在Shell程序中使用循环控制语句可以使用for语句、while语句以及until语句。

语法格式:

if 命令行1
then
命令行2
fi

语法格式:

if
命令行1
then
命令行2
else
命令行3
fi

case条件语句
if条件语句用于在两个选项中选定一项,而case条件选择为用户提供了根据字符串或变量的值从多个选项中选择一项的方法。
语法格式:

case string in
exp-1)
若干个命令行1
;;
exp-2)
若干个命令行2
;;
......
*)
其它命令行
esac
for 变量名
[in数值列表]
do
若干个命令行
done
while
若干个命令行1
do
若干个命令行2
done
until
若干个命令行1
do
若干个命令行2
done

6-6.简述if条件语句和case条件语句的区别。

在Shell程序中使用条件判断语句可以使用if条件语句和case条件语句,两者的区别在于使用case语句的选项比较多而已。

7-1 在Linux系统中,用户账户有哪些分类

用户账户在Linux系统中是分角色的,由于角色不同,每个用户的权限和所能完成的任务也不同。而在实际的管理中,用户的角色是通过UID(用户ID号)来标识的,每个用户的UID都是不同的。

在Linux系统中有三大类用户,分别是root用户、系统用户和普通用户

Root用户:在Linux系统中,root用户UID为0。root用户的权限是最高的,普通用户无法执行的操作,root用户都能完成,所以也被称之为超级用户。在系统中的每个文件、目录和进程都归属于某一个用户,没有用户许可,其它普通用户无法进行操作的,但对root用户除外。

系统用户:也称为虚拟用户、伪用户或假用户,这类用户不具有登录Linux系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等,这类用户都是系统自身拥有的。系统用户的UID为1~999

普通用户:这类用户能登录系统,在Linux系统上进行普通操作,能操作自己目录的内容,其使用系统的权限受限,这类用户都是系统管理员创建的。普通用户的UID为1000~60000

7-2 管理用户账户的配置文件有哪些?并描述这些文件各字段的含义

与用户账户有关的配置文件/etc/passwd和/etc/shadow。

/etc/passwd

/etc/passwd文件是系统识别用户的一个重要文件,Linux系统中所有的用户都记录在该文件中。假设用户以账户zhangsan登录系统时,系统首先会检查/etc/passwd文件,看是否有zhangsan这个账户,然后确定用户zhangsan的UID,通过UID来确认用户的身份,如果存在则读取/etc/shadow文件中所对应的密码。如果密码核实无误则登录系统,读取用户的配置文件。

任何用户都可以读取/etc/passwd文件内容,在/etc/passwd文件中,每一行表示的是一个用户账户的信息,一行有7个段位,每个段位用“:”分隔。

zhangsan❌1000:1000:张三:/home/zhangsan:/bin/bash

用户名:密码:用户标识号(UID):组群标识号(GID):用户名全称:主目录:登录Shell

/etc/passwd字段

用户名
也称为登录名,在系统内用户名应该具有惟一性。在本例中,zhangsan就是用户名

密码
存放加密用户的密码,看到的是一个x,其实密码已被映射到/etc/shadow文件中

用户标识号(UID)
在系统内用一个整数标识用户ID号,每个用户的UID都是惟一的,root用户的UID是0,普通用户的UID默认从1000开始,本例中的用户zhangsan的UID是1000

组群标识号(GID)
在系统内用一个整数标识用户所属的主要组群ID号,每个组群的GID都是惟一的

用户名全称
用户名描述,可以不设置。在本例中,zhangsan用户的用户名全称是张三

主目录
用户登录系统后首先进入的目录,zhangsan用户的主目录是/home/zhangsan

登录Shell
用户使用的Shell类型,Linux系统默认使用的Shell是/bin/bash

/etc/shadow

/etc/shadow文件是/etc/passwd的影子文件,这个文件并不是由/etc/passwd文件产生,这两个文件应该是对应互补的。/etc/shadow文件内容包括用户及被加密的密码以及其它/etc/passwd不能包括的信息,比如用户账户的有效期限等。

/etc/shadow文件只有root用可以读取和操作,文件的权限不能随便更改为其它用户可读,这样做是非常危险的。如果发现这个文件的权限变成了其它组群或用户可读了,要进行检查,以防系统安全问题的发生。

/etc/shadow文件的内容包括9个段位,每个段位之间用“:”分隔。

zhangsan: 6 6 6E/xvWMmh$rhYLQwwffEqIudVLFzMlvkb0iN4.0Oluk6H.UovEYN0/99dVoHXcaCNGZZkFY1S3QHYgm7e6JPzEew6ybmN4e0:16364:0:99999:7:::

/etc/shadow字段

用户名
这里的用户名和/etc/passwd中的用户名是相同的

加密密码
密码已经加密,如果有些用户在这里显示的是“!!”,则表示这个用户还没有设置密码,不能登录到系统

用户最后一次更改密码的日期
从1970年1月1日算起到最后一次修改密码的时间间隔天数

密码允许更换前的天数
如果设置为0,则禁用此功能。该字段是指用户可以更改密码的天数

密码需要更换的天数
如果设置为0,则禁用此功能。该字段是指用户必须更改密码的天数

密码更换前警告的天数
用户登录系统后,系统登录程序提醒用户密码将要过期

账户被取消激活前的天数
表示用户密码过期多少天后,系统会禁用此用户,也就是说系统会不让此用户登录,也不会提示用户过期,是完全禁用的

用户账户过期日期
指定用户账户禁用的天数(从1970年的1月1日开始到账户被禁用的天数),如果这个字段的值为空,账户永久可用

保留字段
目前为空,以备将来Linux系统发展时使用

7-3 管理组群账户的配置文件有哪些?并描述这些文件各字段的含义

与组群账户有关的配置文件/etc/group和/etc/gshadow。

组群账户分类: 具有某种共同特征的用户集合就是组群。通过组群可以集中设置访问权限和分配管理任务。在Linux系统中,有两种组群分类方法。

一种方法将组群分为私有组群和标准组群。

1.私有组群:当创建一个新的用户账户时,如果没有指定该用户属于哪一个组群,那么Linux就会创建一个和该用户同名的组群,这个组群就是私有组群,在这个私有组群中只包含这个用户。

2 .标准组群:标准组群也称为普通组群,标准组群可以包含多个用户账户,如果使用标准组群,那么在创建一个新的用户账户时,应该指定该用户属于哪一个组群。

另外一种方法将组群分为主要组群和次要组群。

1.主要组群:当一个用户账户属于多个组成员时,登陆后所属的组群便是主要群组,其它组群是次要群组,一个用户账户只能属于一个主要组群。

2.次要组群:次要群组也称附加群组,一个用户账户可以属于多个次要群组。

/etc/group文件字段含义

组群名
组群名称,如组群名root

组群密码
存放加密的组群密码,看到一个x,密码已被映射到/etc/gshadow文件中

组群标识号(GID)
在系统内用一个整数标识组群GID,每个组群的GID都是惟一的,默认普通组群的GID从1000开始,root组群GID是0

组群成员
属于这个组群的成员,如root组群的成员有root用户

/etc/gshadow文件字段含义

组群名
组群的名称

组群密码
密码已经加密,如果有些组群在这里显示的是“!”,表示这个组群没有密码。本例中组群
shanghai没有密码,组群beijing已设置密码

组群管理者
组群的管理者,有权在该组群中添加、删除用户

组群成员
属于该组群的用户成员列表,如有多个用户用逗号分隔。本例中beijing组群的成员是ou

7-4默认情况下新创建的第一个用户账户的UID是多少?

UID是用户的ID值,在系统中每一位用户的UID值都是惟一的,更确切地说每一位用户都要对应一个惟一的UID。Linux系统用户的UID值是一个正整数,初始值从0开始,在Linux系统中默认的最大值是60000。

在Linux系统中,root的UID是0,拥有系统最高权限。UID的唯一性关系到系统的安全,比如在/etc/passwd文件中把用户zhangsan的UID改为0后,zhangsan这个用户会被确认为root用户,当用这个账户登录到系统后,可以进行所有root用户才能执行的操作。

UID是确认用户权限的标识,用户登录系统所处的角色是通过UID来实现的,而不是用户名。一般情况下,Linux的发行版本都会预留一定的UID给系统虚拟用户使用,比如ftp、nobody、adm、bin以及shutdown等用户账户。在Linux系统中会把1~999的UID预留出来给虚拟用户使用,管理员所创建的新用户UID默认是从1000开始的

7-5简述对用户账户设置密码和不设置密码的区别

不设置:
//查看/etc/shadow文件,显示在用户lisi的密码字段上显示的是“!!”,表示该用户还没有设置密码,不能登录到Linux系统上

设置:
//查看/etc/shadow文件,可以看到在用户wangwu的密码字段上显示的是加密的密码,表示该用户已经设置密码,能登录到Linux系统上

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页