【Linux】权限相关指令
1.将命令翻译后交给核心执行2.将核心执行的结果翻译并返回给我们形象理解shell假如小y过年回家打算相亲了打算小y并不擅长与异性交流这时候就拜托了媒人王姨作为中间人帮忙小y和异性之前传话。这时候王姨就是“外壳程序”shell。为什么要有shell1.方便用户使用2.作为外壳程序保护核心补充权限概念Linux中权限分为两种root账号、普通账号root账号为超级权限账号不受任何权限限制 普通账号受到权限限制在Linux中只能做有限的事su命令su 用户名功能切换账号代码语言javascriptAI代码解释hychcss-ecs-4ce7:/$ whoami hyc #切换root账号执行su即可 hychcss-ecs-4ce7:/$ su #输入root账号密码 Password: roothcss-ecs-4ce7:/# whoami root #切换普通账号su 用户名不需要密码 roothcss-ecs-4ce7:/# su hyc hychcss-ecs-4ce7:/$ whoami hyc补充普通用户 - root账号除了su可以实现su -也可以实现。但是区别是代码语言javascriptAI代码解释hychcss-ecs-4ce7:/$ pwd / hychcss-ecs-4ce7:/$ su Password: roothcss-ecs-4ce7:/# whoami root roothcss-ecs-4ce7:/# pwd / hychcss-ecs-4ce7:/$ pwd / hychcss-ecs-4ce7:/$ su - Password: roothcss-ecs-4ce7:~# whoami root roothcss-ecs-4ce7:~# pwd /root #我们可以看到su、su-都成功的切换到了root。 #不同的是su切换账号并不会改变之前所处路径既su不会改变位置 #而su-会改变位置之前是/下切换之后在/root下sudo:短暂的指令提权如果我们需要使用root权限来执行一些指令但是却没有root密码怎么办在指令最前面加上sudo就可以使用root权限执行命令代码语言javascriptAI代码解释hychcss-ecs-4ce7:~$ sudo ls [sudo] password for hyc:这样确实方便但是有一个问题那岂不是人人都可以使用root权限了这不乱套了Linux设计者当然考虑到了这个问题普通用户如果想要使用sudo进行指令提权。必须要root账号给予普通账号提权权限才行。所以并不是什么普通账号都可以进行提权没有提权权限的账户就会显示以下报错代码语言javascriptAI代码解释hychcss-ecs-4ce7:~$ sudo ls [sudo] password for hyc: hyc is not in the sudoers file. This incident will be reported.总结普通 - rootsu不会改变位置 su-会改变位置默认切换至家目录 root - 普通su 用户名 sodu 指令提权权限管理权限的本质是能做或者不能做什么事情控制用户行为防止错误操作理解1.权限限制的是人2.权限要求目标必须具备对应属性权限角色目标属性权限属性对于Linux中的属性来说主要为三个读、写、执行读r写w执行x之前我们说过第一个字母代表文件属性而后面的一串字符则代表该文件的权限。r对文件来说代表可以读取文件内容对目录来说代表可以浏览目录内容 w对文件来说代表可以修改文件内容对目录来说代表可以删除目录中的内容 x对文件来说代表可以执行该文件对目录来说代表可以进入该目录但是为什么这里有多个wrx呢这就涉及到角色的问题。角色上面我们说了权限角色对应属性。属性代表相应的角色拥有什么权限那么我们是如何分辨角色呢如何知道角色对应所拥有的权限呢首先我们可以通过命令行得知我们当前的角色、或者使用whoami指令然后根据当前用户来判断其说拥有的权限解释我们当前用户是root对于第一个目录来说我们就是其拥有者。所对应拥有的权限则是rwx而什么是所属组什么是other呢所属组就是当前角色不是拥有者但是与拥有者在同一个队伍中。这时候就会匹配所属组权限这时候这个角色就是所属者。所属组的存在是为了更精细化的权限管理。举例a组和b组都在同一台Linux机器上开发项目a组项目代码需要公开出来让a组全体成员都能看见但是不希望b组看见。这时候就只需要将a组全体成员纳入所属组中然后将other权限关闭就可以实现。现在很少用到了了解即可other就是既不属于拥有者也不属于所属者的角色。这时候就会匹配other权限。如何描述文件权限信息代码语言javascriptAI代码解释-rw-r--r-- 1 root root 22902 May 18 11:51 new.txt对于new.txt这个文件来说权限的描述应该为拥有者权限为rw所属组权限为rother权限为r。文件权限表示方法1.字符表示法3个字母为一组分别为r、w、x如没有对应权限则用 - 表示。其顺序是固定的不可交换2.8进制表示法chmod指令语法chmod 参数 权限 文件名功能改变文件权限只有root或者文件拥有者才有资格修改权限选项-R递归的将目录下的文件权限全部修改参数u拥有者 g所属组 oother a有所用户实际操作展示 代码语言javascriptAI代码解释roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new -rw-r--r-- 1 root root 22902 May 18 11:51 new.txt #关闭u的w权限 roothcss-ecs-4ce7:~# chmod u-w new.txt roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new -r--r--r-- 1 root root 22902 May 18 11:51 new.txt #开放u的w权限 roothcss-ecs-4ce7:~# chmod uw new.txt roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new -rw-r--r-- 1 root root 22902 May 18 11:51 new.txt #关闭u的多条权限 roothcss-ecs-4ce7:~# chmod u-rw new.txt roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new ----r--r-- 1 root root 22902 May 18 11:51 new.txt #开放u的多条权限 roothcss-ecs-4ce7:~# chmod urw new.txt roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new -rw-r--r-- 1 root root 22902 May 18 11:51 new.txt #开放g的w权限 roothcss-ecs-4ce7:~# chmod gw new.txt roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new -rw-rw-r-- 1 root root 22902 May 18 11:51 new.txt #关闭g的w权限 roothcss-ecs-4ce7:~# chmod g-w new.txt roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new -rw-r--r-- 1 root root 22902 May 18 11:51 new.txt #以此类推其他的权限操作类似另外也可以通过八进制来实现多个用户权限的修改代码语言javascriptAI代码解释roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new -rw-r--r-- 1 root root 22902 May 18 11:51 new.txt #通过3个8进制数字实现对多个用户权限修改 roothcss-ecs-4ce7:~# chmod 000 new.txt roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new ---------- 1 root root 22902 May 18 11:51 new.txt roothcss-ecs-4ce7:~# chmod 663 new.txt roothcss-ecs-4ce7:~# ls -l total 28 drwxr-xr-x 5 root root 4096 May 20 13:58 new -rw-rw--wx 1 root root 22902 May 18 11:51 new.txt修改权限注意事项1.任何人都可以修改文件权限吗只有root和文件拥有者才能修改权限2.如果在进行相应操作时没有权限会怎么样系统会拒绝我们的指令请求代码语言javascriptAI代码解释hychcss-ecs-4ce7:~$ ls -l total 0 -rw-rw-r-- 1 hyc hyc 0 May 24 23:07 new.txt hychcss-ecs-4ce7:~$ chmod u-r new.txt hychcss-ecs-4ce7:~$ ls -l total 0 --w-rw-r-- 1 hyc hyc 0 May 24 23:07 new.txt hychcss-ecs-4ce7:~$ cat new.txt cat: new.txt: Permission denied3.确定权限信息时系统会先确认谁先确认拥有者权限再确认所属组最后是other。权限只会确定一次不会多次确定第一次匹配上的权限既为我们当前角色所拥有的权限。4.root账号权限拥有最高权限不受一切权限的限制。所有设定的限制只针对普通账号有用。5.可执行权限我们之前所讲的例子中都没有可执行样例其实可执行程序是.exe文件。普通文件一般没有x权限当然即使拥有x权限也无法执行因为其本身就不是可执行文件。chown与chgrp指令语法chown 用户名 文件名功能改变文件或目录的拥有者选项-R 递归的修改目录中所有文件的拥有者语法chgrp 所属组名 文件名功能修改文件或目录的所属组选项-R递归修改目录中所有文件的所属组使用chown修改拥有者、chgrp修改所属组出现问题代码语言javascriptAI代码解释hychcss-ecs-4ce7:~$ ls -l total 0 -rw-rw-rw- 1 hyc hyc 0 May 24 23:07 new.txt hychcss-ecs-4ce7:~$ chown root new.txt chown: changing ownership of new.txt: Operation not permitted hychcss-ecs-4ce7:~$ chgrp root new.txt chgrp: changing group of new.txt: Operation not permitted原因系统并不支持随意的将文件的拥有者或所属组修改这一操作只有root权限才能被允许。所以在要在这句指令前加上sodu或者切换为root账号。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2602755.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!