邵珠庆の日记 生命只有一次,你可以用它来做很多伟大的事情–Make the world a little better and easier


95月/17

Linux环境变量区别

发布在 邵珠庆

发现自己对Linux下 /etc/profile、/etc/bashrc、~/.bashrc的区别不是特别清楚,
特此查阅了相关资料,整理下来,供以后查阅。
①/etc/profile:
该文件登录操作系统时,为每个用户设置环境信息,当用户第一次登录时,该文件被执行。也就是说这个文件对每个shell都有效,用于获取系统的环境信息。

# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

②/etc/bashrc:
为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。也就是说,当用户shell执行了bash时,运行这个文件。

# /etc/bashrc
# System wide functions and aliases
# Environment stuff goes in /etc/profile
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

③~/.bashrc
该文件存储的是专属于个人bash shell的信息,当登录时以及每次打开一个新的shell时,执行这个文件。在这个文件里可以自定义用户专属的个人信息。

那么在用户登录系统时候,相关的文件执行顺序是什么呢。
在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的
~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,
执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。
如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。

45月/17

非常详细的/etc/passwd解释

发布在 邵珠庆

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin

mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash

在该文件中,每一行用户记录的各个数据段用“:”分隔,分别定义了用户的各方面属性。各个字段的顺序和含义如下:

注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序

(1)注册名(login_name):用于区分不同的用户。在同一系统中注册名是惟一的。在很多系统上,该字段被限制在8个字符(字母或数字)的长度之内;并且要注意,通常在Linux系统中对字母大小写是敏感的。这与MSDOS/Windows是不一样的。

(2)口令(passwd):系统用口令来验证用户的合法性。超级用户root或某些高级用户可以使用系统命令passwd来更改系统中所有用户的口令,普通用户也可以在登录系统后使用passwd命令来更改自己的口令。

现在的Unix/Linux系统中,口令不再直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个“x”来代替,将/etc /shadow作为真正的口令文件,用于保存包括个人口令在内的数据。当然shadow文件是不能被普通用户读取的,只有超级用户才有权读取。

此外,需要注意的是,如果passwd字段中的第一个字符是“*”的话,那么,就表示该账号被查封了,系统不允许持有该账号的用户登录。

(3)用户标识号(UID):UID是一个数值,是Linux系统中惟一的用户标识,用于区别不同的用户。在系统内部管理进程和文件保护时使用 UID字段。在Linux系统中,注册名和UID都可以用于标识用户,只不过对于系统来说UID更为重要;而对于用户来说注册名使用起来更方便。在某些特 定目的下,系统中可以存在多个拥有不同注册名、但UID相同的用户,事实上,这些使用不同注册名的用户实际上是同一个用户。

(4)组标识号(GID):这是当前用户的缺省工作组标识。具有相似属性的多个用户可以被分配到同一个组内,每个组都有自己的组名,且以自己的组标 识号相区分。像UID一样,用户的组标识号也存放在passwd文件中。在现代的Unix/Linux中,每个用户可以同时属于多个组。除了在 passwd文件中指定其归属的基本组之外,还在/etc/group文件中指明一个组所包含用户。

(5)用户名(user_name):包含有关用户的一些信息,如用户的真实姓名、办公室地址、联系电话等。在Linux系统中,mail和finger等程序利用这些信息来标识系统的用户。

(6)用户主目录(home_directory):该字段定义了个人用户的主目录,当用户登录后,他的Shell将把该目录作为用户的工作目录。 在Unix/Linux系统中,超级用户root的工作目录为/root;而其它个人用户在/home目录下均有自己独立的工作环境,系统在该目录下为每 个用户配置了自己的主目录。个人用户的文件都放置在各自的

主目录下。

(7)命令解释程序(Shell):Shell是当用户登录系统时运行的程序名称,通常是一个Shell程序的全路径名,

如/bin/bash。

需要注意的是,系统管理员通常没有必要直接修改passwd文件,Linux提供一些账号管理工具帮助系统管理员来创建和维护用户账号。

Linux口令管理之/etc/passwd文件

/etc/passwd文件是Linux/UNIX安全的关键文件之一.该文件用于用户登录时校验 用户的口令,当然应当仅对root可写.文件中每行的一般格式为:

LOGNAME:PASSWORD:UID:GID:USERINFO:HOME:SHELL

每行的头两项是登录名和加密后的口令,后面的两个数是UID和GID,接着的 一项是系统管理员想写入的有关该用户的任何信息,最后两项是两个路径名: 一个是分配给用户的HOME目录,第二个是用户登录后将执行的shell(若为空格则 缺省为/bin/sh).

(1)口令时效

