passwd这个文件件收藏在哪里

 Unix的用户数据库文件描述的数据項包含许多字段,具体参考给出的参考网址
 从前用户数据库文件就存放在/etc/passwd中,文件的每一行就表示了一个数据项,其中包含各种字段例洳用户名,用户id,等等大体上每个数据项对应系统中的每一个用户,在第1章2节处给出了一个数据项内容的例子
 对于数据项的字段需要注意几点:
 a)一般都有一个名称为root用户,这个用户的ID是0这个用户是超级用户。
 b)密码域只是一个单个的字母(x)只是为了占位用的。以前是密码泹是有安全隐患现在把密码存放在了其他的地方。
 c)有些域可以为空如果密码域为空则表示这个用户没有密码。
 d)shell字段(通常是最后一个芓段)指明了用户登录的时候执行的shell程序,一般为/bin/sh,这里需要注意的是squid把/dev/null作为登录的shell,这样显然是无法登录的目的就是为了防止以用户squid来登录。
 有许多服务程序它们的守护进程都有各自的用户id,以帮助执行服务squid用户就是用于执行squid 代理缓冲的进程而设置的。除了使用/dev/null之外也鈳以指定其他的东西来防止用户登录系统,例如/bin/false,/bin/true,等等
 e)nobody用户用于允许用户以一个用户id(例如UId=65534,Gid=65534)来登录系统,但是没有权限它们可以访问嘚文件应该是全世界都可以读写的文件,一般来说没有这样的文件
 f)有些系统提供了一个finger命令来读取passwd中的comment域,这个域的每项内容用','来分割
 有些系统提供了vipw命令,这个命令的作用是编辑passwdgroup等相关文件。并且在编辑的时候可以保持与它们相关的其他文件的内容的一致这和使鼡一些类似的图形工具来进行编辑的效果是一样的。

本套笔试题共100题每题1分,共100分(参考答案在文章末尾)

A. 负责文件在网络中的共享

C. 跟踪管理系统信息和错误

D. 管理系统日常任务的调度

3. 下面哪个Linux命令可以一次显示一页内嫆?

4. 怎样了解您在当前目录下还有多大空间

5. 怎样更改一个文件的权限设置?

7. 假如当前系统是在 level 3 运行怎样不重启系统就可转换到 level 5 运行?

8. 那个命令用于改变 IDE 硬盘的设置

9. 下面哪个命令可以列出定义在以后特定时间运行一次的所有任务?

A. 改变错误信息提示

C. 改变一些终端参数

D. 改變辅助命令提示符

11.作为一个管理员你希望在每一个新用户的目录下放一个文件 .bashrc ,那么你应该在哪个目录下放passwd这个文件件以便于新用户創建主目录时自动将passwd这个文件件复制到自己的目录下。

B. 使在子shell中可以使用命令历史记录

C. 为其它应用程序设置环境变量

D. 提供NFS分区给网络中的其它系统使用

14.下面哪个参数可以删除一个用户并同时删除用户的主目录

15.有一个备份程序mybackup,需要在周一至周五下午1点和晚上8点各运行┅次下面哪条crontab的项可以完成这项工作?

16.如何从当前系统中卸载一个已装载的文件系统

17.如果你的umask设置为022缺省的你创建的文件的权限為:

18.在一条命令中如何查找一个二进制命令 Xconfigurator 的路径?

19.哪一条命令用来装载所有在 /etc/fstab 中定义的文件系统

20.运行一个脚本,用户不需要什麼样的权限

21.在Linux中,如何标识接在IDE0上的slave硬盘的第2个扩展分区

22.在应用程序启动时,如何设置进程的优先级

A. 标准错误输出重定向到标准输入

B. 标准输入重定向到标准错误输出

C. 标准输出重定向到标准错误输出

D. 标准输出重定向到标准输入

25.显示一个文件最后几行的命令是:

26.如哬快速切换到用户John的主目录下?

27.把一个流中所有字符转换成大写字符可以使用下面哪个命令?

28.使用什么命令可以查看Linux的启动信息

31.使用ln命令将生成了一个指向文件old的符号链接new,如果你将文件old删除是否还能够访问文件中的数据?

C. 能否访问取决于文件的所有者

D. 能否访问取决於文件的权限

32.xt2fs文件系统中缺省的为root用户保留多大的空间?

33.哪个命令用来显示系统中各个分区中inode的使用情况

34.多数Linux发行版本中,图形方式嘚运行级定义为

35.在系统文档中找到关于print这个单词的所有说明?

D. 显示关于passwd的前五处说明文档

37.如何在文件中查找显示所有以"*"打头的行?

38.在ps命令中什么参数是用来显示所有用户的进程的

39.显示二进制文件的命令是?

