linux中etc目录下的文件介绍
在Linux 系统管理中, /etc 下面的档案无疑的伴演了极端重要的角色, 在这篇文章中, 将为各位介绍/etc 下每个档案的用途, 及相关指令的运用, 希望能为大家在成为System Administrator 的路上有所助益.特别要说明的是, 在这篇文章中, 有些档案仍然没有提到, 这是因为, 这些档案都不是一二十行的描述就可以讲完的! 如/rc.d 下的档案, inittab 这两个最好就要合起来讲, 因为这些牵扯到bootstrapping, 绝对不是三言两语就可以讲完的. 凡是有这种特性的档案, 有机会的话将再为各位介绍....../etc/DIR_COLORS : 设定在用ls 时, 各种不同档案型态所用的颜色, 但是不能用pipe 再导向输出, 否则就没有各种颜色了. 由档案的内容可以很轻易的了解, 如default 的directory 是蓝色, 具有可执行档权限的是绿色, 而压缩档是红色...... 这些都可依个人喜好来加以更改. 这个档案内容写得很清楚, 想必各位一眼也就可以看得出来, 在颜色的组成方面, 我们常用RGB 三原色的成份值来组合出各种不同的颜色. 由R,G,B 这个bit 是0 或是1 三个值组合出颜色这个道理虽浅显, 但假如我们更了解R,G, B 的加权值分别是1,2,4 的话, 那就再也不用翻书查颜色了...... 选择自己的调色盘来取代预设的调色盘, 是经常会做的事./etc/HOSTNAME : 记录完整的hostname 与domain name , 这个档案在须要hostname 的场合会用得到, 如/etc/rc.d/rc.M 等....../etc/NETWORKING : YES , 没什么用, 改成NO 会怎样呢? 会对网路的使用会造成影响吗? 答案是否定的./etc/X11 : link 到/var/X11/lib/X11/etc/at.deny : 在这个档案中可记载那些人不能使用at这个命令来做一些later job, 假如at.deny 是空的, 而且at.allow 也不存在的话. 那就是每个人都可以用at 这个命令./etc/at.allow : 相对于at.deny , 这个档案记载那些人可以使用at 这个指令关于at 这个指令, 我想它的重要性是无庸置疑的, 各位应该要会这个指令的用法, 会了这个指令, 可以在工作的执行上会更有弹性而关于at.deny 与at.allow, at 会先去找at.allow, 假如存在而且有记录一些人的话, 那就只有这些人能使用at 这个指令, 但假如at.allow 并不存在的话, 那at 就会去找at.deny, 没有在at.deny 中的人都可以使用at 这个指令了! 特别要说明的是, at的执行时间也许会不如你所预期的, 比如说明明一个档你叫它在7:02 执行, 但它却会等到7:05 才执行, 这是因为crond 是每五分钟才去看看at 的queue 中是否有要执行的job. 当然, 你也可以改成每分钟都去check, 但这样似乎没有很大的意义, 除非你对时间的准确度要求的很严格, 否则应该没有必要去动才是. 各位可去看看/var/spool/cron/crontabs/root 中就有详细记载, 每五分钟run一次atrun, 所以at 命令的执行可看成以每五分钟为一单位./var/spool/atjobs: 当你使用at 来安排一件工作时, 系统会把你目前的环境变数及所要用at 执行的工作抄一份到这个目录下的档案中./var/spool/atspool : 使用at 命令之后所得到的一些讯息, 会被记录在这里. 可能是at 所要执行的命令传回的错误讯息, 或传回执行成功的讯息./etc/csh.cshrc :/etc/csh.login :这两个档案应该很熟悉罗! 它就是各位常见到的.cshrc 及.login,不过大家通常只注意到自己的home directory 有这两个档, 但/etc 下也有这两个档, 不过/etc 下的这两个档绝大部份的情况下都是由system administrator 在maintain, 一般user 不应该有权力去改. 顺便一提的是, 系统会先去找/etc 下这两个档, 接著才加上自己home directory 中那两个档的设定. 当然, 有了.login也有.logout,.logout 中可以写一些message, 或执行一些命令, 当你下达logout 之后,.logout 就会被执行./etc/disktab : ( disk parameter table ) 假如你在刚开机有pass 磁碟机的一些参数给kernel 的话( 通常是你的硬碟比较奇怪, 需要pass cylinders ,heads , sectors 给kernel 才抓的到, 或者是SCSI 的硬碟有时有时也要用到一些参数) 那这些参数就会被记录在这里./etc/exports : 这个档案记录著你要给别人mount 的档案系统, 这就是典型NFS 系统所存在的档案, TCP/IP for OS/2 若要使用network file system而要把自己的filesystem 让别人mount 的话, 这个档案也是不可或缺的. 比如说, 我所在的domain name 为.tw , 我要把我/usr 下的filesystem 开放给十舍的人mount , 那我在exports 中要这样写:/usr *.tw(ro)接著, 在/etc/rc.d/rc.inet2 中, 找到下面的段落, 这些段落本来每一列的前面都有# , 现在, 依照下面的内容, 把这些# 拿掉. ..................# Start the SUN RPC Portmapper.if [ -f ${NET}/rpc.portmap ]thenecho -n " portmap"${NET}/rpc.portmapfi..................# # Start the various SUN RPC servers.if [ -f ${NET}/rpc.portmap ]then# if [ -f ${NET}/rpc.ugidd ]# then# echo -n " ugidd"# ${NET}/rpc.ugidd -d# fiif [ -f ${NET}/rpc.mountd ]thenecho -n " mountd"${NET}/rpc.mountdfiif [ -f ${NET}/rpc.nfsd ]thenecho -n " nfsd"${NET}/rpc.nfsdfi# # Fire up the PC-NFS daemon(s).if [ -f ${NET}/rpc.pcnfsd ]thenecho -n " pcnfsd"${NET}/rpc.pcnfsd ${LPSPOOL}fi# if [ -f ${NET}/rpc.bwnfsd ]# then# echo -n " bwnfsd"# ${NET}/rpc.bwnfsd ${LPSPOOL}# fifiecho# Done!在client 端可用如:mount -vt nfs rebel.dorm10.nctu. 端的/tmp/etc/fastboot : 这个档案是使用shutdown -f 所产生的, -f means "fastboot"在重新reboot 之后, 系统会去检查这个档是否存在, 以决定是否要run fsck ./etc/fdprm : floopy disk parameter table . 一般情况下是不须要更动的, 除非你有很奇怪格式的软碟, 或者你想做出不符合一般格式的磁碟片./etc/nologin : 你也许会感到奇怪, 我的/etc 这个directory 下并没有这个档啊? 没错, 它平常是不存在的, 通常会看到这个档的话, 那表示系统大概要shutdown 了, 因为系统要shutdown 了, 自然不希望有人又login 进来, 所以在我们执行shutdown 时, nologin 这个档会自动的被create , 里面放著shutdown message . 实际上, 当我们在login 时, 系统会去检查有没有这个档, 假如有的话, 那就会印出这个档案中的message , 然后不让你login .nologin 也有可能是为了某种理由被制造的, 比如说系统在maintain暂时不希望有人login . 无论如何nologin 若存在, 就不能login/etc/fstab : 记录开机要mount 上来的filesystem, 这个档案相当重要! 各位可以在/etc/rc.d/rc.S 中找到/sbin/mount -avt nonfs 这一列, 当执行到这一列时, mount 就依据/etc/fstab 中的记载, 自动的将档案系统mount 上来. 下面就是一个颇为典型的范例. 假如你一开机就想自动mount 一些filesystems, 而不要等到开机后再以手动mount 的话那把这些filesystems 及相关资讯写在这个档, 是不错的选择. 在档案格式方面, 每一列有六个栏位, 不过后面两个栏位常被省略所以我们只看到有四个栏位. 其它的两栏分别为dump-freq 及pass-number.dump-freq 预设值为0; 而pass-number 是fsck 所会参考到的地方,数字可为0,1,2...... 1 表示这个filesystem 将首先被fsck check,2 表其次, 馀类推......# 要挂上的档案系统挂在那里档案系统格式读写状况/dev/hdb2 swap swap defaults/dev/hdb1 / ext2 defaults/dev/sbpcd /mnt/cdrom iso9660 ro/dev/hda1 /mnt/dosc msdos rw/dev/hda5 /mnt/dosd msdos rw/dev/hda6 /mnt/dose msdos rwnone /proc proc defaults/etc/ftpusers : 这个档案记录那些人不可以ftp 签入系统, 预设值有root , uucp news . 这些都是为了security 方面的考量, 你可以在这里加入不可ftp 进来的user id ./etc/gateways : 顾名思义, 这个档案记录一些gateways 的information这个档案的格式如下:name1 gateway name2 metric value当routed 启动时, 它会去读/etc/gateways 这个档. 若一个gateway并不做routing information 交换的话, 那它就会被标示成passive,假如有做routing information 的交换( 这台机器上有run routed ), 那就会标示成active net 或host 这个关键字是指出route 是到网路或是到一台特定的机器上. name1 就是目地网路或目地机器的名字.这个名字可用/etc/hosts 或是/etc/networks 中的symbolic hostname. name2 就是讯息将被送往之gateway 的name或IP address./etc/group : 如同/etc/passwd 列出了系统中所有的使用者名字, /etc/group定义系统中所有的group name 与相关讯息.格式为: group_name:passwd:GID:user_list如: author::200:jhhsu,emotion,passion上面的例子表示jhhsu,emotion,passion 都是属于author 这个group通常passwd 那栏是空白的, 表示不用密码. 或放一个* 号以下也是一个典型的例子:root::0:root,jhhsubin::1:root,bin,daemondaemon::2:root,bin,daemonsys::3:root,bin,admadm::4:root,adm,daemontty::5:disk::6:root,admlp::7:lpmem::8:kmem::9:wheel::10:root,jhhsushadow::11:rootmail::12:mailnews::13:newsuucp::14:uucpman::15:manusers::100:gamesbbs:*:99:bbs,bbsuser,bbsroot当然啦! 这个档案只能为superuser 所读写, 一个superuser 可使用groupadd , groupdel , groupmod 来管理/etc/group 这个档,要手动管理也是可以. 下面是这三个指令的用法:groupadd [ -g gid [ -o ] ] group_namegroupdel group_namegroupmod [ -g gid [ -o ] ] [ -n new_group_name ] group_name/etc/hosts : 这个档案记录著IP address 至hostname 的mapping . 如我们想把.tw 取个别名叫: oldstock那我们就可以在这个档案里写如下的叙述:140.113.17.151 oldstock如此一来, 以后我们telnet oldstock 就等于telnet140.113.17.151在这个档案中, 至少会有两列, 一列为loopback , 这是为了侦错目的而设的, 另一列为local host , 就是你自己的机器./etc/hosts.equiv : 在里面可以设定一些remote machine , 而从这些remotemachine 利用rsh 或rlogin 连回local machine 的话便不用输入密码同样的东西也可以在.rhosts 见到. 比如说在ccsun22.csie.tw 上你的Home Directory 建一个.rhosts 档,里面的内容如下:.tw jhhsu以后只要在.tw 上利用rsh 或rlogin 至.tw 的话, 也不须要输入密码rsh -l jhhsu .tw /etc/issue#echo Welcome to Linux /bin/uname -a | /bin/cut -d\ -f3. >> /etc/issue#echo >> /etc/issue#echo "/bin/uname -a | /bin/cut -d\ -f1,3. (Posix)." > /etc/motd/etc/klogd.pid : klogd process id/etc/ld.so.conf : 记录一些library 所在的目录/etc/magic : 初看这个档案时, 也许只能隐隐约约的看到: 这个档案似乎是描述一些档案的格式. 没错, 这个档案记载了许多档案格式的识别字串或方法那这个档在那里会用的到呢? 各位有使用过file 这个指令吗? file 这个指令的命令格式为:file [ -c ] [ -z ] [ -L ] [ -f namefile ] [ -m magicfile ] filefile 这个指令非常有趣, 它可以告诉你某一个档案的格式, 如它是一个text 档, 或是一个shell script 或DOS 可执行档等...... 而file这个指令, 就是去参考/etc/magic 这个资料库. 假如你知道某一档案的识别字, 而原来magic 这个资料库没有记录, 那你可以把识别方法加到资料库中, 或乾脆建立自己的资料库算了./etc/motd : 这个档很简单, 就是message of the day 的意思, 里面可以写一些message , 而这些message 会在login shell 之前被显示出来.通常都是system administrator 要告知user 的一些讯息. 而关于每次/etc/mtab : 目前mount 上来的filesystems , 各位可使用mount 这个指令来看看这个档的变化. 如我在mount 3.5 inch 软碟A 前, 我看到的mtab如下:/dev/hdb1 / ext2 rw 0 0/dev/hda1 /mnt/dosc msdos rw 0 0/dev/hda5 /mnt/dosd msdos rw 0 0/dev/hda6 /mnt/dose msdos rw 0 0none /proc proc rw 0 0然而, 当我以mount -t msdos /dev/fd0H1440 /mnt/dosa 这个指令将3.5 inch 软碟A 挂上来后, mtab 变为像下面的情况:/dev/hdb1 / ext2 rw 0 0/dev/hda1 /mnt/dosc msdos rw 0 0/dev/hda5 /mnt/dosd msdos rw 0 0/dev/hda6 /mnt/dose msdos rw 0 0none /proc proc rw 0 0/dev/fd0H1440 /mnt/dosa msdos rw 0 0 telnet .tw.tw: Host name lookup failure因为没有了name server , 所以.tw没有办法被解译, 故会有Host name lookup failure这段讯息./etc/securetty : 假如你要以root login 的话, 实际上是有限制的, 这个档案就列出了root 可以login 的ttys , 假如你把每一列都mark 起来那就没有任何一个terminal 可供root login 了, 所以呢,就会出现以下的情况:Rebel login: rootroot login refused on this terminal.再一次的, 我们看到了unix security 方面的东西, 仔细的在这个档案列出可用的terminal , 可使从modem 连的使用者或经由网路来的其它的使用者比较不容易取得superuser 的权力./etc/services :/etc/shell : 这个档案再简单也不过了, 里面就记录著可以用的login shell . 还有一点, 那就是这个档的记录会在使用chsh 时做为参考, 唯有被列在这里的shell , 使用chsh 时才会出现这些shell 可选./etc/sudoers : 在一个不是很复杂的系统中, 也许一个System Administrator 就可以管理所有的事情. 但一但系统提供的服务变多, 系统管理的工作也随之变得沉重, 这时候, sudo 就派上用场了, sudo 可以让一个普通的user 变成superuser , 这样一来, 一个系统的某些工作,就可以分配给这些superusers 来做 . 以减轻负担.当然, 并不是每个user 都可以变成superuser . 所以/etc/sudoers 就是记录著那些人可以用superuser 的身份来执行一些工作, 这个档案的格式如下:host alias section format:Host_Alias HOSTALIAS = host-listHost_Alias ::= a keyword.HOSTALIAS ::= an upper-case alias name.host-list ::= a comma separated list of hosts.command alias section format:Cmnd_Alias CMNDALIAS = cmnd-listCmnd_Alias ::= a keyword.CMNDALIAS ::= an upper-case alias name.cmnd-list ::= a comma separated list commands.user specification format:user access_group [: access_group] ...access_group ::= host_type = [op]cmnd_type [,[op]cmnd_type] ...host_type ::= a lower-case host name OR a host alias.cmnd_type ::= an command OR a command alias.op ::= the logical ''!'' NOT operator.如下面是一个极为简单的例子:# Cmnd alias specificationCmnd_Alias SHUTDOWN=/sbin/halt,/sbin/shutdown# User specificationroot ALL=ALLjhhsu ALL=ALLemotion ALL=ALL,!SHUTDOWN在这个例子当中, jhhsu 可以执行root 所有的命令, emotion 除了halt及shutdown 不能执行以外, 其它root 能执行的命令他都能执行.这个档案有一个专属的editor 叫visudo 可来编辑/etc/sudoer 这个档案在编辑完这个档案之后, jhhsu 就可以用sudo.bin 这个命令转换成superuser 来做原来只有superuser 才能做的事. 而关于使用sudo.bin有一个记录档, 在/var/adm/sudo.log , 里面记录著谁在什么时候利用sudo 下了那些指令. 顺便一提的是: 利用下面这个命令可抓出那些人转换成superuser 但却没有成功......grep "FAILED SU" /var/adm/messages/etc/utmp : 从utmp 中可以知道现在有谁正在用系统 . 当使用者logout 之后,init ( 很重要的process , 以后有时间将为各位介绍) 就去把logout的使用者从/etc/utmp 中去掉.实际上, utmp 每个record 是像这样的一个结构:struct utmp {short ut_type; /* type of login */pid_t ut_pid; /* pid of process */char ut_line[12]; /* devicename of tty -"/dev/" */char ut_id[2]; /* init id or abbrev. ttyname */time_t ut_time; /* logintime */char ut_user[8]; /* username, not null-term */char ut_host[16]; /* hostname for remote login */long ut_addr; /* IP addr of remote host */};了解这个档案, 进而去修改, 可以做出许多有趣的事......:P/etc/wtmp : 简而言之, wtmp 是一个login data base , 有许多的指令会用到这个档, 像last , sessreg , who 等......这个档案格式与utmp 大致相同, 只是多了shutdown 及reboot 这个记录, 指出系统的shutdown 或reboot , 及一个空的user name指出在相关terminal 的logout . 还有, 不像/etc/utmp , //etc/wtmp 的记录是慢慢的附加上去的, 也就是说, 这个档案会越变越大, 虽然变大的速度并不会太快, 但一但到了某种程度大小的话System Administrator 应该要考虑砍掉部份. 下面是用last 这个指令所得到的部份内容:bbs tty1 Tue Nov 29 19:09 - 19:09 (00:00)root tty1 Tue Nov 29 19:08 - 19:09 (00:00)root tty1 Tue Nov 29 19:07 - 19:07 (00:00)runlevel ~ Tue Nov 29 19:07reboot ~ Tue Nov 29 19:07/etc/zprofile : link 到/etc/profile《婚礼进行曲》HKKK HLJK HKNNMLKJKLHKKK HLJK HKMOMKILMK NMLII JKLL NMLII JKLLHKKK HLJK HKMOMKILMK ILMKK《童话》LONOL LONOL LONO OOMMLLONOL LQPPO LONOM MMOTS PPRRQQ QQNPOONO ONOR LSRQP PPRRQQ QQVUTUV VPOT TTSSS LSRQQRQ QRQ RQPOOQST TTSPPRQ OQST TTSPPRQRQPO PQMMOONOLOQSONQS STUVTSQPOOO QPOOO PQPOMPQP LOQSONQS STUVTS QPOOO QPOOO PQPMNOPO QSQPOSN MNMNMLQ SQPOSN MNOOOPQP LOQSONQS STUVTS QPOOO QPOOO PQPMNOPOOOSSTTS RRQQPPOSSRRQQP SSRRQQPOOSSTTS RRQQPPO《新年好》OOO L QQQ OO Q S S R Q P P Q R R Q P Q O O Q P L N P O《老鼠爱大米》cbacbacbcacfeeceffcbacbcaa《北京欢迎你》QSQPQPQQPMO QP POMOPQSPQTSSPO POMOPQSPQTSSQ PQPOSTQMQPPO QSVSTTS QQ SS QS TV WV SQ P S Q Q QS VS TV WV SQ SVT QP QS XW WV《送别》LJLO MOLLHIJ IHILJLO NMOLLIJK GA<雪绒花》JLP OLK JJJKLMLJLP OLK JLLMNO OP LLNMLJLO MOPON L JLP OLK JLLMNO O。
Linux——etcgroup文件详解
Linux——etcgroup⽂件详解Linux /etc/group⽂件与/etc/passwd和/etc/shadow⽂件都是有关于系统管理员对⽤户和⽤户组管理时相关的⽂件。
linux /etc/group⽂件是有关于系统管理员对⽤户和⽤户组管理的⽂件,linux⽤户组的所有信息都存放在/etc/group⽂件中。
具有某种共同特征的⽤户集合起来就是⽤户组(Group)。
⽤户组(Group)配置⽂件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息⽂件。
将⽤户分组是Linux系统中对⽤户进⾏管理及控制访问权限的⼀种⼿段。
每个⽤户都属于某个⽤户组;⼀个组中可以有多个⽤户,⼀个⽤户也可以属于不同的组。
当⼀个⽤户同时是多个组中的成员时,在/etc/passwd⽂件中记录的是⽤户所属的主组,也就是登录时所属的默认组,⽽其他组称为附加组。
⽤户组的所有信息都存放在/etc/group⽂件中。
此⽂件的格式是由冒号(:)隔开若⼲个字段,这些字段具体如下:组名:⼝令:组标识号:组内⽤户列表具体解释:组名:组名是⽤户组的名称,由字母或数字构成。
与/etc/passwd中的登录名⼀样,组名不应重复。
⼝令:⼝令字段存放的是⽤户组加密后的⼝令字。
⼀般Linux系统的⽤户组都没有⼝令,即这个字段⼀般为空,或者是*。
组标识号:组标识号与⽤户标识号类似,也是⼀个整数,被系统内部⽤来标识组。
别称GID.组内⽤户列表:是属于这个组的所有⽤户的列表,不同⽤户之间⽤逗号(,)分隔。
这个⽤户组可能是⽤户的主组,也可能是附加组。
输出:[root@localhost test6]# cat /etc/grouproot:x:0:root,linuxsirbin:x:1:root,bin,daemondaemon:x:2:root,bin,daemonsys:x:3:root,bin说明:我们以root:x:0:root,linuxsir 为例:⽤户组root,x是密码段,表⽰没有设置密码,GID是0,root⽤户组下包括root、linuxsir以及GID为0的其它⽤户。
Linux中etc目录详解大全总汇详解
Linux中etc⽬录详解⼤全总汇详解/etcetc不是什么缩写,是and so on的意思来源于法语的 et cetera 翻译成中⽂就是等等的意思. ⾄于为什么在/etc下⾯存放配置⽂件,按照原始的UNIX的说法(⽂件结构参考UNIX的教学实现MINIX) 这下⾯放的都是⼀堆零零碎碎的东西, 就叫etc, 这其实是个历史遗留.这个是来源于拉丁语全称etcetera.n.等等之⼈(或物),附加的⼈(或物);加s:附加(或额外)的项⽬;零星杂物。
或者分开的et cetera, adv. 等等,以及其他等等(略作etc.或&c.)但得注意,⼈名后不宜⽤,要⽤and others。
这个⽬录在LINUX⾥很重要哦,⾥⾯装的都是些杂七杂⼋的配置⽂件发⾳很简单,这⾥打不了⾳标,到字典上看看⾳标就⾏了。
这个问题在历史上有⼏种不同的说法的。
⼀种说法,是et cetera。
这个是⽼⼀点的说法,就是说,不管什么数据或⽂件,只要不属于其它⽬录的,就放在/etc⽬录下。
另⼀种说法,"Editable Text Configuration":很多⼈也把/etc⽬录看成是⼀个放置我们系统程序的配置⽂件的地⽅。
所以常看到这样的⽬录介绍/etc - Usually contain the configuration files for all the programs that run on your Linux/Unix system.这个⽬录⼀般⽤来存放程序所需的整个⽂件系统的配置⽂件./etc⽬录 包含很多⽂件.许多⽹络配置⽂件也在/etc 中./etc/rc or/etc/rc.d or/etc/rc*.d 启动、或改变运⾏级时运⾏的scripts或scripts的⽬录./etc/passwd ⽤户,其中的域给出了⽤户名、真实姓名、家⽬录、加密的⼝令和⽤户的其他信息./etc/fdprm 软盘参数表.说明不同的软盘格式.⽤setfdprm 设置./etc/fstab 启动时mount -a命令(在/etc/rc 或等效的启动⽂件中)⾃动mount的⽂件系统列表.下,也包括⽤swapon -a启⽤的swap区的信息./etc/group 类似/etc/passwd ,但说明的不是⽤户⽽是组./etc/inittab init 的配置⽂件./etc/issue getty在登录提⽰符前的输出信息.通常包括系统的⼀段短说明或欢迎信息.内容由系统管理员确定./etc/magic file 的配置⽂件.包含不同⽂件格式的说明,file 基于它猜测⽂件类型./etc/motd Message Of TheDay,成功登录后⾃动输出.内容由系统管理员确定.经常⽤于通告信息,如计划关机时间的警告./etc/mtab 当前安装的⽂件系统列表.由scripts初始化,并由mount 命令⾃动更新.需要⼀个当前安装的⽂件系统的列表时使⽤,例如df命令./etc/shadow 在安装了影⼦⼝令软件的系统上的影⼦⼝令⽂件.影⼦⼝令⽂件将/etc/passwd ⽂件中的加密⼝令移动到/etc/shadow中,⽽后者只对root 可读.这使破译⼝令更困难./etc/login.defs login 命令的配置⽂件./etc/printcap 类似/etc/termcap ,但针对打印机.语法不同./etc/profile , /etc/csh.login ,/etc/csh.cshrc 登录或启动时Bourne或Cshells执⾏的⽂件.这允许系统管理员为所有⽤户建⽴全局缺省环境./etc/securetty 确认安全终端,即哪个终端允许root登录.⼀般只列出虚拟控制台,这样就不可能(⾄少很困难)通过modem或⽹络闯⼊系统并得到超级⽤户特权./etc/shells 列出可信任的shell.chsh 命令允许⽤户在本⽂件指定范围内改变登录shell.提供⼀台机器FTP服务的服务进程ftpd检查⽤户shell是否列在/etc/shells ⽂件中,如果不是将不允许该⽤户登录./etc/termcap。
详解Linux下的sudo及其配置文件etcsudoers的详细配置
详解Linux下的sudo及其配置⽂件etcsudoers的详细配置详解Linux下的sudo及其配置⽂件/etc/sudoers的详细配置1.sudo介绍sudo是linux下常⽤的允许普通⽤户使⽤超级⽤户权限的⼯具,允许系统管理员让普通⽤户执⾏⼀些或者全部的root命令,如halt,reboot,su等等。
这样不仅减少了root⽤户的登陆和管理时间,同样也提⾼了安全性。
Sudo不是对shell的⼀个代替,它是⾯向每个命令的。
它的特性主要有这样⼏点: § sudo能够限制⽤户只在某台主机上运⾏某些命令。
§ sudo提供了丰富的⽇志,详细地记录了每个⽤户⼲了什么。
它能够将⽇志传到中⼼主机或者⽇志服务器。
§ sudo使⽤时间戳⽂件来执⾏类似的“检票”系统。
当⽤户调⽤sudo并且输⼊它的密码时,⽤户获得了⼀张存活期为5分钟的票(这个值可以在编译的时候改变)。
§ sudo的配置⽂件是sudoers⽂件,它允许系统管理员集中的管理⽤户的使⽤权限和使⽤的主机。
它所存放的位置默认是在/etc/sudoers,属性必须为0411。
2.配置⽂件/etc/sudoers它的主要配置⽂件是sudoers,linux下通常在/etc⽬录下,如果是solaris,缺省不装sudo的,编译安装后通常在安装⽬录的 etc ⽬录下,不过不管sudoers⽂件在哪⼉,sudo都提供了⼀个编辑该⽂件的命令:visudo来对该⽂件进⾏修改。
强烈推荐使⽤该命令修改 sudoers,因为它会帮你校验⽂件配置是否正确,如果不正确,在保存退出时就会提⽰你哪段配置出错的。
⾔归正传,下⾯介绍如何配置sudoers⾸先写sudoers的缺省配置:############################################################## sudoers file.## This file MUST be edited with the 'visudo' command as root.## See the sudoers man page for the details on how to write a sudoers file.## Host alias specification# User alias specification# Cmnd alias specification# Defaults specification# User privilege specificationroot ALL=(ALL) ALL# Uncomment to allow people in group wheel to run all commands# %wheel ALL=(ALL) ALL# Same thing without a password# %wheel ALL=(ALL) NOPASSWD: ALL# Samples# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom# %users localhost=/sbin/shutdown -h now##################################################################1. 最简单的配置,让普通⽤户support具有root的所有权限执⾏visudo之后,可以看见缺省只有⼀条配置:root ALL=(ALL) ALL那么你就在下边再加⼀条配置:support ALL=(ALL) ALL这样,普通⽤户support就能够执⾏root权限的所有命令以support⽤户登录之后,执⾏:sudo su -然后输⼊support⽤户⾃⼰的密码,就可以切换成root⽤户了2. 让普通⽤户support只能在某⼏台服务器上,执⾏root能执⾏的某些命令⾸先需要配置⼀些Alias,这样在下⾯配置权限时,会⽅便⼀些,不⽤写⼤段⼤段的配置。
Linux环境下etcprofile和etcprofile.d的区别
Linux环境下etcprofile和etcprofile.d的区别/etc/profile ⽂件当⼀个⽤户登录Linux系统或使⽤su -命令切换到另⼀个⽤户时,也就是Login shell 启动时,⾸先要确保执⾏的启动脚本就是 /etc/profile 。
敲⿊板:只有Login shell 启动时才会运⾏ /etc/profile 这个脚本,⽽Non-login shell 不会调⽤这个脚本。
⼀些重要的变量就是在这个脚本⽂件中设置的,含义如下:PATH:预设可执⾏⽂件或命令的搜索路径。
USER: ⽤户登录时使⽤的⽤户名。
LOGNAME: 其值为$USER。
HOSTNAME: 所使⽤的主机名。
MAIL:存放⽤户电⼦邮件的邮箱(实际上是⼀个ASCII码⽂件)。
HISTSIZE:历史记录的⾏数。
INPUTRC: 存放的是针对键盘热键的信息(也是⼀个ASCII码⽂件)。
要注意的是在/etc/profile ⽂件中设置的变量是全局变量。
/etc/profile.d ⽬录中的脚本⽂件在/etc/profile.d ⽬录中存放的是⼀些应⽤程序所需的启动脚本,其中包括了颜⾊、语⾔、less、vim及which等命令的⼀些附加设置。
这些脚本⽂件之所以能够被⾃动执⾏,是因为在/etc/profile 中使⽤⼀个for循环语句来调⽤这些脚本。
⽽这些脚本⽂件是⽤来设置⼀些变量和运⾏⼀些初始化过程的。
⼤致介绍⼀下/etc/profile.d ⽬录下⼀些脚本⽂件中的具体内容。
⾸先,切换到/etc/profile.d ⽬录,之后使⽤ls命令列出/etc/profile.d ⽬录中的所有脚本⽂件(在这个⽬录中只有脚本⽂件)。
goddog@ubuntu:~$ cd /etc/profile.dgoddog@ubuntu:/etc/profile.d$ lsapps-bin-path.sh cedilla-portuguese.sh vte-2.91.shbash_completion.sh qtubuntu-print.sh使⽤file命令确定apps-bin-path.sh⽂件的类型,确定是⼀个ASCII码⽂件之后,使⽤cat命令列出 apps-bin-path.sh ⽂件中的全部内容:goddog@ubuntu:/etc/profile.d$ file apps-bin-path.shapps-bin-path.sh: ASCII textgoddog@ubuntu:/etc/profile.d$ cat apps-bin-path.sh# Expand the $PATH to include /snap/bin which is what snappy applications# usePATH=$PATH:/snap/bin如果对其他的脚本⽂件的内容感兴趣,可以使⽤以上的⽅法确认⽂件的类型之后再显⽰脚本⽂件中的内容。
Linux系统控制文件etcsysctl.conf详解
Linux系统控制⽂件etcsysctl.conf详解/etc/sysctl.conf这个⽬录主要是配置⼀些系统信息,/etc/sysctl.conf参数解释:1 2 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 33 34 35 36 37 38fs.file max=999999#表⽰进程(例如⼀个worker进程)可能同时打开的最⼤句柄数,直接限制最⼤并发连接数net.ipv4.tcp_tw_reuse =1#1代表允许将状态为TIME-WAIT状态的socket连接重新⽤于新的连接。
对于服务器来说有意义,因为有⼤量的TIME-WAIT状态的连接net.ipv4.tcp_keepalive_time =600#当keepalive启⽤时,TCP发送keepalive消息的频率。
默认是2个⼩时。
将其调⼩⼀些,可以更快的清除⽆⽤的连接net.ipv4.tcp_fin_timeout =30#当服务器主动关闭链接时,socket保持FN-WAIT-2状态的最⼤时间net.ipv4.tcp_max_tw_buckets =5000#允许TIME-WAIT套接字数量的最⼤值。
超过些数字,TIME-WAIT套接字将⽴刻被清除同时打印警告信息。
默认是180000,过多的TIME-WAIT套接字会使webserver变慢net.ipv4.ip_local_port_range =1024 61000#UDP和TCP连接中本地端⼝(不包括连接的远端)的取值范围net.ipv4.tcp_rmem =4096 32768 262142net.ipv4.tcp_wmem =4096 32768 262142#TCP接收/发送缓存的最⼩值、默认值、最⼤值dev_max_backlog =8096#当⽹卡接收的数据包的速度⼤于内核处理的速度时,会有⼀个队列保存这些数据包。
Linux之etcfstab文件讲解
Linux之etcfstab⽂件讲解/etc/fstab是⽤来存放⽂件系统的静态信息的⽂件。
位于/etc/⽬录下,可以⽤命令less /etc/fstab 来查看,如果要修改的话,则⽤命令 vi /etc/fstab 来修改。
当系统启动的时候,系统会⾃动地从这个⽂件读取信息,并且会⾃动将此⽂件中指定的⽂件系统挂载到指定的⽬录。
查看/etc/fstab#cat /etc/fstab<file system> <dir> <type> <options> <dump> <pass>tmpfs /tmp tmpfs nodev,nosuid 00/dev/sda1 / ext4 defaults,noatime 01/dev/sda2 none swap defaults,nodelalloc 00/dev/sda3 /home ext4 defaults,noatime 02字段解释/etc/fstab⽂件主要包括6段,依次是:<file system> <dir> <type> <options> <dump> <pass>分别来解释⼀下各⾃的⽤处:<file system> 要挂载的分区或存储设备<dir> 挂载的⽬录位置<type> 挂载分区的⽂件系统类型,⽐如:ext3、ext4、xfs、swap<options> 挂载使⽤的参数有哪些。
举例如下:auto - 在启动时或键⼊了 mount -a 命令时⾃动挂载。
noauto - 只在你的命令下被挂载。
exec - 允许执⾏此分区的⼆进制⽂件。
noexec - 不允许执⾏此⽂件系统上的⼆进制⽂件。
ro - 以只读模式挂载⽂件系统。
rw - 以读写模式挂载⽂件系统。
linux系统——etc下的profile文件
linux系统——etc下的profile⽂件/etc/profile⽂件/etc/profile是全局的,适⽤于所有的shell。
在刚登录Linux时,⾸先启动 /etc/profile ⽂件。
profile⽂件会告诉shell使⽤什么语⾔,什么shell,命令的搜索路径等。
⼀些标准的环境变量:SHELL 默认shellLANG 默认语⾔PATH linux寻找命令的默认路径,⼀般包括/bin,/usr/bin,/sbin,/usr/sbin,/usr/X11R6/bin,/opt/bin,/usr/local/bin等。
MANPATH man⼿册的默认路径INPUTRC 默认键盘映象,详见/etc/inputrcBASH_ENV bash shell的环境变量,通常在~/.bashrc中DISPLAY X窗⼝适⽤的控制台,DISPLAY=:0对应于控制台F7,DISPLAY=:1对应于控制台F8,DISPLAY=server:0向远程计算机发送GUI 应⽤程序。
COLORTERM GUI中的默认终端,通常是gnome-terminal。
USER ⾃动设置当前登陆⽤户的⽤户名。
LONGNAME 通常设置为$USERMAIL 设置特定$USR的标准邮件⽬录HOSTNAME 设置为/bin/hostname的命令输出HISTSIZE 设置为history命令记住的命令数例⼦:1 #2 # /etc/profile3 #45 #修改或添加PATH可以⾃定义命令的寻找路径,如果你不想将可执⾏⽂件添加到默认⽬录中但⼜可以在终端中使⽤命6 #令,那就改吧。
7 export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/opt/bin:/usr/local/bin"89 export MANPATH="/usr/man:/usr/X11R6/man"10 export LESSCHARSET="latin1"11 export INPUTRC="/etc/inputrc"12 export LESS="-R"1314 # Locale settings (find your locale with ''locale -a'')15 export LANG="zh_CN" #修改这⾥可以改变系统的默认使⽤语⾔16 export LC_COLLATE="C"1718 export COLUMNS LINES1920 export PS1=''[\u@\h \W]\$ ''21 export PS2=''> ''2223 umask 02224 ……25 ……26 # End of fileView Code。
linux系统移植常用文件夹路径
linux系统移植常用文件夹路径在Linux系统中,有许多常用的文件夹路径,它们扮演着不同的角色,为用户提供了便利和管理文件的方式。
下面我将为您介绍一些常见的文件夹路径。
1. / :根目录根目录是整个Linux文件系统的起点,所有其他文件和文件夹都位于根目录之下。
它类似于Windows系统中的C盘。
2. /home :用户主目录每个用户都有一个主目录,该目录位于/home下,以用户名命名。
例如,用户Alice的主目录路径为/home/Alice。
在主目录下,用户可以存储个人文件和配置。
3. /etc :系统配置文件系统配置文件存放在/etc目录下,这些文件包含了操作系统的配置和设置信息,如网络配置、用户账户信息等。
4. /var :可变数据/var目录用于存放经常变化的文件,如日志文件、临时文件等。
例如,网络日志文件存放在/var/log下。
5. /tmp :临时文件夹/tmp目录用于存放临时文件,这些文件在重启后会被删除。
它通常用于存放临时下载文件、解压缩文件等。
6. /usr :用户程序/usr目录用于存放用户安装的软件和应用程序。
其中,/usr/bin存放可执行文件,/usr/lib存放库文件,/usr/share存放共享数据等。
7. /bin :基本系统命令/bin目录包含了一些基本的系统命令,这些命令在系统启动时就可以使用。
例如,ls、cp、rm等命令都位于/bin目录下。
8. /sbin :系统管理命令/sbin目录包含了一些系统管理命令,这些命令通常只有管理员才有权限使用。
例如,ifconfig、shutdown等命令都位于/sbin目录下。
9. /opt :可选软件包/opt目录用于存放可选的软件包,这些软件包通常是第三方提供的,不属于操作系统的核心组件。
10. /boot :启动文件/boot目录包含了启动系统所需的文件,如内核文件、引导程序等。
这些文件在系统启动时被加载。
11. /dev :设备文件/dev目录包含了系统中的设备文件,如硬盘、光驱、键盘等。
详细解析Linux_-etc-shadow文件
与Linux /etc/passwd文件不同,Linux /etc/shadow文件是只有系统管理员才有权利进行查看和修改的文件,系统管理员应该弄明白Linux /etc/shadow文件中每个字符段的相应的意义,清楚管理时的具体意义。
Linux /etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。
它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用“:”隔开。
这些字段是:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号2)“口令”字段存放的是加密后的用户口令字,长度为13个字符。
如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。
时间起点对不同的系统可能不一样。
例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。
期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
下面是/etc/shadow的一个例子:#cat/etc/shadowroot:Dnakfw28zf38w:8764:0:168:7:::linux操作系统的用户文件的说明/etc/passwd该目录存储的是操作系统用户信息,该文件为所有用户可见。
etc目录详解
Linux,etc目录为配置文件目录,基本上软件和硬件的配置文件都在此目录下adjtime---包括了调整硬件时钟的数据aliases---包含了linux邮件服务所有的分发列表bashre---为shell用户设置系统范围的缺省设置。
(缺省情况下,它的设置shell 提示符包含当前用户名,主机名,当前目录和其他值)cdrecord.conf---包含了刻录cd所用的缺省值crontab---设置cron环境变量和运行自动任务的时间csh.cshrc(或cshre)---csh (c shell) 用户设置系统范围的缺省值explrts---包含了本地目录的列表,这些目录可被使用网络文件系统(NFS,networkfile system )服务的远程计算机共享fdprm--为常见的软盘格式设置参数fedora-release---包含移行字符串以确定当前的fedora core的发行版本,对与rhel发行版,该文件被命名为 redhat-releasefstab---标识常见存储设备和它们在linux系统下挂载的位置grup---确定系统中定义组名和组gshadow---包含组的影子密码host.conf---设置TCP/IP网络上搜索域名查看文件的位置hosts---包含了从你的这计算机上可以到达的ip地址和主机名hosts.allow---列出允许使用本地计算机上某些TCP/IP服务的主机hosts,deny---列出不允许使用本地计算机某些TCP/IP服务的主机(默认情况下是不存在的)inittab---包括的信息定义了当linux启动,关闭或在期间转换到不同状态是所打开和停止的程序,这是启动linux最基础的文件issue---从本地终端或以控制台文件模式登录到fedora或rhel系统时,显示该文件包含的行---当用户尝试从网络上一台主机使用telnet服务登录到linux系统时,用户看的登录提示mail.rc---设置系统范围内与使用邮件相关的参数man.conf---被man命令用于确定缺省man手册业modprobe.conf---包含与计算机所使用的可加载内核模块相关的别名和选项mtab---包含了当前挂载文件系统列表mtools.conf---包含了linux上dos工具所使用的设置named.conf---如果你运行自己家的dns服务器,该文件包含了dns的设置ntp.conf---包含了运行网络时间协议(NTP,NETWORK TIME PROTOCOL)所需要的信息passwd---为系统上所有合法用户存储帐户信息printcap---包含了为你计算机配置打印机定义profile---为所有用户设置系统范围的环境变量和启动的顺序。
