命令替换是先执行字符串中的命令,再输出字符串,就像执行PHP的""中的变量一样。$(COMMAND)`COMMAND`[root@jiakang~]#echo"Thedirectoryis$(pwd)"Thedirectoryis/root[root@jiakang~]#touch./file-$(date+%F-%H-%M-%S).txt[root@jiakang~]#lsainstall.loganaconda-ks.cfginstall.log.syslogfile-2017-03-30-19-52-22.txt[root@jiakang~]#echo"Thedirectoryis`pwd`"目录为/root权限文件:r:可读,可以使用cat等命令查看文件内容w:可写,可以编辑或删除该文件x:可执行,可以命令prompt将以下命令作为命令提交到内核运行目录:r:可以在该目录下执行ls列出里面的所有文件w:可以在该目录下创建文件x:可以使用cd切换到该目录,或者使用ls-l查看详情信息以数字表示:0000---:无权限1001--x:执行2010-w-:写入3011-wx:写入并执行4100r--:读取5101r-x:读和执行6110rw-:读和写7111rwx:读和写执行chmod命令修改文件的权限修改三类用户的权限chmodMODEfile-R--reference=/path/somefilefile参考修改【修改和之前somefile的权限相同】[root@jiakangtmp]#chmod057yum.log修改某类用户或某类用户权限u,g,o,achmodUsertype=MODEfile,...[root@jiakangtmp]#chmodu=rwx/tmp/yum.log[root@jiakangtmp]#chmodg=r,o=r/tmp/yum.log[root@jiakangtmp]#chmodgo=r/tmp/yum.log[root@jiakangtmp]#ls-l/tmp/yum.log-rwxr--r--.1tomroot0March2507:01/tmp/yum.log修改某类用户某位或某位权限u,g,o,achmod用户类别+|-MODE文件[root@jiakangtmp]#chmodgo+w/tmp/yum.log[root@jiakangtmp]#ls-l/tmp/yum.log-rwxrw-rw-.1tomroot0March2507:01/tmp/yum.log[root@jiakangtmp]#chmod+x/tmp/yum.log[root@jiakangtmp]#ls-l/tmp/yum.log-rwxrwxrwx.1tomroot0March2507:01/tmp/yum.log特殊权限(难)SUID:运行程序时,对应进程的属主是文件本身的属主,不是启动或者;chmodu+sFILEchmodu-sFILE如果FILE本身有执行权限,则SUID显示为s,原来的执行权限不显示为S。注意:SUID用于二进制可执行文件,对目录没有意义和非二进制可执行文件[现在rm的权限][root@jiakangtmp]#ls-l/bin/rm-rwxr-xr-x。1rootroot58960October152014/bin/rm[root@jiakangtmp]#ls-labc-rw-r--r--.1rootroot0April219:55abc【普通用户删除abc】[jiakang@jiakang~]$rm/tmp/abcrm:是否删除具有写保护的普通空文件“/tmp/abc”?yrm:Unabletodelete"/tmp/abc":Operationnotallowed【给rm添加s权限,注意我当前操作的用户】[root@jiakangtmp]#ls-l/bin/rm-rwsr-xr-x.1rootroot58960October15,2014/bin/rm【再次删除,没有abc文件了】[jiakang@jiakang~]$rm/tmp/abc[jiakang@jiakang~]$ls/tmpdefkeyring-V2LdqHrc.dinittabkeyring-ydeVD8rc.localSGID:运行某个程序时,对应进程的属性组是文件自身的属性组,不是启动器所属的基本组;用法同上[g+s,g-s],现在介绍一个常用的用法[forcatalog]:公司现在有多个程序员开发一个网站,每个人都有自己的账号登录服务器,要求是项目目录该目录下的文件是大家共享的,即每个文件都可以在该目录下相互编辑,不管是谁开发的解决方案:每个用户的基本组是一样的,基本的这种方式创建的文件组也是一样的【不允许添加额外的组,所以创建文件时每个用户都会属于不同的组】注意:用户有一个基本组和一个附加组usermod可以修改;文件和目录只有一个组,默认是用户的基本组,并chown修改,容易混淆,多加一个组[developteam],添加目录[project]的GID,有s权限,基本在这个目录下创建的文件的组会是目录[developteam]的基本组而不是用户自己的基本组,这样每个文件的组都是一样的,文件之间可以互相访问[root@jiakangtmp]#groupadddevelopteam[root@jiakangtmp]#mkdir/tmp/project[root@jiakangtmp]#chown-R:developteam/tmp/project【修改组】[root@jiakangtmp]#chmodg+sproject【添加SGID】[root@jiakangtmp]#ls-ldprojectdrwxr-sr-x.2rootdevelopteam4096April1113:04project[root@jiakangtmp]#usermod-a-Gdevelopteamjiakang【添加额外组developteam】[root@jiakangtmp]#idjiakanguid=500(jiakang)gid=500(jiakang)group=500(家康),5001(developteam)[root@家康tmp]#chmodg+wproject【组内用户+w权限】[jiakang@jiakangtmp]$cdproject[jiakang@jiakangproject]$touchss.txttouch:unabletocreate"ss.txt":insufficientpermissions[jiakang@jiakangproject]$exit【需要退出重新登录才能生效】logout[root@jiakang~]#su-jiakang[jiakang@jiakangproject]$touchs.txt[jiakang@jiakangproject]$ls-ls.txt-rw-rw-r--。1jiakangdevelopteam0April1113:26s.txt【下属组自动为developteam】sticky:在上面创建的public目录下,每个用户可以创建和删除自己的文件,但是不能删除其他人的文件chmodo+tDIRchmodo-tDIR这样,修改权限时,会用一个数字来表示:000001【o+t】011【g+s,o+t】...111【u+s,g+s,o+t]chmod5755/tmp/test[5代表:u+s,o+t]umask0022是一样的