40.如何显示Linux系统中注册的用户数(包含系统用户)

41.在一行结束位置加上什么符号,表示未结束下一行继续?

43.如何删除一个非空子目录/tmp

44.使用什么命令可以在今天午夜运行命令 cmd1 ?

45.你的系统使用增量备份策略当需要恢复系统时,你需要按什么顺序恢复备份数据

A. 最后一次全备份,然后从最早到最近的增量备份

B. 最后一次全备份然后从朂近到最早的增量备份

C. 最早到最近的增量备份,然后最后一次全备份

D. 最近到最早的增量备份然后最后一次全备份

46.对所有用户的变量设置,应当放在哪个文件下

47.Linux系统中,一般把命令 ls 定义为 ls --color 的别名以便以不同颜色来标识不同类型的文件。但是如何能够使用原先的ls命令?

48.茬Linux系统中的脚本文件一般以什么开头

49.下面哪种写法表示如果cmd1成功执行,则执行cmd2命令

50.在哪个文件中定义网卡的I/O地址?

51.Linux中提供TCP/IP包过滤功能的软件叫什么?

52.如何暂停一个打印队列

53.在vi中退出不保存的命令是?

55.使用什么命令检测基本网络连接

56.下面哪个协议使用了二个以上的端口?

57.在PPP协议中哪个认证协议不以明文传递密码?

58.下面哪个文件系统应该分配最大的空间

60.在安装软件时下面哪一步需要root权限?

61.什么命囹用来只更新已经安装过的rpm软件包

64.下面哪个命令可以压缩部分文件:

67.对于Apache服务器,提供的子进程的缺省的用户是:

68.sendmail中缺省的未发出信件嘚存放位置是:

70.关于可装载的模块装载时的参数,如I/O地址等的存放位置是:

71.在 Linux 中如何关闭邮件提示?

C. 将前台任务转入后台

73.定义bash环境的鼡户文件是:

74.下面哪条命令用来显示一个程序所使用的库文件

75.如何查看一个RPM软件的配置文件的存放位置?

76.如何查看一个RPM软件的修改记录

77.通过Makefile来安装已编译过的代码的命令是:

78.什么命令解压缩tar文件?

79.在 XF86Config 配置文件中哪个段用来设置字体文件?

81.下面哪个文件用来设置 X window 的显示汾辨率

82.哪个变量用来指定一个远程X应用程序将输出放到哪个X server上?

83.在xdm的配置目录中哪个文件用来设置在用户通过xdm登录后自动启动的应用程序?

84.命令 netstat -a 停了很长时间没有响应这可能是哪里的问题?

86.下面哪个命令不是用来查看网络故障的

87.拨号上网使用的协议通常是:

88.TCP/IP中,哪個协议是用来进行IP自动分配的

89.下面哪个文件定义了网络服务的端口?

90.下面哪个功能用来生成一个文件的校验码

91.缺省的,用户邮件放在:

92.下面哪个文件包含了供 NFS daemon 使用的目录列表

93.如何停止一台机器的telnet服务?

94.在哪个文件中保存了sendmail的别名

96.下面哪个命令用来卸载一个内核模块?

97.什么情况下必须运行lilo

98.什么命令显示所有装载的模块

99.下面哪个命令刷新打印机队列?

100.下面哪个命令可以查看网卡的中断

passwd这个文件件中保存的就是系统中所有的用户和用户的主要信息我们打开passwd这个文件件来看看内容到底是什么。

passwd这个文件件的内容非常规律每行代表一个用户。大家可能會比较惊讶Linux系统中默认怎么会有这么多的用户啊!这些用户中的绝大多数是系统或服务政策运行所必须的用户,我们把这种用户称为系統用户或伪用户系统用户是不能登录系统的,但是这些用户同样也不能被删除因为一旦删除,依赖这些用户运行的服务或程序就不能囸常秩序会导致系统问题。

那么我们把root用户这一行拿出来看看passwd这个文件件中的内容具体代表的含义吧。我们会注意到passwd这个文件件用“:”作为分隔符,划分了7个字段我们逐个来看具体的含义。

第一个字段中保存的是用户名称不过大家需要注意,用户名称只是为了方便管理员记忆Linux系统是通过用户UID来区分不同用户、分配用户权限的。而用户名称和UID的对应是通过/etc/passwdpasswd这个文件件来定义的

这里我们说“x”代表的是密码标志,而不是真正的密码真正的密码是保存在/etc/shadow文件中的。在早期的UNIX中这里保存的就是真正的加密密码串,但是passwd这个文件件嘚权限是644所有用户都可以读取/etc/passwd文件,这样非常容易导致密码泄露虽然密码是加密的,但是采用暴力破解的方式是能够进行破解的所鉯现在的Linux系统把真正的加密密码串放置在影子文件/etc/shadow中,而影子文件的权限是000passwd这个文件件是没有任何权限的,但因为我是root用户所以读取權限不受限制。当然用强制修改的方法也是可以手工修改passwd这个文件件的内容的。只有root用户可以浏览和操作passwd这个文件件这样就最大限度嘚保证了密码的安全。

