您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Linux权限设置,路径(第4课)
第4课讲稿1.绝对路径和相对路径1)绝对路径:从根目录开始的路径【例如】/etc/inittab#根目录下的etc子目录中的inittab文件2)相对路径:不以根目录开始,以相对于当前目录的路径指定一个文件【例如】etc/inittab#当前目录下etc子目录中的inittab文件2.文件和目录的读写权限使用ls–l命令,前十位表示文件/目录的读写权限:第1位表示类型,“d”表示目录,“-”表示普通文件,“b”表示设备(块文件);2~4位表示文件所有者的权限;5~7位表示群组内其他成员的权限;8~10位表示组外其他所有人的权限;三位为一组,顺序分别是rwx,其中r表示读,w表示写,x表示执行;2~10位若为“-”表示0,若为字母表示1,如“-rw-rw-rw-”表示此为文件,且存取权限为666;【注意】Linux系统中规定了4种不同的用户:文件所有者、组群、组外其他用户和超级用户root,一般情况下,root对所有的文件和目录拥有所有权限。3.更改文件和目录的拥有者:chown语法:chown【-R】文件的新拥有者文件名-R:对目录及该目录下的所有文件和子目录都进行相同的操作,即递归更改目录的所有者;①chownrjxyfile#把文件file的所有者改为rjxy②chown–Rrjxydir#把目录dir及该目录下的所有文件和子目录的所有者都改为rjxy4.更改文件和目录的组群:chgrp用法同chown①chgrprjxyfile#把文件file的组群改为rjxy②chgrp–Rrjxydir#把目录dir及该目录下的所有文件和子目录的组群都改为rjxy5.改变文件和目录的存取权限:chmod1)数值模式语法:chmod【-R】权限值文件名1文件名2……-R:对目录及该目录下的所有文件和子目录都进行相同的操作;①chmod744file#把文件file的读写权限改为744,即rwxr--r—②chmod-R744dir#把目录dir及该目录下的所有文件和子目录的读写权限改为7442)符号模式chmod{a、u、g、o}{+-=}{rwx}文件名1文件名2……a、u、g、o表示要赋予权限的用户的类,a代表所有的用户,u代表文件的所有者自身,g代表和所有者同组群的用户,o代表组外的其他用户+-=用来增加、删除或设置权限,+表示增加权限,-表示删除权限,=表示设置权限rwx表示要增加、删除或设置的权限值,r表示读权限,w表示写权限,x表示执行权限①touchfile#新建文件file,其默认读写权限为644(rw-r--r--)②chmodu+xfile#增加所有者对file的执行权(把file的权限改为744)③chmoda-rfile#删除所有的人对file的读权限(把file的权限改为300)④chmodg=rxfile#设置组群对file的具有读和执行的权限6.文件的隐藏属性1)设置文件的隐藏属性:chattr语法:chattr【+-=】【ASacdistu】文件/目录+:在原有基础之上添加参数-:在原有基础之上删除参数=:重新设置参数a:可向其增加数据,不能删除/修改数据c:文件自动压缩有存储(读取时会自动解压缩)d:当dump备份时,该文件/目录不会被备份i:不可删除、改名,无法写入数据s:删除时彻底删除,相当于windows下的shift+deleteu:与s相反,删除时放入回收站①chattr+i/etc/inittab#保护文件inittab不能被做任何修改,执行后,该文件不能被编辑、移动或删除②chattr–i/etc/inittab#去除对文件inittab的保护③chattr+a/root/mylog#保护日志文件mylog,只能向后追加数据,不能修改或删除(可用“”向文件中追加数据)echoqqqmylog#用echo命令和将字符串“qqq”追加到文件mylog后面2)查看隐藏属性:lsattr语法:lsattr【-adR】文件/目录-R:递归显示子目录-a:显示所有文件-d:限时目录自身的信息,不显示目录的内容(和ls命令的-d选项作用类似)①chattr+ix#给文件x添加隐藏权限lsattrx#查看文件x的隐藏权限,显示结果:-----a-------e-,其中a表示可向其追加数据,不可删除或修改数据;e表示该文件位于扩展分区,该属性是只读的,不能修改7.文件的默认权限用户创建文件或目录时自动赋予默认读写权限,默认值为666(文件)和777(目录),即每一类用户创建文件时可以为其赋予的默认最大值为6,系统不允许在创建文件时就赋予它执行权限,而要在创建后用chmod命令增加这一权限,这样可以更好地保证系统安全。但是目录的执行权比较特别,如果没有执行权,则用户无法对该目录进行读写,所以目录的最大权限值可以到7。修改默认权限:umask语法:umaskxyz#xyz为数值,如022,表示从默认权限中取走的权限,即取走了写权限,而非666或777与该数值的差值系统默认root用户的umask为022,即root用户创建的目录默认读写权限为755,创建的文件默认读写权限为644;普通用户的umask为002,即普通用户创建的目录默认读写权限为775,创建的文件默认读写权限为664。①surootumask#显示结果为0022(第一个0为特殊权限)②surjxyumask#显示结果为0002(第一个0为特殊权限)③umask333#更改当前用户的umask值为333mkdirtest1touchtest2ls–l#查看新创建的目录和文件的读写权限,目录和文件都为444,即umask为333相当于从默认权限中取走了写和执行的权限8.文件的特殊权限:setuid,setgid,stickbit1)setuid和setgid:让普通用户在执行该文件时拥有root用户的权限查看/usr/bin/passwd和/etc/passwd的权限①ls–l/usr/bin/passwd/etc/passwd#查看/usr/bin/passwd和/etc/passwd文件的读写权限,结果如下【注意】/usr/bin/passwd是命令,任何用户都可以使用该命令修改个人密码,root用户可以用该命令修改所有用户的密码;/etc/passwd是文件,存放各个用户的账户和密码信息。从读写权限上看,仅root用户对/etc/passwd文件具有修改权限(写权限),但是实际上每个用户都可以通过/usr/bin/passwd修改密码从而修改/etc/passwd文件。/usr/bin/passwd的读写权限中的“s”,即setuid,表示令普通用户暂时拥有“只有root用户有权执行”的特殊权限。setgid则表示组群用户都暂时拥有“只有root用户有权执行”的特殊权限。2)stickbit:查看/tmp目录的权限①ls–dl/tmp#查看/tmp目录的读写权限/tmp目录的读写权限为drwxrwxrwt,其中“t”即为stickbit(粘贴位),表示除非文件的所有者和root用户有权限删除它,除此之外其他用户不能删除和修改这个文件。即/tmp作为用户共有的临时文件夹,任何用户都有读写权限,stickbit可以避免A用户在该目录下创建的临时文件被B用户删除。stick可以用于共享的目录,可以放开目录的全部权限,每个人都可以使用该目录,但是不能删除其他用户的文件。【特殊权限举例】使用字符设置特殊权限①chmodu+sfile#设置setuid②chmodu-sfile#删除setuid③chmodg+sfile#设置setgid④chmodo+tfile#设置stickbit使用数值设置特殊权限:在普通读写权限值前面添加特殊权限位setuidsetgidstickbit111其中,setuid对应的二进制数值为100(八进制数为4);setgid为010(2);stickbit为001(1)。如需增加某个特殊权限,只需要将对应的八进制数值叠加即可。①chmod4644file#修改文件file的读写权限为644,并设置setuid②chmod2644file#修改文件file的读写权限为644,并设置setgid③chmod1644file#修改文件file的读写权限为644,并设置stickbit④chmod6644file#修改文件file的读写权限为644,并设置setuid和setgid【注意】由于特殊权限和执行权位置相同,所以当给文件设置特殊权限时,如果文件具有可执行权,则特殊权限是小写的s或t,如果文件没有可执行权,则特殊权限是大写的S或T。9.查询命令1)which:搜索系统可执行文件(命令)的详细路径①whichpwd#查看pwd命令的详细路径2)whereis:搜索可执行文件(命令)、源代码文件、帮助文件及其他文件。-b:定位可执行文件-m:定位帮助文件-s:定位源代码文件-u:搜索默认路径下除可执行文件、源代码文件和帮助文件外的其他文件①whereistomcat#查找tomcat,若输出为“tomcat:”则表示没有找到②whereispwd#查找pwd,显示所有结果③whereis-bpwd#查找pwd,只查找可执行文件(命令的二进制文件)④whereis-mpwd#查找pwd,只查找帮助文件⑤whereis-spwd#查找pwd,只查找源文件3)find:在系统特定目录下,查找名字具有某种特征或其具有某种属性的文件。语法:find【path】-option【-print】【-exec–okcommand】{}\;path:搜索范围,即指出要查找的目录,缺省为当前目录。例如,用“/”表示根目录;-execcommand{}\;:将查到的文件执行command命令,“{}”和“\;”之间有空格,“\;”的“;”为半角分号;【常用选项】-name:按文件名查找-perm:按执行权限来查找-user:按文件所有者查找-group:按组查找-mtime-n+nn:按文件更改时间查找文件,-n表示n天以内,+n表示n天以前,n表示确切n天-atime-n+nn:按文件访问时间查找文件,-n表示n天以内,+n表示n天以前,n表示确切n天-ctime-n+nn:按文件创建时间查找文件,-n表示n天以内,+n表示n天以前,n表示确切n天-newerfile1!file2:查找更改时间比file1新,但比file2旧的文件-typeb/d/c/p/l/f:查找块设备、目录、字符设备、管道、符号链接和普通文件-sizen[ckMG]:查长度为n块的文件(c表示字节B,k表示kB,M表示MB,G表示GB)①find-nameabc#在当前目录下查找名字为abc的文件②find-nameabc’*’#在当前目录下查找名字以abc开头的文件,注意通配符“*”用半角单引号括起来③find-name‘*’abc’*’#在当前目录下查找名字中包含abc的文件④find/etc-perm644#在/etc目录中查找权限为644的文件⑤find-typef-execls-l{}\;#在当前目录下查找所有的普通文件,并在-exec选项中使用ls-l命令将它们列出
本文标题:Linux权限设置,路径(第4课)
链接地址:https://www.777doc.com/doc-2884912 .html