/etc/passwd文件的格式使系统管理员能要求用户定期地改变他们的口令. 在口令文件中可以看到,有些加密后的口令有逗号,逗号后有几个字符和一个 冒号.如:

steve:xyDfccTrt180x,M.y8:0:0:admin:/:/bin/sh

restrict:pomJk109Jky41,.1:0:0:admin:/:/bin/sh

pat:xmotTVoyumjls:0:0:admin:/:/bin/sh

可以看到,steve的口令逗号后有4个字符,restrict有2个,pat没有逗号.

逗号后第一个字符是口令有效期的最大周数,第二个字符决定了用户再次 修改口信之前,原口令应使用的最小周数(这就防止了用户改了新口令后立刻 又改回成老口令).其余字符表明口令最新修改时间.

要能读懂口令中逗号后的信息,必须首先知道如何用passwd_esc计数,计 数的方法是:

.=0 /=1 0-9=2-11 A-Z=12-37 a-z=38-63

系统管理员必须将前两个字符放进/etc/passwd文件,以要求用户定期的 修改口令,另外两个字符当用户修改口令时,由passwd命令填入.

注意:若想让用户修改口令,可在最后一次口令被修改时,放两个".",则下 一次用户登录时将被要求修改自己的口令.

有两种特殊情况:

. 最大周数(第一个字符)小于最小周数(第二个字符),则不允许用户修改 口令,仅超级用户可以修改用户的口令.

. 第一个字符和第二个字符都是".",这时用户下次登录时被要求修改口 令,修改口令后,passwd命令将"."删除,此后再不会要求用户修改口令.

(2)UID和GID

/etc/passwd中UID信息很重要,系统使用UID而不是登录名区别用户.一般 来说,用户的UID应当是独一无二的,其他用户不应当有相同的UID数值.根据惯 例,从0到99的UID保留用作系统用户的UID(root,bin,uucp等).

如果在/etc/passwd文件中有两个不同的入口项有相同的UID,则这两个用 户对相互的文件具有相同的存取权限.

/etc /group文件含有关于小组的信息,/etc/passwd中的每个GID在本文件中 应当有相应的入口项,入口项中列出了小组名和小组中的用户.这样可方便地了 解每个小组的用户,否则必须根据GID在/etc/passwd文件中从头至尾地寻找同组 用户.

/etc/group文件对小组的许可权限的控制并不是必要的,因为系统用UID,GID (取自/etc/passwd)决定文件存取权限,即使/etc/group文件不存在于系统中,具 有相同的GID用户也可以小组的存取许可权限共享文件.

小组就像登录用户一样可以有口令.如果/etc/group文件入口项的第二个域 为非空,则将被认为是加密口令,newgrp命令将要求用户给出口令,然后将口令加 密,再与该域的加密口令比较.

给 小组建立口令一般不是个好作法.第一,如果小组内共享文件,若有某人猜 着小组口令,则该组的所有用户的文件就可能泄漏;其次,管理小组口令很费事, 因为对于小组没有类似的passwd命令.可用/usr/lib/makekey生成一个口令写入 /etc/group.

以下情况必须建立新组:

(1)可能要增加新用户,该用户不属于任何一个现有的小组.

(2)有的用户可能时常需要独自为一个小组.

(3)有的用户可能有一个SGID程序,需要独自为一个小组.

(4)有时可能要安装运行SGID的软件系统,该软件系统需要建立一个新组.

要 增加一个新组,必须编辑该文件,为新组加一个入口项. 由于用户登录时,系统从/etc/passwd文件中取GID,而不是从/etc/group中 取GID,所以group文件和口令文件应当具有一致性.对于一个用户的小组,UID和 GID应当是相同的.多用户小组的GID应当不同于任何用户的UID,一般为5位数,这 样在查看/etc/passwd文件时,就可根据5位数据的GID识别多用户小组,这将减少 增加新组,新用户时可能产生的混淆.

25月/17

抗压面试题分析

发布在 邵珠庆

问题1

  什么样的情形会让你感到沮丧?

分析:这个问题是用来发现你的致命弱点的。它会告诉面试人,什么样的紧张和压力可以让你失去希望、动力或行动能力。

错误回答:我很少处于沮丧之中,因为我非常有弹性。有些事情会让其他人感到非常沮丧,但对我往往只会有稍微的影响。

评论:求职者没有说出任何真正的致命弱点(面试中你永远不要说出自己的致命弱点),这一点是对的。但是,求职者否认存在任何使之沮丧的情况,这会让面试人感到怀疑。此外,在这种回答中,求职者还破坏了“不要打击别人”的法则,从而暴露了自己的弱点。