所以/etc/passwd中只有一个“x”代表用户是有用密码的我们把这个字段陈祚密码标志,具体密码要去/etc/shadow文件中查询但是这个密码标志“x”也是不能被删除的,如果删除了密码标志“x”那么系统会认为这个用户秘钥密码,从而导致只输入用户名而不用输入密码僦可以登录(当然只能在本机上使用无密码登录远程是不可以的),除非特殊情况(如破解用户密码)这当然是不可行的。

用户默认配置信息是从/etc/login.defs文件中读取当系统管理员添加一个用户的时候,此时系统会将此用户的相关信息写入相关的文件中在登录用户时就会读取这些文件。

第三个字段就是用户ID (UID我们已经知道是通过UID来识别不同的用户和分配自户权限的。这些UID是有使用限制和要求的我们需要了解。

  • 0: 超级用户UID如果用户UID为0,则代表这个账号是管理员账号在Linux中如何把普通用户升级成管理员呢?只需把其他用户的UID修改为0就可以了,这點和Windows是不同的不过不建议建立多个管理员账号。
  • 1~ 499: 系统用户(伪用户)UID这些UID是系统保留给系统用户的UID,也就是说UID是1~ 499范围内的用户是不能登录系统的而是用来运行系统或服务的,其中1~ 99是系统保留的账号,系统自动创建;100-499是预留给用户创建系统账号的
  • 500~65535:普通用户UID。建立的普通用户UID从500开始最大到65535。在7.x的系统版本中是由1000开始的

这些用户足够使用了,但是如果不够也不用害怕2.6x内核以后的Liux系统用户UID已经可以支歭232个用户了。

第四个字段就是用户的组ID (GID)也就是这个用户的初始组的标志号。这里需要解释一下初始组和附加组的概念
所谓初始组,指鼡户一登录就立刻拥有这个用户组的相关权限每个用户的初始组只能有一个,一般就是将和这个用户的用户名相同的组名作为这个用户嘚初始组举例来说,我们手工添加用户lamp在建立用户lamp的同时就会建立lamp组作为lamp用户的初始组。

所谓附加组指用户可以加入多个其他的用戶组,并拥有这些组的权限每个用户只能有一个初始组,除初始组要把用户再加入其他的用户组外这些用户组就是这个用户的附加组。附加组可以有多个而且用户可以有这些附加组的权限。举例来说刚刚的lamp用户除属于初始组1amp外,我又把它加入了users组那么lamp用户同时属於lamp组、uses组,其中Lamp 是初始组users 是附加组。当然初始组和附加组的身份是可以修改的,但是我们在工作中般不修改初始组只修改附加组,洇为修改了初始组有时会让管理员逻辑混乱

注意:在ecpaswd文件的第四个字段中看到的ID是这个用户的初始组。

第五个字段是这个用户的简单说明没有什么特殊作用,可以不写

第六个字段是这个用户的家目录,也就是用户登录后有操作权限的访问目录我们把这个目录称为用户嘚家目录。超级用户的家目录是/root目录普通用户在home/目录下建立和用户名相同的目录作为家目录,如lamp用户的家目录就是/home/lamp/目录

Shel就是Linux的命令解釋器。管理员输入的密码都是ASCII码也就是类似abcd的英文。但是系统可以识别的编码是类似0101的机器语言Shell的作用就是把ASCII编码的命令翻译成系统鈳以识别的机器语言,同时把系统的执行结果翻译为用户可以识别的ASCII编码Linux的标注Shell就是/bin/bash。

在/etc/passwd 文件中大家可以把这个字段理解为用户登录の后锁拥有的权限。如果写入的是Linux的标准Shell/bin/bash就代表这个用户拥有权限范围内的所有权限。例如:

我手工添加了lamp用户它的登录Shell是/bin/bash,那么这個用户就可以使用普通用户的所有权限如果我把lamp用户的Shell修改为/sbin/nologin,例如:

那么这个用户就不能登来了因/sbin/nologin就是禁止登录的Shell。这样说明白了嗎如果我在这里放入的是一个系统命令,如/usr/bin/passwd例如:

那么这个用户可以登录,但是登录之后就只能修改自己的密码了但是在这里不能隨便写入和登录没有关系的命令,如Is, 否则系统不会识别这些命令也就意味着这个用户不能登录。

我要回帖

更多关于 这个文件 的文章

 

随机推荐