1-5/6×11/1等于多少?

私募江湖,英雄辈出!相传依据师承何门,可将各路英雄豪杰分为以“北大派”、“清华派”、“复旦派”、“人大派”为首的十一大著名高校派系。

私募所投市场地盘存在差别,此篇先对证券私募基金经理进行年末盘点,至于张磊、沈南鹏等股权投资为主的私募大佬,还得等下回另开一篇。

经查阅和整理江湖上的知名证券私募基金经理名录后,发现近两百名基金经理多出身不凡,师从国内外一流高校:

国内在列的有北京大学、中国人民大学、清华大学、南开大学、复旦大学、上海交通大学、南京大学、浙江大学、中国科技大学、厦门大学、中山大学等“双一流”、985、211高校,也有上海财经大学、中央财经大学、中南财经政法大学、西南财经大学、东北财经大学五大财经类院校,还有备受瞩目的两大独立商学院:中欧国际工商学院和长江商学院。

国际的基本涵盖了美欧顶尖院校,有哈佛大学、耶鲁大学、宾夕法尼亚大学、哥伦比亚大学、康奈尔大学等美国常青藤大学,和剑桥大学、伦敦政治经济学院等英国留学领域赫赫有名的院校。

经统计,按对应高校基金经理数量统计排名,获得前三甲的是北京大学、清华大学(含清华五道口)、复旦大学,其后依次为中国人民大学、上海交通大学、浙江大学、厦门大学、中国科技大学、上海财经大学、中科院、南开大学,亦是由此机缘,在私募江湖慢慢形成了对应的高校派系。

(注:统计了近200名知名私募证券基金经理,其中部分人员曾就读过2所以上高校,可能会在后续分高校时重复出现。)

接下来,且容基金君带领各位细窥各派一二:

1. 北大派,人数最多、多元化发展

师出北京大学的私募基金经理人数在众派系中排行第一!细看下来,来自于该派系的基金经理所擅长策略较为多元化,除了股票策略,在固定收益、宏观策略、相对价值策略、组合策略上也有分布。

擅长股票策略,源乐晟资产的曾晓洁及其同为该派系的合伙人(吕小九、杨建海)、大禾投资的胡鲁滨、观富投资的万定山、于翼资产的陈忠博士等都曾在北京大学拿到对应研习领域的最高学历;另有睿策投资的黄明博士、泓信投资的尹克博士也曾在此求学过。

量化领域建树颇多的基金经理也从这里出发, “四大天王”中有三家九坤投资的姚齐聪、锐天投资的徐晓波、致诚卓远的史帆齐聚于此,还有明汯投资的解环宇,与平方和投资的吕杰勇、启林投资的王鸿勇,以及后来出国求学的金锝资产的任思泓。

固定收益策略的有乐瑞资产的王笑冬、明毅博厚投资的高雄帅、及成阳资产的郭小菲。值得一提的是,中基协显示,乐瑞资产已于今年9月中旬登记为私募资产配置类管理人,成为自今年2月首批3家上线后,第四家备案的资产配置类私募。

宏观策略较为考验基金经理的宏观研究判断和资产配置能力,本身在市场上数量较少,而泊通投资的卢洋就是其中之一。此外,熵一资本的谢东海也曾在北京大学攻读经济学硕士。

近期公募FOF发行迎来小高潮、公募MOM产品指引落地,北大派系也有对应策略的代表,宋兴华所在的珠池资产,以管理FOF母基金、MOM产品、提供投资服务为主要业务。

2. 清华派,五道口助力,仅次于北大

对应到清华大学(含清华五道口)的私募基金经理数量摘得榜眼位置。

在这里,可以看到两个较为明显的特点:

1、 该派系基金经理擅长的投资策略集中在股票策略,仅3~4位较擅长其他策略。

股票策略方面,陈勤所在的磐京投资为今年前11月业绩第一的百亿私募。罗晓春所在的汉和资本近年表现突出,其产品特点鲜明,不收取管理费、持有人份额锁定期3年、通常满仓操作。

其他策略方面,主要为擅长管理期货策略的九坤投资的王琛博士、和擅长固定收益的合晟资产的胡远川博士。

2、 该派系基金经理多为私募行业资历深、名气大、影响广的大佬级前辈,且多位大佬合伙共创了顶级知名私募公司。

曾今的“公募一哥”王亚伟在2012年公奔私成立了千合资本,同清华派、同华夏系的崔同魁之后也加入了千合资本。景林资产的蒋锦志及其合伙人蒋彤都来自于清华五道口、高毅资产的邓晓峰和韩海峰都来自于清华大学。

合晟资产的胡远川博士和苏李丹也出自清华大学,其实更进步一看,合晟资产的核心团队几乎都毕业于清华大学,固收投资部总监曹晋是清华大学工学硕士、德国亚琛工业大学工学硕士,副总监兼投资经理徐华是清华大学工学硕士,研究部副总监欧鹏是清华大学理学学士、厦门大学经济学硕士。

3. 复旦派,江晖领军追求绝对回报

复旦派为此次统计的探花。复旦大学坐落在上海这个开放前沿的洋气城市,培育的学生可能也更早感受到国际化趋势和金融产业发展先机。

江晖是中国第一代公募基金经理,早在2004年与美国著名绝对回报基金(Millennium USA, L.P.)交流后,坚定了追求绝对收益之路;后于2007年第一波公奔私浪潮中,和合伙人发起设立了星石投资,成为了追求中长期绝对回报的私募行业领军者。

申毅博士自1999年起在高盛自营部门从事ETF指数基金上市交易和二级市场交易,创建了高盛ETF欧洲部门,并担任执行交易董事;也曾担任安硕(iShares)前35只ETF首席做市商、业内领先数量型对冲基金Millennium Parters的高级投资组合经理等。2004年回国创立了申毅投资,是国内量化套利领域的首批开创者。

4. 人大派,裘国根、但斌等领衔

人大派来看,传奇私募基金经理也有不少,重阳投资的裘国根、东方港湾的但斌、盘京投资的庄涛等。

名单之首重阳投资的裘国根与人大的故事已被传为佳话,1987年到1993年就读人大,并获得经济学学士、硕士,2012年回馈母校,向人大一次性捐赠两亿元,并认同人大办学理念,对其用好捐款也充满信心。

另外,人大派私募基金经理在与宏观经济研究与投资相关的宏观策略、固定收益策略上较为擅长,这两类策略基金经理人有乐瑞资产的唐毅亭、暖流资产的程鹏、千为投资的王林、盈峰资本的何伟鉴。

5. 上交大派,多位基金经理发展势头正好

上交大派中,和熙投资的朱晓明、鸣石投资的王晓晗博士、弘尚资产的于龙相对资历更深。

近两年鸣石投资受关注度较高,采用高频Alpha策略获取超额收益。廖振华所在的睿璞投资坚持独立深度研究企业基本面,抓住“好生意+好价格”投资机会,业绩表现较好,频获各大私募奖项。

6. 浙大派,张益驰、卓利伟、陈哲…

浙大派名单中,去往外地开展投资活动和扎根本土的约各占一半。

张益驰“公奔私”较早,于2010年在上海创立了远策投资,专注股票策略。

扎根本土较深的有宁波宁聚的谢叶强和葛鹏、浙江九章(幻方量化)的陈哲和徐进,都有量化策略,幻方量化依靠数学与人工智能进行量化投资,发展十分迅速。

7. 厦大派,林军、郑宇、詹凌蔚、蔡海洪…