正确回答:我认为会让我感到沮丧的是一件事情拖得太久,虽然这并不经常发生。我认为,对于尚未解决的问题,并不是所有的成功企业都会有回旋的余地。我希望尽可能快地找到好的对策,这样我们就可以继续开展企业的业务。

评论:这种回答提供了一种真正的答案,而且它也不是软弱无力的。这样回答既合理,又不会让面试人对求职者的能力感到担心。它会使面试人确信,求职者重视质量和时间进度。

  问题2

  如果你在销售一种产品,遇上一位客户一直抱怨你的售后服务很糟糕,这时你会怎么办?

分析:从这个问题的回答可以看出求职者会如何应对一些难缠的客户。面试人期待求职者不要显得那么容易屈服。

错误回答:我记得一句谚语说:“客户永远是正确的。”我能够确保客户在离开时对我的产品感到非常满意。

评论:姜还是老的辣!面试人可能在他(她)的祖父那儿就听到过“客户永远是正确的”这句谚语。不要把面试人当小孩子来看待,记住,他(她)的智商不会比你逊色,甚至还会比你高。

正确回答:我将向客户解释,我们的企业向来以产品质量和优质服务为荣。然后我将向客户保证,我会尽一切努力来改善这种状况。接下来我会听他(她)抱怨,并查找问题的根源,做出必要的改进来满足客户。

评论:这个回答比“错误回答”里的陈词滥调要高明得多,而且也表明求职者重视服务质量。这样的回答显示出求职者没有被问题所吓倒,他(她)将采取必要的措施来解决问题。

  问题3

  当你确信自己是正确的,但是其他人却不赞同你时,你会怎样做?

分析:这个问题可以反映求职者是否能够恰当处理反对观点、是否能够承受额外压力,还可以显示求职者处理冲突的能力和自信程度。

错误回答:首先,我努力找到一种方法让他们相信我是正确的。如果这样做不奏效——实际上经常不奏效——我会思量是否有办法实现他们的目标,这样,对于我自认为正确的方式,他们就不会再干涉。

评论:除了有自大狂的嫌疑外,这种回答还存在其他问题。它意味着,如果求职者不能从反对者那里得到支持,他(她)将采取一切必要措施实现自己的方式。这种回答说明,在面对困难或者可能存在冲突的问题时,求职者就会失去道德标准。

正确回答:首先,我会确保有足够的信息来支持自己。一旦我确信自己的观点是正确的,我就会密切关注反对者的具体反对理由。我将从他们的角度看待问题,并以此说服他们。由于互相尊重,我相信我们可以最终达成协议。

评论:这种说法实现了几个目的。它表明求职者可以从解决问题的角度,用一种双赢的态度解决冲突;也表明,如果可以真正解决问题,那么求职者能够敞开胸怀接受改变;它还表明,求职者会采取一种合作的方式来解决困难问题。

  问题4

  你是否觉得有能力在自己的职位上取得成功?如果感到不妥,你将如何弥补自己的缺点?

分析:同其他涉及弱点的问题一样,你必须小心应对这个问题。如果承认自己有重大缺点,而且这些缺点将妨碍你的工作,这无疑将会使你失去机会。如果确实有一些微小的缺陷需要克服,那么可以提及一下。否则,如果不怕沉默会造成误解的话,你最好还是等到上任的时候再表白自己需要改进的地方。

错误回答:这个职位对我来说是小菜一碟,我闭着眼睛都能把它做好。我想,如果你聘用了我,你一定会对我如此迅速地完成任务而感到惊奇。这个岗位上没有什么我不能做的事情。

评论:尽管这种回答听起来很有力,但求职者显得过于狂妄了。除了会使面试人怀疑他(她)夸夸其谈的背后可能隐藏了什么东西外,面试人也会怀疑求职者是否适合这个职位。如果求职者能够做如此广泛的工作,或许这份工作的挑战性还不够。

正确回答:尽管我确信自己还有很多东西要学——在每个新工作中都是这样——但我认为,你会发现我是一个学得很快的人。我相信自己的能力和天分可以满足你们的需要。我不认为前面的路上会有什么不可克服的困难。

评论:尽管承认需要学习一些新东西,但是求职者表明自己有能力完成手头的工作。

  问题5

  完成这个句子:成功的经理应该……

分析:这个问题可以用来评价你在企业内的发展潜力。即使你正在申请的工作没有管理职责,你的回答也可以让面试人深入了解你的管理潜力,同时可以深入了解你眼中的经理会是什么样子。

