LINUX命令和使用方法.docx_第1页
LINUX命令和使用方法.docx_第2页
LINUX命令和使用方法.docx_第3页
LINUX命令和使用方法.docx_第4页
LINUX命令和使用方法.docx_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一次接触Linux操作系统,只是知道一些简单的命令,当工作中再次用到时,不得不又重新温故那些知识并做系统的学习,现在将以学习笔记的形式记录,分享一些简单知识和个人拙见,如有错误,欢迎指出。 基本知识: Linux中磁盘分区表示: 如:/dev/hda5 :/dev/目录是存放硬件设备文件,hd表示IDE设备,sd表示SCSI设备,a表示硬盘的顺序号,即第一块硬盘是a,第二块是b.等,就像windows下的C盘D盘一样,5表示第一个逻辑分区。Linux分区由主分区和扩展分区组成,主分区不超过4个,逻辑分区是在扩展分区中划分的所以逻辑分区从5开始,不管主分区是否满4个分区,反正前4块是划给主分区的。 同样,一个SCSI设备第二块硬盘的第二块逻辑分区的表示方法为:/dev/sdb6 文件系统类型: Linux中默认使用的文件系统类型是EXT3(EXT4),SWAP,同时也支持其他文件系统类型,如FAT16、FAT32、NTFS、XFS等。 目录结构: 最顶层:根目录(/),根目录下几个重要的目录有:/root,/bin,/boot,/etc,/home,/var,/usr,/tmp.(每个目录存放什么内容很重要) 图形、字符操作界面的切换: 图形界面字符终端:Ctrl+Alt+Fn (n取值16,之后的笔记中会介绍为什么) 字符终端字符终端:Alt+Fn 字符终端图形界面:Alt+F8登录后,若是root用户,则提示符为“#”,若是普通用户,则提示符是“$” 关机及重启命令: 重启:shutdown -r now shutdown -r +15 警告:系统将于15分钟后重启 reboot命令也表示是重启,但是与shutdown的区别是它是强制性重启,而shutdown命令会提示用户保存,所以建议使用shutdown命令。 关机:shutdown -h now 或 halt 开始执行一些简单的命令: 注意Linux中大小写是敏感的,这点与windows不同,windows中的powershell无论是命令还是函数方法等都不区分大小写。localhost $ su - root 切换到root用户口令:rootlocalhost # 切换到root后提示符为#rootlocalhost # date 显示日期与时间2013年 03月 05日 星期二 21:09:09 CSTrootlocalhost # echo $LANG 显示目前支持的语言zh_CN.UTF-8rootlocalhost # LANG=en_US 设置语言rootlocalhost # echo $LANGen_USrootlocalhost # cal 查看当前月日历 March 2013 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 910 11 12 13 14 15 1617 18 19 20 21 22 2324 25 26 27 28 29 3031rootlocalhost # bc 打开计算器bc 1.06Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type warranty. 4*312quit 按quit键离开rootlocalhost # 另外掌握一些常用的热键有助于提高命令速度,如Tab(自动填充,并且在什么命令都没有的情况下,按两次TAB键会出现所有的命令,这也可以作为一个帮助吧。);Ctrl+C :中断目前运行程序;Ctrl+D:键盘输入结束,同Exit;Ctrl+L:清屏;Ctrl+U 清空至行首;Ctrl+K:清空至行尾;“”:强制换行。 Linux命令帮助: 刚才说的在未打任何命令的情况下按两次TAB键会显示所有可用的命令,这种方法不常用,常用的方法是help ,用法是 :命令 -help ,常用的是man帮助(即手册manual),用法是:man 命令,还有一种帮助方法是info ,用法是info 命令,其实这种不太常用,因为正常情况下man已经可以解决绝大部分问题了。 另外由于使用man或者是info命令时,会出现多个页面,有时候多的不想看,这时候按q退出帮助,而且由于现实的信息很多,您如何快速找到自己想要的呢,这时,输入“/您想要查找的字符”,按enter即可 你可以查看一个命令的作用:whatis 命令 你也可以查看一个命令是存放在哪的:which 命令(除cd,因为cd是内置在内核中的) 切换执行等级: 查看运行级别:runlevel level 0:关机(关机可用命令 init 0,init进程在后面的笔记会介绍) level 3:纯命令行模式,即我们在图形界面右键打开的终端字符模式 level 5:图形界面模式(作为服务器的话,基本不启用这个级别,直接进入level 3字符模式) level 6:重启(重启可用命令 init 6) 1级别表示单用户模式,2级别表示字符界面多用户模式,4级别未分配使用,这3个级别基本不使用。所以只要知道上述4种级别即可。具体的启动进程和配置文件会在后续笔记中体现。 Linux命令的分类: (Linux命令:用于实现某一功能的指令或程序,命令的执行依赖于解释器程序,如/bin/bash) 内部命令:属于Shell解释器的一部分(可理解为bin/下包含的命令) 外部命令:独立于Shell解释器之外的程序(即不需要/bin/bash也可执行,如Vim、LVM) Linux命令的格式: 命令字 选项 参数 选项:用于调节命令的具体功能 参数:命令操作的对象,如文件、目录等。多个段格式的选项可以写在一起而只是用一个“-”来连接。 最后我觉得要弄清楚的一个问题是linux shell,其实shell就是Kernel和user之间的一个接口,用户不会直接和内核打交道,但是用户输入的命令又被内核识别,这就是shell的作用。文件和目录管理 及 VI编辑器的使用 文件和目录管理,刚开始学这块的时候感觉内容很多很杂,但是学完进行总结后,发现其实很有条理的而且没什么难度,只是熟练掌握这些常用的命令就行了。至于Vim编辑器,不得不说,用了这个编辑器之后,感觉Windows的notepad很没有技术含量了。先简单总结一下文件和目录常用到的命令,简单的用法就略过。 文件操作命令:touch、file、which、find、cp、rm、mv、ln 文件内容操作命令:cat、more、less,head、tail,wc、grep 目录操作命令:pwd、cd、ls、mkdir、du 归档及压缩命令:gzip、bzip2、tarlinuxidclocalhost $ pwd =显示当前目录/home/linuxidcjzhoulocalhost $ mkdir dirtest =创建一个目录linuxidclocalhost $ cd dirtest =进入这个目录linuxidclocalhost dirtest$ touch testfile =创建一个文件linuxidclocalhost dirtest$ mkdir dirtest1 =创建子目录linuxidclocalhost dirtest$ ls =列出当前目录内容dirtest1 testfilelinuxidclocalhost dirtest$ echo hello linux testfile =追加内容到文件linuxidclocalhost dirtest$ cat testfile =显示文件内容hello linuxlinuxidclocalhost dirtest$ file testfile =查看文件类型testfile: ASCII textlinuxidclocalhost dirtest$ du -sh testfile =显示文件所占空间8.0K testfilelinuxidclocalhost dirtest$ wc testfile =统计文件行数、字数、字符数 1 2 12 testfilelinuxidclocalhost dirtest$ echo haha,I love Linux testfile =追加内容linuxidclocalhost dirtest$ echo no,no ,I hate C plus plus testfilelinuxidclocalhost dirtest$ echo OK,the end testfilelinuxidclocalhost dirtest$ cat testfile =查看内容hello linuxhaha,I love Linuxno,no ,I hate C plus plusOK,the endlinuxidclocalhost dirtest$ head -2 testfile =查看文件前两行内容hello linuxhaha,I love Linuxlinuxidclocalhost dirtest$ tail -2 testfile =查看文件最后两行内容no,no ,I hate C plus plusOK,the endlinuxidclocalhost dirtest$ cat testfile | grep Linux 查找特定关键字haha,I love Linuxlinuxidclocalhost dirtest$ 以上只是展示部分命令的简单用法,很多选项没有加入,head和tail命令默认是显示前10行和后10行记录,du是查看目录或文件所占的空间,通常比实际大小要大,且通常为4的整数倍。more和less命令也是查看文件内容的方法,不过less已经渐渐取代more了,因为more的所有功能less都具有,而且less可以向上翻页查看,more则不可以,cat是直接将文件内容一屏显示出来,不管多长,所有如果文件很长时,则使用less命令,同样,也是按q键退出。linuxidclocalhost dirtest$ cd dirtest1 =进入到刚才建的子目录linuxidclocalhost dirtest1$ touch testfile1 =在子目录中创建一个新文件linuxidclocalhost dirtest1$ echo haha testfile1linuxidclocalhost dirtest1$ cd . =返回到上一目录linuxidclocalhost dirtest$ ls dirtest1 testfilelinuxidclocalhost dirtest$ cp testfile ./dirtest1/ =把文件testfile复制到子目录dirtest1下linuxidclocalhost dirtest$ cd dirtest1/ =进入到子目录linuxidclocalhost dirtest1$ ls =查看子目录下多了一个刚才复制过来的文件testfile testfile1linuxidclocalhost dirtest1$ cd .linuxidclocalhost dirtest$ lsdirtest1 testfilelinuxidclocalhost dirtest$ rm -f testfile =强制删除dirtest目录下的testfile文件linuxidclocalhost dirtest$ ls =testfile文件已经被删除dirtest1linuxidclocalhost dirtest$ cd ./dirtest1/ =进入到子目录linuxidclocalhost dirtest1$ mv testfile ./testfile =这里我尝试移动的目标目录错误testfile testfile1 linuxidclocalhost dirtest1$ pwd =所以我要查看当前目录,以使用绝对路径/home/linuxidc/dirtest/dirtest1linuxidclocalhost dirtest1$ mv testfile /home/linuxidc/dirtest/=将testfile文件移到dirtest目录下linuxidclocalhost dirtest1$ cd .linuxidclocalhost dirtest$ ls =很好,testfile文件已经被移动过来了dirtest1 testfilelinuxidclocalhost dirtest$ ln -s testfile linkfile =建立软链接linuxidclocalhost dirtest$ ls -l =注意下面软链接文件的显示方式总计 20drwxrwxr-x 2 linuxidc jzhou 4096 03-05 22:43 dirtest1lrwxrwxrwx 1 linuxidc jzhou 8 03-05 22:45 linkfile - testfile-rw-rw-r- 1 linuxidc jzhou 67 03-05 22:40 testfilelinuxidclocalhost dirtest$ rm 文件作用在文件与目录的唯一区别就是是否带有-r选项,因为删除目录时,目录里面可能嵌套有文件和目录,所以必须要有-r选项,cp和rm的格式都是: cp/rm 原文件 目标文件(注意这里的路径问题)ln链接文件:分为软链接和硬链接,软链接又称符号链接,即带有-s选项。软链接即相当于windows下的快捷方式,若原文件损坏,则快捷方式无效,而硬链接则相当于对原文件的一个拷贝,通常情况,硬链接用的很少。所以建立链接文件时,通常加-s选项即建立软链接。链接文件的文件类型位为:l,后续笔记文件权限中会介绍这个位。 另外要注意的是:不能为目录建立硬链接文件,而且硬链接与原始文件必须位于同一分区(文件系统)中。linuxidclocalhost $ cd dirtest/linuxidclocalhost dirtest$ lsdirtest1 linkfile testfilelinuxidclocalhost dirtest$ tar cf test.tar dirtest1 testfile =归档目录和文件linuxidclocalhost dirtest$ ls =多了一个刚新建的归档文件test.tardirtest1 linkfile testfile test.tarlinuxidclocalhost dirtest$ rm -rf dirtest1 testfile =删除原文件,方便后面确认文件是否归档linuxidclocalhost dirtest$ lslinkfile test.tarlinuxidclocalhost dirtest$ pwd =查看一下当前目录,后面要解归档在这个目录/home/linuxidc/dirtestlinuxidclocalhost dirtest$ tar xf test.tar -C /home/linuxidc/dirtest/ =解开归档,testfile文件释放了linuxidclocalhost dirtest$ lsdirtest1 linkfile testfile test.tarlinuxidclocalhost dirtest$ rm -f test.tar =删除这个归档包,助于后面测试linuxidclocalhost dirtest$ lsdirtest1 linkfile testfilelinuxidclocalhost dirtest$ gzip -9 testfile =将这个文件以gz格式压缩linuxidclocalhost dirtest$ lsdirtest1 linkfile testfile.gz =这个就是压缩后自动生成的文件名linuxidclocalhost dirtest$ gzip -d testfile.gz =将刚压缩的包解开linuxidclocalhost dirtest$ lsdirtest1 linkfile testfile =看,testfile被解压出来了linuxidclocalhost dirtest$ bzip2 -9 testfile =将这个文件以bz2格式压缩linuxidclocalhost dirtest$ ls dirtest1 linkfile testfile.bz2 =看,这个bz2就是刚生成的linuxidclocalhost dirtest$ bzip2 -d testfile.bz2 =解开这个压缩包linuxidclocalhost dirtest$ lsdirtest1 linkfile testfile =看,它被释放出来了linuxidclocalhost dirtest$ tar jcf test.tar.bz2 testfile =这个是bz2格式归档压缩,注意选项是jlinuxidclocalhost dirtest$ lsdirtest1 linkfile testfile test.tar.bz2linuxidclocalhost dirtest$ rm -r testfilelinuxidclocalhost dirtest$ lsdirtest1 linkfile test.tar.bz2linuxidclocalhost dirtest$ tar jxf test.tar.bz2 -C /home/linuxidc/dirtest/ =解开归档压缩linuxidclocalhost dirtest$ lsdirtest1 linkfile testfile test.tar.bz2linuxidclocalhost dirtest$ tar zcf test.tar.gz dirtest1 =这个是gz格式归档压缩,注意选项是zlinuxidclocalhost dirtest$ lsdirtest1 linkfile testfile test.tar.bz2 test.tar.gzlinuxidclocalhost dirtest$ rm -rf dirtest1linuxidclocalhost dirtest$ lslinkfile testfile test.tar.bz2 test.tar.gzlinuxidclocalhost dirtest$ tar zxf test.tar.gz -C /home/linuxidc/dirtest/ =解开归档压缩linuxidclocalhost dirtest$ lsdirtest1 linkfile testfile test.tar.bz2 test.tar.gzlinuxidclocalhost dirtest$ 上面命令显示格式不太友好,因为在真实环境下,若删除原文件,软链接文件会处于不可用状态背景会变成红底。不过这个不影响理解呵呵。 注意归档只是将文件或者目录打在一个包里,并不进行压缩,而gzip和bzip2是进行压缩,上述最后几行命令是将二者结合起来使用的,即先归档后压缩。 tar和gzip bzip2的命令格式如下: tar 选项. 归档文件名 源文件或目录 =制作归档文件 tar 选项. 归档文件名 -C 目标目录 =解开归档文件 gzip/bzip2 -9 文件名或目录 =制作压缩文件 gzip/bzip2 -d .gz/.bz2格式的压缩文件 =解开压缩文件 对于上述命令,只是举出最简单的用法,至于要实现更强大的功能,使用时那就要去查每个命令带有哪些选项,或者直接找man命令帮助,那些选项太多,所以我认为只要知道有某个命令,至于具体用法用到时再去查而没必要记住所有的选项含义。 VIM编辑器的常用快捷编辑方式 文本编辑器可用来创建或修改文本文件,以及维护Linux系统中的各种配置文件。首次接触这个编辑器时会由于不熟练而是影响编辑效率,但是掌握常用快捷键后,非常神速。下面只是简单介绍下Vim编辑器,至于更深入的用法大家可以网上找找。 Unix和早期的Linux中默认使用的文本编辑器是Vi,现在用的都是vi的增强版vim,由于vi用的比较习惯了,所以现在仍然叫vi,其实是别名 alias vi=/usr/bin/vim,这个可以通过命令which vi看到。 Vim编辑器有3种工作模式:命令模式、输入模式、末行模式,在有的资料中可能说有2中工作模式,不将末行模式列在其中,这个不重要,总之前两种模式确实很重要;因为在这两种模式下可以做很多事。各种模式之间的切换如下图: 这几个模式的转换也要非常熟练。 命令模式中的基本操作: (1)显示行号::set nu 取消行号: :set nonu (2)行间快速跳转:#G:跳转到文件中的第#行;G:跳转到文件的末尾行;1G或gg:跳转到文件的行首。 (3)行内快速跳转:Home End 关于删除复制和粘贴:(命令模式下)删除 x或Del 删除光标处的单个字符 dd 删除当前光标所在行 #dd 删除从光标处开始的#行内容 d 删除当前光标之前到行首的所有字符 d$ 删除当前光标处到行尾的所有字符 复制 yy 复制当前行整行的内容到剪贴板 #yy 复制从光标处开始的#行内容 粘贴 p 将缓冲区中的内容粘贴到光标位置处之后 P 粘贴到光标位置处之前 在文件内容中查找:操作键 功能 /word 从上而下在文件中查找字符串“word” ?word 从下而上在文件中查找字符串“word” n 定位下一个匹配的被查找字符串 N 定位上一个匹配的被查找字符串 撤销编辑及保存退出:u 按一次取消最近的一次操作多次重复按u键,恢复已进行的多步操作 U 用于取消对当前行所做的所有编辑 ZZ 保存当前的文件内容并退出vi编辑器 保存文件及退出vi编辑器:(末行模式下)保存文件 :w /root/newfile 另存为其它文件 退出vi :q 未修改退出 :q! 放弃对文件内容的修改,并退出vi 保存文件退出vi :wq 文件内容替换:(末行模式下):s /old/new 将当前行中查找到的第一个字符“old” 串替换为“new” :s /old/new/g 将当前行中查找到的所有字符串“old” 替换为“new” :#,# s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new” :% s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new” :s /old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 要想熟练操作Vim编辑器,首先得掌握这些快捷键,这些都是最基本的。如有错误,欢迎指正,3Q!文件及目录的权限管理上篇简单介绍了下文件和目录的一些简单的操作,接下来介绍用户和文件权限的管理。首先了解用户和组账号的配置文件,然后是管理用户和组账号,最后要会设置文件和目录权限和归属。 Linux基于用户身份对资源访问进行控制。用户账号分为超级用户root(相当于windows下的Administrator),然后是普通用户。Linux中是不建议使用root登录系统执行管理任务的,因为这很不安全。要是误删了系统中某个重要的文件,那就玩完了。 用户账号文件passwd用于保存用户的账号的基本信息,文件位置:/etc/passwd,每一行对应一个用户的账号记录,下面是取出最后两行记录的账号信息,然后来分析它每个字段的含义(字段之间用冒号分隔)。 字段1 linuxidc:用户账号的名字;字段2 x :密码占位符字段3 500:用户账号的UID号(RedHat和CentOS中默认从500开始)字段4 500:用户所属主账号的GID号(也是默认从500开始)字段5zhoujie:用户全名字段6 /home/linuxidc :用户的宿主目录,即家目录字段7 /bin/bash :登录shell信息基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但只有root用户才能更改用户密码文件shadow用于保存密码串、密码有效期等信息,文件位置:/etc/shadow,每一行对应一个用户的密码记录。下面列出最后两行记录并解释每个字段的含义: 字段1 :用户账号的名称字段2 :加密的密码字串信息(采用MD5加密)字段3 :上次修改密码的时间 字段4:密码的最短有效天数,默认值为 0字段5:密码的最长有效天数,默认值为 99999字段6:提前多少天警告用户口令将要过期,默认值为 7字段7:在密码过期后多少天禁用此用户(默认为空)字段8:账号失效时间(默认为空) 字段9 :保留字段(未使用) 默认只要root用户能够读取该文件中的内容,并且不允许root直接编辑该文件中的内容。那么添加用户时如何来指定选项以实现这些功能呢?下面将简单介绍如何添加用户、组。添加用户账号useradd 用户账号的初始配置文件文件来源新建用户账号时,从/etc/skel目录中复制而来 主要的用户初始配置文件有 : /.bash_profile:用户每次登录时执行 /.bashrc:每次进入新的Bash环境时执行,默认设置了一些命令的别名 /.bash_logout:用户每次退出登录时执行 可通过cat命令查看上述文件的内容。 设置/更改用户口令passwd 一般我不会也没有必要解释每个命令的带的参数,但是passwd我会介绍它的参数含义及用法,因为我觉得在系统维护中会常用到。linuxidclocalhost $ su - root口令:rootlocalhost # passwd -l linuxidc =锁定用户linuxidc的账号Locking password for user linuxidc.passwd: Successrootlocalhost # passwd -S linuxidc =查看用户状态linuxidc LK 2013-02-03 0 99999 7 -1 (Password locked.) =为锁定状态rootlocalhost # tail -2 /etc/shadow =账号锁定后,有木有发现密码位前面多了两个!,表示密码不可用linuxidc:!$1$XRmjIBM9$SgXA00pPfvhjvxt/9.Lh.:15739:0:99999:7:user1:!:15771:0:99999:7:rootlocalhost # passwd -u linuxidc =为账号linuxidc解锁Unlocking password for user linuxidc. =已被成功解锁passwd: Success.rootlocalhost # passwd -S linuxidc =再次查看用户状态linuxidc PS 2013-02-03 0 99999 7 -1 (Password set, MD5 crypt.)rootlocalhost # tail -2 /etc/shadow =观察密码位变化,没有了两个!,表示密码可用linuxidc:$1$XRmjIBM9$SgXA00pPfvhjvxt/9.Lh.:15739:0:99999:7:user1:!:15771:0:99999:7:rootlocalhost # passwd -d linuxidc =清楚用户linuxidc的密码Removing password for user linuxidc. =密码已被成功清除passwd: Successrootlocalhost # tail -2 /etc/shadow =查看密码位有什么变化linuxidc:15771:0:99999:7: =密码位变空了。user1:!:15771:0:99999:7:rootlocalhost # passwd linuxidc =为用户重新设定密码Changing password for user linuxidc.New UNIX password: BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password: passwd: all authentication tokens updated successfully. =OK,密码已经设置成功了rootlocalhost # 注意,“未设置密码”的用户账号尚未完成初始化,处于不可登录状态,与“空密码”的情况不同,普通用户可以使用passwd命令,但只能更改自己的密码。另外,被锁定的账号也不能登录系统。修改用户账号的属性usermod 它的命令有几个功能和passwd是一样的,比如L和U参数就是锁定和解锁账户的,不过要大写。其他选项和useradd的中的一样,就是更改uid,gid等。删除用户账号userdel 删除账号时直接用”userdel 用户名“就行了,但是这样删除的话,用户的家目录依然存在,这时你若要再建立一个与刚才同名的账号那是不行的,所以我习惯带上-r选项,删的彻底点,即连同家目录一起删除,反正删除账号后家目录也没什么用了。 还有两个域组账号相关的文件,即/etc/group 和/etc/gshadow,不太常用,尤其是后者,知道下应该就行了。 添加组账号groupadd添加一个组账号,在新建用户时,若要指定用户的gid和组名称,则必须先保证这个组要存在,所以要先建立组,简单的操作如下:rootlocalhost #groupadd -g 1000 test =创建一个组gid为1000rootlocalhost #tail -3 /etc/grouplinuxidc:x:500:user1:x:504:test:x:1000:rootlocalhost # 删除组账号groupdel 很简单,直接接用户名作为参数,删除组账号后,从/etc/group文件中将查不到相应的记录。用户和组账号查询: id命令查询用户身份标识 groups命令查询用户所属的组finger命令查询用户的详细信息users、w、who命令查询已登录到主机的用户信息文件/目录的权限和归属 将ls带上参数l或直接打ll命令,则可以查看用户对文件的使用权。 第一列权限位由10位(比如d rwx rwx r-x)组成,其中第一位表示文件类型,d表示目录,l表示链接文件,b表示块文件,c表示字符文件,-表示普通文件。关于rwx-分别表示读、写、执行、无权限,r w x - 四个权限字符分别可表示为8进制数字4,2,1,0,即 rwx rwx r-x权限也可表示为775,其中前三位rwx(7)表示文件所有者(owner)对该文件的权限,中间3位rwx(7)表示文件所在的组(group)对该文件的权限,最后三位r-x(5)表示其他用户(other)对该文件的权限,也即ugo权限。设置文件/目录的权限chmodlinuxidclocalhost dirtest$ ll总计 36drwxrwxr-x 2 linuxidc jzhou 4096 03-05 22:43 dirtest1lrwxrwxrwx 1 linuxidc jzhou 8 03-05 22:45 linkfile - testfile-rw-rw-r- 1 linuxidc jzhou 67 03-05 22:40 testfilelinuxidclocalhost dirtest$ chmod g-w,o+x testfile =设置文件testfile的组权限和其他人权限,注意权限变化linuxidclocalhost dirtest$ ls -l总计 36drwxrwxr-x 2 linuxidc jzhou 4096 03-05 22:43 dirtest1lrwxrwxrwx 1 linuxidc jzhou 8 03-05 22:45 linkfile - testfile-rw-r-r-x 1 linuxidc jzhou 67 03-05 22:40 testfile =看,权限变化了linuxidclocalhost dirtest$ chmod 644 dirtest1/ =改变目录dirtest1的权限,即读写|读|读linuxidclocalhost dirtest$ ll总计 36drw-r-r- 2 linuxidc jzhou 4096 03-05 22:43 dirtest1 =发现它的变化了没lrwxrwxrwx 1 linuxidc jzhou 8 03-05 22:45 linkfile - testfile-rw-r-r-x 1 linuxidc jzhou 67 03-05 22:40 testfilelinuxidclocalhost dirtest$ chown linuxidc:root testfile =普通用户没有权限更改chown: 正在更改 “testfile” 的所有者: 不允许的操作linuxidclocalhost dirtest$ su root =切换到root用户口令:rootlocalhost dirtest# ll 总计 36drw-r-r- 2 linuxidc jzhou 4096 03-05 22:43 dirtest1lrwxrwxrwx 1 linuxidc jzhou 8 03-05 22:45 linkfile - testfile-rw-r-r-x 1 linuxidc jzhou 67 03-05 22:40 testfilerootlocalhost dirtest# chown root:root testfile =将文件testfile的拥有者和属组都改为rootrootlocalhost dirtest# ll总计 36drw-r-r- 2 linuxidc jzhou 4096 03-05 22:43 dirtest1lrwxrwxrwx 1 linuxidc jzhou 8 03-05 22:45 linkfile - testfile-rw-r-r-x 1 root root 67 03-05 22:40 testfile =看,它的文件拥有者和所属组都变为root了rootlocalhost dirtest# 修改目录的权限和所属组时可以指定-R选项以实现目录里的文件或者目录也可以递归变化。若只修改文件/目录所有者只需指定前者,即chown root testfile,若只修改文件/目录所属组的权限,前面的用户可不写,即chown :root testfile。附加权限位普通用户并没有权限修改“/etc/shadow”文件,那为什么可以修改自己的登录密码呢?因为passwd命令程序被设置了SUID权限,普通用户在执行该命令时临时获得相当于属主用户(root)的权限。 set位权限的主要用途: 为可执行(有 x 权限的)文件设置,权限字符为“s”; 其他用户执行该文件时,将拥有属主或属组用户的权限。 set位权限类型: SUID:表示对属主用户增加SET位权限; SGID:表示对属组内的用户增加SET位权限。 rootlocalhost # ls -l /usr/bin/passwd-rwsr-xr-x 1 root root 19876 2006-07-17 /usr/bin/passwd=普通用户以root用户的身份,间接更新了shadow文件中自己的密码注意:不要轻易为可执行文件设置SET位权限,特别是对于那些属主、属组是root的执行程序,使用SET位权限时更应该慎重。例如,若为vim编辑器程序设置SUID权限,将导致普通用户也可以使用vim编辑器修改系统中的任何配置文件 粘滞位(Sticky) 主要用途: 为公共目录(例如,权限为777的)设置,权限字符为“t” 用户不能删除该目录中其他用户的文件 由于系统及服务程序运行的需要, Linux提供了/tmp、/var/tmp等临时目录,允许任意用户、程序写入数据,然而试想一下,若任意一个普通用户都能够删除系统服务运行中使用的临时文件,将造成什么后果?设置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论