厦大派私募基金经理从业经验较久的主要是滚雪球投资的林军、映雪资本的郑宇、观富资产的詹凌蔚、盈峰资本的蒋峰博士和睿璞的蔡海洪。詹凌蔚、蒋峰博士、蔡海洪都曾在知名公募基金担任过基金经理。

8. 中科大派,学无止境、精益求精

中科大派名单中,多数私募基金经理在此求学后,又去了海外进行深造,在中科大毕业后进入金融行业的有珠池资产的朱颖、启林投资的沈显兵。启林投资主要投资策略为阿尔法加T0策略。

9. 上财派,江作良坐镇

前一段时间,因某“色狼”副教授事件令上海财经大学频频入镜,带了一定负面影响。

本次来看上财派,既有一代私募泰斗如惠正投资的江作良,第一批进入我国基金业、且投资业绩令人瞩目,又有中流砥柱行业研究功底扎实如同犇投资的童驯、还有新兴量化时代应用机器学习技术的进化论资产的李靖。

10. 中科院派,跨境商品套利是什么?

展弘投资的陈方府毕业于中国科学院研究生院,获得信号与信息处理硕士学位,所管理的产品主要策略为跨境商品套利。

11. 南开大派,赵军领衔

该派系私募基金经理中,只有淡水泉的赵军、理成资产的程义全博士两位投资大佬在南开大获得了最高学位。

  今日招聘网2022年07月05日讯:为优化人才结构,加强事业单位人才队伍建设,根据《事业单位人事管理条例》(国务院令第652号)、《重庆市事业单位公开招聘人员实施办法》(渝人发〔2006〕44号)和《关于进一步规范事业单位公开招聘工作的通知》(渝人社发〔2011〕326号)等有关规定,经市级事业单位人事综合管理部门备案,现面向2022届高校毕业生公开招聘事业单位工作人员。

  坚持公开、平等、竞争、择优方针和按照德才兼备的用人标准,采取考试与考察相结合的方式进行。

  二、招聘岗位及数量

  本次面向2022届高校毕业生公开招聘教育事业单位工作人员11名,具体招聘计划见附件1。

  三、招聘范围和对象

  /)人事招考事业单位公开招聘专栏及时公告,请报考人员及时关注。

  四、报名及资格初审

  本次公开招聘采取网上报名和现场报名相结合的方式,网上报名的考生也必须到现场进行资格审查,最终以现场资格审查为准,任何单位和个人不得以任何理由拒绝符合报考条件的人员报名应聘并参加考试考核。

  (一)报名、资格初审时间及地点

  报考人员在2022年7月6日09:00至7月10日17:00期间,登陆渝北区人力资源和社会保障局网上报名系统(网址::18443/New_cqyubeirs//)人事招考专栏公布。

  根据拟招聘岗位和数量,按报考该岗位考生考试考核总成绩从高分到低分依次等额确定拟签约人选。拟签约人员经签约现场资格核实后,当场签订《全国普通高等学校毕业生就业协议书》。就业协议书中须明确违约行为以及违约责任。如有考生本人弃权,需递补的,则在报考同一学校、同一岗位范围内,按该岗位报考人员考核总成绩从高到低依次递补,且递补人员的综合面试成绩不得低于70分,或不低于同一面试小组中综合面试成绩在60分以上人员的综合面试平均成绩。递补实行双向选择,如用人单位放弃本轮递补人员,则不再进行下一轮递补。

  若考试考核总成绩相同,则依次按专业技能测试成绩、综合面试成绩、学历以及大学期间各专业学科平均成绩(必修课)高者优先。

  已签订《全国普通高等学校毕业生就业协议书》的考生毕业后持当地大中专毕业生就业部门发给的就业报到证、毕业证书、学位证书、教师资格证书等相关材料,于2022年7月31日前到渝北区教育委员会人事科接受资格复审,资格复审合格的考生参加体检。未按期进行资格复审的,视为自动放弃,并履行违约责任。

  体检、考察在考生毕业后进行。体检由区人力社保局会同区教委按规定组织实施。体检标准参照《关于修订〈公务员录用体检通用标准(试行)及〈公务员录用体检操作手册(试行)〉有关内容的通知》(人社部发〔2016〕140号)等规定,结合本行业或岗位实际要求执行,并按规定填写《事业单位工作人员聘用体检表》。体检在指定的具有资质的县级以上医疗卫生机构进行。除按相关规定应在当场或当天复检并确认体检结果的项目外,招聘单位或受检人对体检结论有异议的,可在接到体检结论通知之日起7日内书面提出复检申请,经区人力社保局同意后到指定医院进行一次性复检,体检结论以复检结论为准。

  体检合格者,由招聘单位会同主管部门对其政治思想素质、能力素质、遵纪守法情况、道德品质修养、日常学习情况、身份状况以及是否需要回避等进行考察,并对资格条件进行复审。考察应坚持“凡进必审”,考察小组要按照“谁审查、谁负责”、考察留痕的原则,严格审查拟聘人员的人事档案、诚信记录、违法犯罪记录、学历学位和招聘岗位要求的获奖情况、职称、职业(执业)资格、工作经历等资格条件,并注重采取实地考察、延伸考察、官方网站查询等方式进行查证。其中,学历、学位及信用情况应通过【中国高等教育学生信息网()查询学历、中国学位与研究生教育信息网(/)查询学位、中国执行信息公开网()查询最高人民法院公布的失信被执行人、“信用中国”网站()查询国家有关部委联合签署备忘录明确的失信情形人员】等等进行查证。考察结论为不合格的,考察小组应向报考人员说明原因。

  若有报考人员体检、考察不合格或在体检、考察中经确认自动放弃资格,其缺额可按前述规则递补。拟聘人选一经拟聘公示,因各种原因再出现缺额的不再递补。

  对事业单位招聘岗位报考资格的审查贯穿于公开招聘全过程,凡查实报考人员条件不符合应聘资格条件的,取消进入后续招聘环节或继续聘用资格。其中,在面试组织实施前查实的,其缺额按面试人选递补规则进行递补;在面试组织是实施后查实的,其缺额不再递补。

  体检、考察等有关事宜,在渝北区人民政府网(/)人事招考事业单位公开招聘专栏上发布,请考生及时关注。

  拟聘人员名单在重庆人力资源和社会保障局(/)等网站上公示,公示时间为7个工作日。公示内容包括姓名、性别、出生年月、毕业院校及毕业时间、所学专业及学历(学位)、考试考核总成绩以及岗位招聘条件所要求的工作经历、职称、职业(执业)资格等其他应公示事项。考生未在本公告规定期限内取得报考岗位条件要求的毕业证书、资格证书等证书的,取消公示及聘用资格。

  经公示无异议,或异议信息经核实不影响聘用的拟聘用人员,由招聘单位提出拟聘用意见,填写《重庆市事业单位新进人员备案表》和《重庆市事业单位拟聘用人员名册》等送上级主管部门审核后,报事业单位人事综合管理部门审批。

  经审批同意聘用的人员,招聘单位按照有关规定与聘用人员签订《事业单位聘用合同》,确立人事关系,完善聘用手续,相关待遇按有关规定执行。

  公开招聘的人员按规定实行试用期。试用期满考核合格,予以正式聘用;试用期满考核不合格,取消聘用资格。

  本次公开招聘全部人员一经聘用,须在渝北区最低服务满5年以上,方能交流、调动,未满规定服务期提出解除人事关系者,应承担相应违约责任,属公费师范生的还将按公费师范生协议执行。

  公开招聘事业单位工作人员,是公开选拔优秀人才的重要渠道,必须严肃人事工作纪律,确保招聘工作顺利进行。各有关单位要严格执行《事业单位公开招聘违纪违规行为处理规定》(人力资源和社会保障部令第35号)、《事业单位人事管理回避规定》(人社部规〔2019〕1号),认真贯彻《关于印发〈重庆市事业单位考核招聘工作人员办法〉等6个公开招聘配套文件的通知》(渝人社发〔2016〕281号)等有关政策规定,自觉接受纪检监察机关和社会各界的监督,若有违纪违规行为,按规定追究有关责任。

  公开招聘过程中凡发现报考人员档案材料或者信息涉嫌造假的,应当立即查核,未核实前,暂停聘用;发现报考人员提供虚假材料、隐瞒事实真相,或提供的材料、信息不实影响审核结果的,或干扰、影响考察单位客观公正进行考察的,给予考察不合格结论,一律不予聘用。报考人员提供伪造的身份证件和招聘公告要求的学历(学位)、职(执)业资格等材料的,一经查实,视为品行不端及不诚信行为,由区县事业单位人事综合管理部门报市级事业单位人事综合管理部门备案并计入个人诚信档案,从本公告发布之日起5年内限制招聘为我市事业单位工作人员。

  本简章由渝北区人力社保局、渝北区教委、重庆市第八中学校负责解释。

  (一)请考生在招聘期间保持所提供通讯方式畅通,并在“渝北区人民政府网”(/)人事招考专栏上查询本次考试相关信息。因考生本人原因未获知相关信息而影响考试或聘用的,责任由考生自行承担。

  (二)本次公开招聘不举办也不委托任何机构举办考试辅导培训班。目前社会上出现的任何以公开招聘考试命题组、培训机构等名义举办的辅导班、辅导网站或发行的出版物,均与本次公开招聘无关。

  (三)请考生不要轻信手机及网络上发布的“考试真题”、“面试保过”等骗取高额费用的诈骗信息。

  报名、签约咨询电话:渝北区教委023—;

  重庆八中:023—

  考务咨询电话:渝北区人力社保局023—、023—。

  重庆市事业单位公开招聘问题和情况反映信箱:(该邮箱不接受简历)。

  1.重庆市渝北区教育事业单位面向2022届高校毕业生公开招聘工作人员岗位一览表

  2.重庆市渝北区教育事业单位面向2022届高校毕业生公开招聘工作人员报名登记表

  3.现场资格审查所需材料

  4.“世界一流学科”建设学科名单

  5.全国第四轮学科评估结果

  6.重庆市考试录用公务员专业参考目录(2015年8月修订版)

  7.世界一流大学排名200名学校

  8.职业教育专业目录(2021年)


shell基础1:文件安全与权限
当创建一个文件的时候,系统保存了有关该文件的全部信息,包括:
• 哪位用户拥有该文件,哪些用户可以访问该文件。
让我们用touch命令创建一个文件:
创建了一个空文件,现在用ls -l命令查看该目录下文件的属性(我这里用中文版):
总用量 36:是ls所列出的入口占用空间的字节数(以K为单位)。
1该文件硬链接的数目。
root:文件属组(一般是文件属主所在的缺省组。)
34890:字节来表示的文件长度,记住,不是K字节!
BTW:要检查该目录所有文件占用的空间应该用这个命令:du。
譬如说前面说的36是如何计算出来:
首先我们要先了解你所用的文件系统的IO BLOCK(中文叫作簇)为多少,在你所使用的这个文件系统的IO BLOCK大小是4096 Bytes。
他意义是文件系统最小的读写及分配单位,每次读写操作你都不能小于这个尺寸。即使你的文件是只有一个字节。而且文件在硬盘上的存储也是以这个为单位,就是说如果文件尺寸小于这个值,那么它在磁盘上占用的空间就是4096字节。
占用空间的具体算法是:(进一(文件尺寸/4096))×4096。根据这个你就可以计算出你所列举的例子中的文件的空间使用状况:34890除以4096,大约等于8.5,进一法取得为9,就是说文件在磁盘上占用了9个BLOCk,每个BLOCK为4K,所以这两个文件占用的空间就是36K。
这个规则也适合于目录,不过不会出现为0的目录,即使是空目录
第一个横杠:指定文件类型,表示该文件是一个普通文件。(所创建的文件绝大多数都是普通文件或符号链接文件)。
除去最前面的横杠,一共是9个字符,他们分别对应9个权限位。通过这些权限位,可以设定用户对文件的访问权限。对这两个文件的精确解释是:
rw-:前三位,文件属主可读、写
r--:中间三位,组用户可读
r--:最后三位,其他用户只可读
在创建的时候并未给属主赋予执行权限,在用户创建文件时,系统不会自动地设置执行权限位。这是出于加强系统安全的考虑
BTW:文件的属主组并不一定就是所有者所在的缺省组,而可以是任何一个跟该文件所有者无关的用户组。为了方便,还是统称属主,属组和其它
前面提到的第一条横杠,表示该文件是普通文件型
文件类型有七种,它可以从ls -l命令所列出的结果的第一位看出.
l 符号链接(指向另一个文件)。
- 普通文件,或者更准确地说,不属于以上几种类型的文件。
文件的权限位中中每一组字符中含有三个权限位:
x 执行该脚本或程序的权限
r-- --- --- 文文件属主可读,但不能写或执行
r-- r-- --- 文文件属主和属组用户(一般来说,是文件属主所在的缺省组)可读
r-- r-- r- - 文任何用户都可读,但不能写或执行
rwx r-- r- - 文文件属主可读、写、执行,属组用户和其他用户只可读
rwx r-x --- 文文件属主可读、写、执行,属组用户可读、执
rwx r-x r- x 文文件属主可读、写、执行,属组用户和其他用户可读、执行
rw- rw- --- 文文件属主和属组用户可读、写
rw- rw- r- - 文文件属主和属组用户可读、写,其他用户可读
rw- rw- --- 文文件属主和属组用户及其他用户读可以读、写,慎用这种权限
设置,因为任何用户都可以写入该文件
使用chmod来改变权限位
这一命令有符号模式和绝对模式。
chmod命令的一般格式为:
a 所有用户(文件属主、属组用户及其他用户)。
l 给文件加锁,使其他用户无法访问。
u,g,o 针对文件属主、属组用户及其他用户的操作。
*在列文件或目录时,有时会遇到“ t”位。“t”代表了粘性位。如果在一个目录上出现“t”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个属组用户具有和属主同等的权限。不过有的系统在这一规则上并不十分严格。
如果在文件列表时看到“ t”,那么这就意味着该脚本或程序在执行时会被放在交换区(虚存)。
"t"权限用在文件上面是没有意义的,不是什么在交换区的概念,它跟文件的执行没有关系,而主要是为了文件共享设置的。
1,t 权限是粘着位,例:TMP目录下,任何人都有读写执行权限,但是不是任何人对里边的可写权限的文件就可以删除呢,当然不是了,这个就是粘着位的做用,只有所有者才有权删除自已的文件,当然,ROOT除外
2,关于文件安全的另一种权限,
i权限 也就是不可修改权限  例:chattr u+i aaa 则aaa文件就不可修改,无论任何人,如果删除就用u-i就好了
a权限 也就是只追加权限, 对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。方法和i权限一样加
如果想要看某个文件是不是有这个权限,用lsattr filename就行了
当创建temp文件时,它具有这样的权限:
如果要使属主和属组用户具有有执行权限,并取消其他用户(所有其他用户)的写权限,可以用:
这样,该文件的权限变为:
现在已经使文件属主对temp文件具有读、写执行的权限,属组用户真有读写权限,其它用户没有权限了。
chm d命令绝对模式的一般形式为:
其中m o d e是一个八进制数。
在绝对模式中,权限部分有着不同的含义。每一个权限位用一个八进制数来代表,如
在设定权限的时候,只需按照上面查出与文件属主、属组用户和其他用户所具有的权限相对应的数字,并把它们加起来,就是相应的权限表示。
可以看出,文件属主、属组用户和其他用户分别所能够具有的最大权限值就是7。
再来看看前面举的例子:
有一个计算八进制权限表示的更好办法,如下:
这上面这相,更容易地计算出相应的权限值,只要分别针对文件属主、属组用户和其他用户把相应权限下面的数字加在一起就可以了。
temp文件具有这样的权限:
把相应权限位所对应的值加在一起,就是7 4 4。
chmod 644 rw- r-- r- - 赋予所有文件属主读和写的权限,所有其他用户读权限
chmod 744 rwx r-- r- - 赋予文件属主读、写和执行的权限,所有其他用户读的权限
chmod 664 rw- rw- r- - 赋予文件属主和属组用户读和写的权限,其他用户读权限
下面举一个例子,假定有一个名为temp的文件,具有如下权限:
现在希望对该文件可读、写和执行, root组用户对该文件只读,可以键入:
如果文件可读、写和执行,对其他所有用户只读,用:
如果希望一次设置目录下所有文件的权限,可以用:
这将使文件属主和属组用户都具有读和写的权限,其他用户只具有读权限。
还可以通过使用- R选项连同子目录下的文件一起设置:
这样就可以一次将/ temp目录下的所有文件连同各个子目录下的文件的权限全部设置为文件属主和属组用户可读和写,其他用户只读。使用- R选项一定要谨慎,只有在需要改变目录树下全部文件权限时才可以使用。
目录的权限位和文件有所不同。目录的读权限位意味着可以列出其中的内容。写权限位意味着可以在该目录中创建文件,如果不希望其他用户在你的目录中创建文件,可以取消相应的写权限位。执行权限位则意味着搜索和访问该目录.
r :可以列出该目录中的文件
w:可以在该目录中创建或删除文件
x:可以搜索或进入该目录
权限文件属主属组用户其他用户
drwx rwx r- x ( 775 ) 属主读、写、执行,属组读、写、执行,其它组读、执行
drwx r-x r- x ( 755 ) 属主读、写、执行,属组读、执行,其它组读、执行
如果把属组用户或其他用户针对某一目录的权限设置为- - x,那么他们将无法列出该目录中的文件。如果该目录中有一个执行位置位的脚本或程序,只要用户知道它的路径和文件名,仍然可以执行它。用户不能够进入该目录并不妨碍他的执行。
目录的权限将会覆盖该目录中文件的权限。例如,如果目录temp具有如下的权限:
而目录下的文件myfile的权限为:
那么admin组的用户将无法编辑该文件,因为它所属的目录不具有这样的权限。
该文件对任何用户都可读,但由于它所在的目录并未给admin组的用户赋予执行权限,所以该组的用户都将无法访问该目录,他们将会得到“访问受限”的错误消息。
1、为什么要使用这种类型的脚本?
例如有几个着几个大型的数据库系统,对它们进行备份需要有系统管理权限。可以写几个脚本,并设置了它们的g u i d,这样就可以指定的一些用户来执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其他管理任务,但是在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。
有相当一些U N I X命令也设置了s u i d和g u i d。如果想找出这些命令,可以进入/ b i n或/ s b i n目录,执行下面的命令:
上面的命令是用来查找s u i d文件的;
设置s u i d:将相应的权限位之前的那一位设置为4;
设置g u i d:将相应的权限位之前的那一位设置为2;
两者都置位:将相应的权限位之前的那一位设置为4+2=6。
设置了这一位后x的位置将由s代替。
记住:在设置s u i d或g u i d的同时,相应的执行权限位必须要被设置。
例如,如果希望设置g u i d,那么必须要让该用户组具有执行权限。
4、还可以使用符号方式来设置s u i d / g u i d。如果某个文件具有这样的权限: rwx r-x r- x,那么可以这样设置其s u i d:
在查找设置了s u i d的文件时,没准会看到具有这样权限的文件:rwS r-x r- x,其中S为大写。
它表示相应的执行权限位并未被设置,这是一种没有什么用处的s u i d设置,可以忽略它的存在。
注意,c h m o d命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但chmod 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。
当你创建一个文件时,你就是该文件的属主。一旦你拥有某个文件,就可以改变它的所有权,把它的所有权交给另外一个/ e t c / p a s s w d文件中存在的合法用户。可以使用用户名或用户I D号来完成这一操作。
在改变一个文件的所有权时,相应的s u i d也将被清除,这是出于安全性的考虑。只有文件的属主和系统管理员可以改变文件的所有权。一旦将文件的所有权交给另外一个用户,就无法再重新收回它的所有权。如果真的需要这样做,那么就只有求助于系统管理员了。
- R选项意味着对所有子目录下的文件也都进行同样的操作。
- h选项意味着在改变符号链接文件的属主时不影响该链接所指向的目标文件。
文件sam的所有权现在由用户sam交给了用户gem。
c h g r p命令和c h o w n命令的格式差不多,下面给出一个例子。
现在把该文件sam所属的组由sam变为group。
4、找出你所属于的用户组
如果你希望知道自己属于哪些用户组,可以用ID这个命令:
5、找出其他用户所属于的组
查看其它用户所用组:#id 用户名
这里书上用group,但我试过不能使

上面理解了,下面就不难了,找个地方放一下,俺怕自己给忘了
如果输入下例命令就会出错:
第一行:由于soft quote中没法关闭$,因此用来关闭$meta
第二行:{关闭{, (空格,关闭空格键),$,}就不用说了
可以使用如下几种方案:
上面得注意$和''和""的包含位置
面没有讲述a w k的全部特性,也不涉及a w k的深层次编程,仅讲述使用a w k执行行操作及怎样从文本文件和字符串中抽取信息。
a w k语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息。a w k抽取信息后,才能进行其他文本操作。完整的a w k脚本通常用来格式化文本文件中的信息。
有三种方式调用a w k,第一种是命令行方式,如:
上面例子中, [ - F域分隔符]是可选的,因为a w k使用空格作为缺省的域分隔符,因此如果要浏览域间有空格的文本,不必指定这个选项,但如果要浏览诸如p a s s w d文件,此文件各域以冒号作为分隔符,则必须指明- F选项,如:
第二种方法是将所有a w k命令插入一个文件,并使a w k程序可执行,然后用a w k命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。
第三种方式是将所有的a w k命令插入一个单独文件,然后调用:
在命令中调用a w k时,a w k脚本由各种操作和模式组成。
如果设置了- F选项,则a w k每次读一条记录或一行,并使用指定的分隔符分隔指定域,但如果未设置- F选项,a w k假定空格为域分隔符,并保持这个设置直到发现一新行。当新行出现时,a w k命令获悉已读完整条记录,然后在下一个记录启动读命令,这个读进程将持续到文件尾或文件不再存在。
参照表,a w k每次在文件中读一行,找到域分隔符(这里是符号#),设置其为域n,直至一新行(这里是缺省记录分隔符),然后,划分这一行作为一条记录,接着a w k再次启动下一行读进程。
awk读文件记录的方式
域1 分隔符 域2 分隔符 域3 分隔符 域4及换行
任何a w k语句都由模式和动作组成。在一个a w k脚本中可能有许多语句。模式部分决定动作语句何时触发及触发事件。处理即对数据进行的操作。如果省略模式部分,动作将时刻保持执行状态。
模式可以是任何条件语句或复合语句或正则表达式。模式包括两个特殊字段B E G I N和E N D。使用B E G I N语句设置计数和打印头。B E G I N语句使用在任何文本浏览动作之前,之后文本浏览动作依据输入文件开始执行。E N D语句用来在a w k完成文本浏览动作后打印输出文本总数和结尾状态标志。如果不特别指明模式, a w k总是匹配或打印行数。
实际动作在大括号{ }内指明。动作大多数用来打印,但是还有些更长的代码诸如i f和循环(l o o p i n g)语句及循环退出结构。如果不指明采取动作, a w k将打印出所有浏览出来的记录。
a w k执行时,其浏览域标记为$ 1,$ 2 . . . $ n。这种方法称为域标识。使用这些域标识将更容易对域进行进一步处理。
使用$ 1 , $ 3表示参照第1和第3域,注意这里用逗号做域分隔。如果希望打印一个有5个域的记录的所有域,不必指明$ 1 , $ 2 , $ 3 , $ 4 , $ 5,可使用$ 0,意即所有域。Aw k浏览时,到达一新行,即假定到达包含域的记录末尾,然后执行新记录下一行的读动作,并重新设置域分隔。
注意执行时不要混淆符号$和s h e l l提示符$,它们是不同的。
为打印一个域或所有域,使用p r i n t命令。这是一个a w k动作(动作语法用圆括号括起来)。
真正执行前看几个例子,现有一文本文件g r a d e . t x t,记录了一个称为柔道数据库的行信息。
此文本文件有7个域,即(1)名字、(2)升段日期、(3)学生序号、(4)腰带级别、(5)年龄、(6)目前比赛积分、(7)比赛最高分。
因为域间使用空格作为域分隔符,故不必用- F选项划分域,现浏览文件并导出一些数据。在例子中为了利于显示,将空格加宽使各域看得更清晰。
有两种方式保存s h e l l提示符下a w k脚本的输出。最简单的方式是使用输出重定向符号>文件名,下面的例子重定向输出到文件w o w。
使用这种方法要注意,显示屏上不会显示输出结果。因为它直接输出到文件。只有在保证输出结果正确时才会使用这种方法。它也会重写硬盘上同名数据。
第二种方法是使用t e e命令,在输出到文件的同时输出到屏幕。在测试输出结果正确与否时多使用这种方法。例如输出重定向到文件d e l e t e _ m e _ a n d _ d i e,同时输出到屏幕。使用这种方法,在a w k命令结尾写入| tee delete_me_and_die。
在深入讲解这一章之前,先对a w k脚本的输入方法简要介绍一下。实际上任何脚本都是从标准输入中接受输入的。为运行本章脚本,使用a w k脚本输入文件格式,例如:
也可替代使用下述格式:
这里我怎么看不明白,汗
a w k读每一条记录。因为没有模式部分,只有动作部分{print $0}(打印所有记录),这个动作必须用花括号括起来。上述命令打印整个文件。
假定只打印学生名字和腰带级别,通过查看域所在列,可知为f i e l d - 1和f i e l d - 4,因此可以使用$ 1和$ 4,但不要忘了加逗号以分隔域。
上述命令输出在名字和腰带级别之间用一些空格使之更容易划分,也可以在域间使用t a b键加以划分。为加入t a b键,使用t a b键速记引用符 t,后面将对速记引用加以详细讨论。也可以为输出文本加入信息头。本例中加入n a m e和b e l t及下划线。下划线使用 n,强迫启动新行,并在 n下一行启动打印文本操作。打印信息头放置在B E G I

    在使用f i n d命令时,可能希望先匹配所有的文件,再在子目录中查找。使用d e p t h选项就可以使f i n d命令这样做。这样做的一个原因就是,当在使用f i n d命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。
    在下面的例子中, f i n d命令从文件系统的根目录开始,查找一个名为C O N . F I L E的文件。
    它将首先匹配所有的文件然后再进入子目录中查找。
    在当前的文件系统中查找文件(不进入其他文件系统),可以使用f i n d命令的m o u n t选项。
    从当前目录开始查找位于本文件系统中文件名以X C结尾的文件:
    c p i o命令可以用来向磁带设备备份文件或从中恢复文件。可以使用f i n d命令在整个文件系统中(更多的情况下是在部分文件系统中)查找文件,然后用c p i o命令将其备份到磁带上。
    如果希望使用c p i o命令备份/ e t c、/ h o m e和/ a p p s目录中的文件,可以使用下面所给出的命令,不过要记住你是在文件系统的根目录下:
    在上面的例子中,应当注意到路径中缺少/。这叫作相对路径。之所以使用相对路径,是因为在从磁带中恢复这些文件的时候,可以选择恢复文件的路径。例如,可以将这些文件先恢复到另外一个目录中,对它们进行某些操作后,再恢复到原始目录中。如果在备份时使用了绝对路径,例如/ e t c,那么在恢复时,就只能恢复到/ e t c目录中去,别无其他选择。在上面的例子中,我告诉f i n

    shell 脚本中长而复杂的管道很容易。试一下用您所喜爱的编辑器去那样做。
    对 Linux 用户来说幸运的是,最好的 sed 版本之一恰好是 GNU sed,其当前版本是 3.02。每一个 Linux 发行版都有(或至少应该有)GNU sed。GNU sed 之所以流行不仅因为可以自由分发其源代码,还因为它恰巧有许多对 POSIX sed 标准便利、省时的扩展。另外,GNU 没有 sed 早期专门版本的很多限制,如行长度限制 -- GNU 可以轻松处理任意长度的行。
    在研究这篇文章之时我注意到:几个在线 sed 爱好者提到 GNU sed 3.02a。奇怪的是,在ftp.gnu.org(有关这些链接,请参阅参考资料)上找不到 sed 3.02a,所以,我只得在别处寻找。我在alpha.gnu.org 的 /pub/sed 中找到了它。于是我高兴地将其下载、编译然后安装,而几分钟后我发现最新的 sed 版本却是 3.02.80 -- alpha.gnu.org(请参阅参考资料)是新的和实验性 GNU 源代码的所在地。然而,您还会在那里发现许多优秀、稳定的源代码。出于某种原因,不是许多 GNU 开发人员忘记将稳定的源代码移至
    ,就是它们的 "beta" 期间格外长(2 年!)。例如,sed 3.02a 已有两年,甚至 3.02.80 也有一年,但它们仍不能(在 2000 年 8 月写本文章时)在
    在本系列中,将使用 GNU sed 3.02.80。在即将出现的本系列后续文章中,某些(但非常少)最高级的示例将不能在 GNU sed 3.02 或 3.02a 中使用。如果您使用的不是 GNU sed,那么结果可能会不同。现在为什么不花些时间安装 GNU sed 3.02.80 呢?那样,不仅可以为本系列的余下部分作好准备,而且还可以使用可能是目前最好的 sed 通过对输入数据执行任意数量用户指定的编辑操作(“命令”)来工作。sed 是基于行的,因此按顺序对每一行执行命令。然后,sed 将其结果写入标准输出 (stdout),它不修改任何输入文件。
    让我们看一些示例。头几个会有些奇怪,因为我要用它们演示 sed 如何工作,而不是执行任何有用的任务。然而,如果您是 sed 新手,那么理解它们是十分重要的。下面是第一个示例:
    如果输入该命令,将得不到任何输出。那么,发生了什么?
    在该例中,用一个编辑命令 'd' 调用 sed。sed 打开 /etc/services 文件,将一行读入其模式缓冲区,执行编辑命令(“删除行”),然后打印模式缓冲区(缓冲区已为空)。然后,它对后面的每一行重复这些步骤。这不会产生输出,因为 "d" 命令除去了模式缓冲区中的每一行!
    在该例中,还有几件事要注意。首先,根本没有修改 /etc/services。这还是因为 sed 只读取在命令行指定的文件,将其用作输入 -- 它不试图修改该文件。第二件要注意的事是 sed 是面向行的。'd' 命令不是简单地告诉 sed 一下子删除所有输入数据。相反,sed 逐行将 /etc/services 的每一行读入其称为模式缓冲区的内部缓冲区。一旦将一行读入模式缓冲区,它就执行 'd' 命令,然后打印模式缓冲区的内容(在本例中没有内容)。我将在后面为您演示如何使用地址范围来控制将命令应用到哪些行 -- 但是,如果不使用地址,命令将应用到所有行。
    第三件要注意的事是括起 'd' 命令的单引号的用法。养成使用单引号来括起 sed 命令的习惯是个好注意,这样可以禁用 shell 扩展。
    现在,让我们看一下如何指定地址范围。在本例中,sed 将删除输出的第 1 到 10 行:
    当用逗号将两个地址分开时,sed 将把后面的命令应用到从第一个地址开始、到第二个地址结束的范围。在本例中,将 'd' 命令应用到第 1 到 10 行(包括这两行)。所有其它行都被忽略。
    现在演示一个更有用的示例。假设要查看 /etc/services 文件的内容,但是对查看其中包括的注释部分不感兴趣。如您所知,可以通过以 '#' 字符开头的行在 /etc/services 文件中放置注释。为了避免注释,我们希望 sed 删除以 '#' 开始的行。以下是具体做法:
    让我们分析发生的情况。
    要理解 '/^#/d' 命令,首先需要对其剖析。首先,让我们除去 'd' -- 这是我们前面所使用的同一个删除行命令。新增加的是 '/^#/' 部分,它是一种新的规则表达式地址。规则表达式地址总是由斜杠括起。它们指定一种 模式,紧跟在规则表达式地址之后的命令将仅适用于正好与该特定模式匹配的行。
    因此,'/^#/' 是一个规则表达式。但是,它做些什么呢?很明显,现在该复习规则表达式了。
    可以使用规则表达式来表示可能会在文本中发现的模式。您在 shell 命令行中用过 '*' 字符吗?这种用法与规则表达式类似,但并不相同。下面是可以在规则表达式中使用的特殊字符:
    将与前一个字符的零或多个出现匹配
    [ ] 与 [ ] 之内的所有字符匹配
    感受规则表达式的最好方法可能是看几个示例。所有这些示例都将被 sed 作为合法地址接受,这些地址出现在命令的左边。下面是几个示例:
    /./ 将与包含至少一个字符的任何行匹配
    /../ 将与包含至少两个字符的任何行匹配
    /^#/ 将与以 '#' 开始的任何行匹配
    /^$/ 将与所有空行匹配
    /}^/ 将与以 '}'(无空格)结束的任何行匹配
    /} *^/ 将与以 '}' 后面跟有零或多个空格结束的任何行匹配
    在这些示例中,鼓励您尝试几个。花一些时间熟悉规则表达式,然后尝试几个自己创建的规则表达式。可以如下使用 /^#/:
    这将导致 sed 删除任何匹配的行。删除以#开头的行
    请注意新的 '-n' 选项,该选项告诉 sed 除非明确要求打印模式空间,否则不这样做。您还会注意到,我们用 'p' 命令替换了 'd' 命令,如您所猜想的那样,这明确要求 sed 打印模式空间。就这样,将只打印匹配部分。打印以#开头的行
    目前为止,我们已经看到了行地址、行范围地址和 ^# 地址。但是,还有更多的可能。我们可以指定两个用逗号分开的规则表达式,sed 将与所有从匹配第一个规则表达式的第一行开始,到匹配第二个规则表达式的行结束(包括该行)的所有行匹配。例如,以下命令将打印从包含 "BEGIN" 的行开始,并且以包含 "END" 的行结束的文本块:
    如果没发现 "BEGIN",那么将不打印数据。如果发现了 "BEGIN",但是在这之后的所有行中都没发现 "END",那么将打印所有后续行。发生这种情况是因为 sed 面向流的特性 -- 它不知道是否会出现 "END"。
    如果只要打印 C 源文件中的 main() 函数,可输入:
    以main后面跟空格或制表键,以(开头,}结尾的
    该命令有两个规则表达式 '/main[[:space:]]*(/' 和 '/^}/',以及一个命令 'p'。第一个规则表达式将与后面依次跟有任意数量的空格或制表键以及开始圆括号的字符串 "main" 匹配。这应该与一般 ANSI C main() 声明的开始匹配。
    在这个特别的规则表达式中,出现了 '[[:space:]]' 字符类。这只是一个特殊的关键字,它告诉 sed 与 TAB 或空格匹配。如果愿意的话,可以不输入 '[[:space:]]',而输入 '[',然后是空格字母,然后是 -V,然后再输入制表键字母和 ']' -- Control-V 告诉 bash 要插入“真正”的制表键,而不是执行命令扩展。使用 '[[:space:]]' 命令类(特别是在脚本中)会更清楚。
    好,现在看一下第二个 regexp。'/^}' 将与任何出现在新行行首的 '}' 字符匹配。如果代码的格式很好,那么这将与 main() 函数的结束花括号匹配。如果格式不好,则不会正确匹配 -- 这是执行模式匹配任务的一件棘手之事。
    因为是处于 '-n' 安静方式,所以 'p' 命令还是完成其惯有任务,即明确告诉 sed 打印该行。试着对 C 源文件运行该命令 -- 它应该输出整个 main() { } 块,包括开始的 "main()" 和结束的 '}'。
    让我们看一下 sed 最有用的命令之一,替换命令。使用该命令,可以将特定字符串或匹配的规则表达式用另一个字符串替换。下面是该命令最基本用法的示例:
    上面的命令将 myfile.txt 中每行第一次出现的 'foo'(如果有的话)用字符串 'bar' 替换,然后将该文件内容输出到标准输出。请注意,我说的是每行第一次出现,尽管这通常不是您想要的。在进行字符串替换时,通常想执行全局替换。也就是说,要替换每行中的所有出现,如下所示:
    在最后一个斜杠之后附加的 'g' 选项告诉 sed 执行全局替换。
    关于 's///' 替换命令,还有其它几件要了解的事。首先,它是一个命令,并且只是一个命令,在所有上例中都没有指定地址。这意味着,'s///' 还可以与地址一起使用来控制要将命令应用到哪些行,如下所示:
    上例将导致用短语 'entrapment' 替换所有出现的短语 'enchantment',但是只在第一到第十行(包括这两行)上这样做。
    该例将用 'mountains' 替换 'hills',但是,只从空行开始,到以三个字符 'END' 开始的行结束(包括这两行)的文本块上这样做。
    关于 's///' 命令的另一个妙处是 '/' 分隔符有许多替换选项。如果正在执行字符串替换,并且规则表达式或替换字符串中有许多斜杠,则可以通过在 's' 之后指定一个不同的字符来更改分隔符。例如,下例将把所有出现的 /usr/local 替换成 /usr:
    在该例中,使用冒号作为分隔符。如果不指定分隔符,则变成了如下:
    如果需要在规则表达式中指定分隔符字符,可以在它前面加入反斜杠。
    目前为止,我们只执行了简单的字符串替换。虽然这很方便,但是我们还可以匹配规则表达式。例如,以下 sed 命令将匹配从 '' 结束、并且在其中包含任意数量字符的短语。下例将删除该短语(用空字符串替换):
    这是要从文件除去 HTML 标记的第一个很好的 sed 脚本尝试,但是由于规则表达式的特有规则,它不会很好地工作。原因何在?当 sed 试图在行中匹配规则表达式时,它要在行中查找最长的匹配。在我的前一篇 sed 文章中,这不成问题,因为我们使用的是 'd' 和 'p' 命令,这些命令总要删除或打印整行。但是,在使用 's///' 命令时,确实有很大不同,因为规则表达式匹配的整个部分将被目标字符串替换,或者,在本例中,被删除。这意味着,上例将把下行:
    我们要的不是这个,而是:
    幸运的是,有一种简便方法来纠正该问题。我们不输入“'' 字符结束”的规则表达式,
    而只需输入一个“'' 字符,并以 '>' 字符结束”的规则表达式。这将与最短、而不是最长的可能性匹配。新命令如下:
    设置c r o n t a b文件,并用它来提交作业。
    cron:系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。
    At at命令:使用它在一个特定的时间运行一些特殊的作业,或在晚一些的非负荷高峰时间段或高峰负荷时间段运行。
    &:使用它在后台运行一个占用时间不长的进程。
    Nohup:用它在后台运行一个命令,即使在用户退出时也不受影响
    c r o n是系统主要的调度进程,可以在无需人工干预的情况下运行作业。c r o n t a b命令允许用户提交、编辑或删除相应的作业。每一个用户都可以有一个c r o n t a b文件来保存调度信息。可以使用它运行任意一个s h e l l脚本或某个命令,每小时运行一次,或一周三次,这完全取决于你。每一个用户都可以有自己的c r o n t a b文件,但在一个较大的系统中,系统管理员一般会禁止这些文件,而只在整个系统保留一个这样的文件。系统管理员是通过c r o n . d e n y和c r o n . a l l o w这两个文件来禁止或允许用户拥有自己的c r o n t a b文件。
    为了能够在特定的时间运行作业,需要了解c r o n t a b文件每个条目中各个域的意义和格式。
    第2列小时1~2 3(0表示子夜)
    第5列星期0~6(0表示星期天)
    分时日月星期要运行的命令
    C r o n t a b文件的一个条目是从左边读起的,第一列是分,最后一列是要运行的命令,它位于星期的后面。
    可以用横杠-来表示一个时间范围,例如你希望星期一至星期五运行某个作业,那么可以在星期域使用1 - 5来表示。
    还可以在这些域中使用逗号“,”,例如你希望星期一和星期四运行某个作业,只需要使用1 , 4来表示。
    可以用星号*来表示连续的时间段。如果你对某个表示时间的域没有特别的限定,也应该在该域填入*。该文件的每一个条目必须含有5个时间域,而且每个域之间要用空格分隔。
    该文件中所有的注释行要在行首用#来表示。
    上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。
    你可能已经注意到上面的例子中,每个命令都给出了绝对路径。当使用c r o n t a b运行s h e l l脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向c r o n提交了这些作业,就要向c r o n提供所需的全部环境。不要假定c r o n知道所需要的特殊环境,它其实并不知道。所以你要保证在s h e l

    现在如果该脚本执行失败了,我希望先给自己发个邮件,然后再退出,可以用下面的方法来实现:
    上例中由于 只使用了命令分隔符而没有把它们组合在一起, s h e l l将直接执行最后一个命令(e x i t)。
    例二:下面是原来的那个例子:
    使用命令组合的方法,如果s o r t命令执行成功了,先将输出文件拷贝到一个日志区,然后再打印。
    shell十三问第七问:
    • 匹配一定范围内的字符串集。
    当从一个文件或命令输出中抽取或过滤文本时,可以使用正则表达式( R E),正则表达式是一些特殊或不很特殊的字符串模式的集合。
    * 只一个单字符后紧跟*,匹配0个或多个此单字符
    [ ] 只匹配[ ]内字符。可以是一个单字符,也可以是字符序列。可以使用-
    只用来屏蔽一个元字符的特殊含义。因为有时在s h e l l中一些元字符有
    特殊含义。可以使其失去应有意义
    现在详细讲解其中特殊含义。
    1、使用句点匹配单字符
    例一:beng.n:以b e g开头,中间夹一个任意字符。
    例三:列出所有用户都有写权限的目录或文件 :
    2、行首以^匹配字符串或字符序列
    ^只允许在一行的开始匹配字符或单词。
    例如,使用ls -l命令,并匹配目录。
    3、在行尾以$匹配字符串或字符
    可以说$与^正相反,它在行尾匹配字符串或字符, $符号放在匹配单词后。
    例二:匹配所有空行:^ $
    例三:只返回包含一个字符的行:^.$
    4、用屏蔽一个特殊字符的含义
    下列字符一般可以认为是特殊字符:
    反斜杠后面的字符不再是特殊字符,而是一个普通字符,即句点。
    假定要匹配包含^的各行,将反斜杠放在它前面就可以屏蔽其特殊含义:
    在正则表达式中匹配以* . p a s结尾的所有文件:
    即可屏蔽字符*的特定含义。
    5、使用{}匹配模式结果出现的次数
    使用*可匹配所有匹配结果任意次,但如果只要指定次数,就应使用 { },
    此模式有三种形式,即:
    例一:匹配字母A出现两次,并以B结尾:
    例二:匹配A至少4次:
    例三:如给出出现次数范围,例如A出现2次到4次之间:
    例四:假定从下述列表中抽取代码:
    格式如下:前4个字符是数字,接下来是x x,最后4个也是数字,操作如下:
    1) 匹配数字出现4次。
    3) 最后是数字出现4次。
    经常使用的正则表达式举例
    ^ d . . x . . x . . x 对对用户、用户组及其他用户组成员有可执行权限的目录
    ^ [ ^ l ] 对排除关联目录的目录列表
    D e . . c e 对前两个字母为D e,后跟两个任意字符,最后为c e
    ^ . $ 对仅有一个字符的行
    ^.[0-9][0-9] 对以一个句点和两个数字开始的行
    Linux的用户和用户组管理
    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
      实现用户账号的管理,要完成的工作主要有如下几个方面:
      · 用户账号的添加、删除与修改。
      · 用户口令的管理。
      · 用户组的管理。
    一、Linux系统用户账号的管理
      用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
      添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。
    1、添加新的用户账号使用useradd命令,其语法如下:
      其中各选项含义如下:
      -c comment 指定一段注释性描述。
      -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
      -g 用户组 指定用户所属的用户组。
      -G 用户组,用户组 指定用户所属的附加组。
      -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
      用户名 指定新账号的登录名。
      此命令创建了一个用户sam,
      其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。
      此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
      增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。
      Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。
      如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。删除一个已有的用户账号使用userdel命令,其格式如下:
      常用的选项是-r,它的作用是把用户的主目录一起删除。
      修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
      修改已有用户的信息使用usermod命令,其格式如下:
      常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用如下选项:
      这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
      用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
      指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
      -l 锁定口令,即禁用账号。
      -d 使账号无口令。
      -f 强迫用户下次登录时修改口令。
      如果默认用户名,则修改当前用户的口令。
      例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:
      如果是超级用户,可以用下列形式指定任何用户的口令:
      普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
      为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。
      为用户指定空口令时,执行下列形式的命令:
      此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。
      passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:
    二、Linux系统用户组的管理
      每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
      用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
    1、增加一个新的用户组使用groupadd命令。其格式如下:
      可以使用的选项有:
      -g GID 指定新用户组的组标识号(GID)。
      -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
      此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
      此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
    2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下:
      此命令从系统中删除组group1。
    3、修改用户组的属性使用groupmod命令。其语法如下:
      -g GID 为用户组指定新的组标识号。
      -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
      -n新用户组 将用户组的名字改为新名字
      此命令将组group2的组标识号修改为102。
      此命令将组group2的标识号改为10000,组名修改为group3。
    4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:
      这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。
    三、与用户账号有关的系统文件
      完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。下面分别介绍这些文件的内容。
    1、/etc/passwd文件是用户管理工作涉及的最重要的一个文件。Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。这个文件对所有用户都是可读的。它的内容类似下面的例子:
      从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(
    分隔为7个字段,其格式和具体含义如下:
    用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
      1)“用户名”是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(
    ,因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。
      2)“口令”一些系统中,存放着加密后的用户口令字。。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux 系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。
      3)“用户标识号”是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。
      通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。
      4)“组标识号”字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。
      5)“注释性描述”字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。
      6)“主目录”,也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。
    系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(
    隔开若干个字段,这些字段有:
    组名:口令:组标识号:组内用户列表
      1)“组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
      2)“口令”字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。
      3)“组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。
      4)“组内用户列表”是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。
      /etc/group文件的一个例子如下:
      添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户的方法。Linux系统提供了创建大量用户的工具,可以让您立即创建大量用户,方法如下:
      (1)先编辑一个文本用户文件,每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下:
      (2)以root身份执行命令/usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户:
      然后可以执行命令vipw或vi /etc/passwd检查/etc/passwd文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建。
      (4)编辑每个用户的密码对照文件,范例文件passwd.txt内容如下:
      这样就完成了大量用户的创建了,之后您可以到/home下检查这些用户宿主目录的权限设置是否都正确,并登录验证用户密码是否正确。
    五、赋予普通用户特殊权限
      在Linux系统中,管理员往往不止一人,若每位管理员都用root身份进行管理工作,根本无法弄清楚谁该做什么。所以最好的方式是:管理员创建一些普通用户,分配一部分系统管理工作给他们。
      我们不可以使用su让他们直接变成root,因为这些用户都必须知道root的密码,这种方法很不安全,而且也不符合我们的分工需求。一般的做法是利用权限的设置,依工作性质分类,让特殊身份的用户成为同一个工作组,并设置工作组权限。例如:要wwwadm这位用户负责管理网站数据,一般Apache Web Server的进程httpd的所有者是www,您可以设置用户wwwadm与www为同一工作组,并设置Apache默认存放网页目录/usr/local/httpd/htdocs的工作组权限为可读、可写、可执行,这样属于此工作组的每位用户就可以进行网页的管理了。
      但这并不是最好的解决办法,例如管理员想授予一个普通用户关机的权限,这时使用上述的办法就不是很理想。这时您也许会想,我只让这个用户可以以root身份执行shutdown命令就行了。完全没错,可惜在通常的Linux系统中无法实现这一功能,不过已经有了工具可以实现这样的功能——sudo。
      sudo通过维护一个特权到用户名映射的数据库将特权分配给不同的用户,这些特权可由数据库中所列的一些不同的命令来识别。为了获得某一特权项,有资格的用户只需简单地在命令行输入sudo与命令名之后,按照提示再次输入口令(用户自己的口令,不是root用户口令)。例如,sudo允许普通用户格式化磁盘,但是却没有赋予其他的root用户特权。
    1、sudo工具由文件/etc/sudoers进行配置,该文件包含所有可以访问sudo工具的用户列表并定义了他们的特权。一个典型的/etc/sudoers条目如下:
      这个条目使得用户liming作为超级用户访问所有应用程序,如用户liming需要作为超级用户运行命令,他只需简单地在命令前加上前缀sudo。因此,要以root用户的身份执行命令format,liming可以输入如下命令:
      注意:命令要写绝对路径,/usr/sbin默认不在普通用户的搜索路径中,或者加入此路径:PATH=$PATH:/usr/sbin;export PATH。另外,不同系统命令的路径不尽相同,可以使用命令“whereis 命令名”来查找其路径。
      这时会显示下面的输出结果:
      如果liming正确地输入了口令,命令useradd将会以root用户身份执行。
      只要把相应的用户名、主机名和许可的命令列表以标准的格式加入到文件/etc/sudoers,并保存就可以生效,再看一个例子。
      注意:命令一定要使用绝对路径,以避免其他目录的同名命令被执行,从而造成安全隐患。
      然后保存退出,gem用户想执行reboot命令时,只要在提示符下运行下列命令:
      输入正确的密码,就可以重启服务器了。
      如果您想对一组用户进行定义,可以在组名前加上%,对其进行设置,如:
    3、另外,还可以利用别名来简化配置文件。别名类似组的概念,有用户别名、主机别名和命令别名。多个用户可以首先用一个别名来定义,然后在规定他们可以执行什么命令的时候使用别名就可以了,这个配置对所有用户都生效。主机别名和命令别名也是如此。注意使用前先要在/etc/sudoers中定义:User_Alias, Host_Alias, Cmnd_Alias项,在其后面加入相应的名称,也以逗号分隔开就可以了,举例如下:
      表示允许ADMINS不用口令执行一切操作,其中“NOPASSWD:”项定义了用户执行操作时不需要输入口令。
    5、sudo命令还可以加上一些参数,完成一些辅助的功能,如
      会显示出类似这样的信息:
      说明root允许用户liming执行/usr/sbin/reboot命令。这个参数可以使用户查看自己目前可以在sudo中执行哪些命令。
    6、在命令提示符下键入sudo命令会列出所有参数,其他一些参数如下:
      -V 显示版本编号。
      -h 显示sudo命令的使用参数。
      -v 因为sudo在第一次执行时或是在N分钟内没有执行(N预设为5)会询问密码。这个参数是重新做一次确认,如果超过N分钟,也会问密码。
      -k 将会强迫使用者在下一次执行sudo时询问密码(不论有没有超过N分钟)。
      -b 将要执行的命令放在背景执行。
      -p prompt 可以更改问密码的提示语,其中%u会替换为使用者的账号名称,%h会显示主机名称。
      -H 将环境变量中的HOME(宿主目录)指定为要变更身份的使用者的宿主目录。(如不加-u参数就是系统管理者root。)
       要以系统管理者身份(或以-u更改为其他人)执行的命令。

    本文来自ChinaUnix博客,如果查看原文请点:

我要回帖

更多关于 1/18+1/54+1/108+1/180+1/270 的文章

 

随机推荐