错误回答:为了确实能熟练地处理事务,我认为,除了管理别人之外,一个成功的经理还应该更多地了解有关工作的信息。这是惟一能够对员工保持控制的方式——只有知道得比他们多才能对他们加以控制。一旦你失去威望,你就很难再挽回。你必须要比自己的员工领先一步。

评论:这种回答的第一个问题在于,在求职者看来,管理责任听起来像是充满敌意的,而不是合作性的。更大的问题是,求职者认为,在被管理的所有员工中,在他们所从事的一切事情上,你都应该比他们知道得多,在他看来,这不仅是可能的,而且更是可取的。任何人,只要他了解技术、信息传播以及企业流程等方面变化的频率和速度,他就会知道这种方法是不切实际的,也是注定要失败的。

正确回答:一个成功的经理应该能够及时分析形势,确定合适的战略并采取行动。然而,我认为最重要的是能够理解别人。每个人都是独一无二的。意识到这一点并且在工作中适应每个人的工作方式,这就是成功管理的全部内容。

评论:这个回答尽管只有几句话,但它清楚而自信地表达了求职者的工作方式,说明求职者有一种行之有效的管理方法。这种回答还表明,求职者理解管理的难度——任何经理听到这种说法都会很高兴。

  问题6

  你能够在压力状态下工作得很好吗?

分析:很显然,这个问题是要直接了解求职者对压力的反应。

错误回答:我在压力下会茁壮成长,实际上,事情变得越乱我就越高兴。毕竟,如今的社会是一个充满竞争的社会,在这个社会里,没有压力就不会有成功。相比之下,我更怕无聊。如果无事可做,我就会变得很懒散,但应对压力我就没问题了。

评论:这种回答会让人怀疑:“真有这样的人吗?”除了不可信之外,它还表达了一种消极论调:如果没有压力,求职者就不会得到激励。

正确回答:在从事有价值的工作时,任何人都会在工作中时不时地遇到压力。我能够应付一定量的压力,甚至在有些情况下还可以承受极大的压力。对我来说,应对压力的关键是找到一种方法控制形势,从而减轻压力的剧烈程度——通过这种方式,压力就不会影响我的生产力。我知道任何工作都有压力,如果必要的话,我会在压力下工作得很好。

评论:这种回答表明,求职者对工作压力的本质和程度都有比较现实的期望。这种回答很有说服力,但又没有对压力表现出过度热情。求职者的表述还说明,他(她)在过去曾经应对过压力,而且还制定过策略有效地处理了工作中的压力。

25月/17

面试提问的32个开放式问题

发布在 邵珠庆

面试官的开放式问题。

如果你是一名求职者,或者事先准备以下问题的答案会对你的面试成功起到很大的帮助作用。

如果你是一名面试官,以下的问题正是你需要问的。

1. 说说你自己吧

2. 你的短期目标是什么?你2到5年内的目标是什么?

3. 你的愿景/使命是什么?

4. 你想从这个岗位中学到什么?

5. 你为什么认为自己能胜任这个岗位?

6. 除了这个岗位,你还在找哪些岗位?

7. 你有什么样的管理或领导经验?

8. 你有什么样的团队工作经验?

9. 你最满意/不满意的经历是什么?

10. 你的强项/弱项是什么?

11. 你最擅长处理哪一类的问题?

12. 你是如何减压?如何平衡工作和生活?

13. 如果他人提出的要求有违你的道德准则或商业道德,你怎么处理?

14. 你上次试图向他人出售点子有什么样的结果?

15. 你为什么要应聘我们公司?你对我们公司了解多少?

16. 你认为加入我们公司有什么样的利弊?

17. 你最看重雇主的哪一方面?

18. 你过去遇到的主管有哪些共同点?

19. 如果要在竞争中保持领先,你认为我们公司的员工最需要哪些品质?

20. 你最喜欢/不喜欢什么课程?为什么?

21. 你的兼职/暑假/实习经历中有什么收获?

22. 你有什么样的深造计划?

23. 为什么你的成绩这么低?

24. 你是如何打发空余时间的?

25. 如果我让你的朋友们描述你,你觉得他们会怎么说呢?

26. 什么事最让你沮丧?

27. 你上次在工作中遇到恼火的事是什么时候?结果如何?

28. 你如何提高你的整体效益?

29. 去年你遇到最艰难的决定是什么?为什么它很艰难?

30. 你为什么到现在还没有找到工作?

31. 你在哪些方面没有任何经验?比如:销售、筹款或者簿记。

32. 我们为什么要雇用你?

面试是一门学问。展示自己的实力很重要。面试就如把自己卖掉。

自己就是一个产品,不但能吹,把自己吹大,还真的有两把刷子。

如果你的刷子还不够好,那么努力练习就好。