linux系统命令权限之特殊权限

linux系统命令权限之特殊权限高校化学工程学报
⼀.查看系统/⽤户的环境变量命令
su - ⽤户名
系统想加载⽤户环境变量,进⼊家⽬路,没有/home/⽤户名,导致命令提⽰符错误,如何修复呢?
linux中可以查询⽤户相关的,环境变量,命令是 env linux中还有⼀个查询,全系统的环境变量,命令是set PS1变量,就是控制命令提⽰符的
[fyy01@yuanlai-0224 ~] set |grep PS1 PS1='[\u@\h \W] '
\u 显⽰⽤户名
浙江树人大学学报\h 显⽰主机名
\W 显⽰⽤户所处⽬录的最后⼀级
\w 显⽰⽤户所处的绝对路径,省去你敲pwd
\t 以24⼩时制,显⽰时间
$ 显⽰⽤户的⾝份提⽰符,⾃动识别root还是普通⽤户
最终你可以调整PS1 命令提⽰符如下格式
PS1='[\u@\h \w \t]$ '
该变量,临时敲打,临时⽣效,重新登录后,系统重新加载⽤户环境变量,该设置丢失
如何永久⽣效?把你⾃定义的变量
写⼊到,系统全局环境变量配置⽂件中(/etc/profile)
那么就有关于⽤户个⼈的配置⽂件,在⽤户家⽬录下
~/.bash_profile
1.命令提⽰符的变量(属于⽤户系统中⾃定义变量)
特别注意:变量名和值之间,不得有空格
通常会⽤到‘env’命令查看
列如;[root@linux0224 ~]# env |grep root
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/cmatrix12/bin:/root/bin
PWD=/root
HOME=/root
LOGNAME=root
XDG_DATA_DIRS=/root/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/ [root@linux0224 ~]#
2. 当命令提⽰符出现损坏,家⽬录显⽰不正常的时候解决办法
⽐如:
[root@linux0224 tmp]# su - chaoge01
上⼀次登录:四 3⽉ 17 09:51:51 CST 2022pts/0 上
su: 警告:⽆法更改到 /home/chaoge01 ⽬录: 没有那个⽂件或⽬录/
-bash-4.2 -bash-4.2
-bash-4.2 -bash-4.2 echo PS1 \s-\v\$ -bash-4.2江民通行证
修复原理:
1.系统读不到⽤户的个⼈配置⽂件,要去⼀下,⼀般⽤户⽤useradd 创建⽤户时个⼈配置⽂件会在/etc/skel ⽬录下我们要去拷贝所有的⽤户个⼈环境配置⽂件
然后粘贴到⽤户⽣成的家⽬录/home/⽤户名
1.特殊权限
linux系统权限共12位权限,基本权限9位分别是 rwx ,rwx,rwx, 还有三位特除权位
suid(setuid)
sgid(setgid)
sbit(sticky)
特除权限对照表
2.SUID特殊权限
基本原理:
1.suid特除权限仅限于可执⾏⽂件,也是个⼆进制命令列如⽐如系统的/usr/bin下提供的命令,如 /usr/bin/ls,如/usr/bin/rm
2.suid特殊权限只要⽤户对设有 SUID 的⽂件有执⾏权限,那么当⽤户执⾏此⽂件时,会以⽂件属主的⾝份去执⾏此⽂件
3.⼀旦⽂件执⾏结束,⾝份的切换也随之消失
图解suid特殊权位
总结;
SUID位的⽂件被执⾏时,该⽂件将以所有者的⾝份运⾏,
也就是说⽆论谁来执⾏这个⽂件,他都有⽂件所有者的特权。
如果属主是root的话,那么执⾏⼈就有超级⽤户的特权了。
这时该位将变成⼀个安全漏洞,因此不要轻易设置该位。
1. suid功能是针对⼆进制可执⾏命令设置的,不能⽤在shell脚本上。
2. ⽤户权限位的x权限位置处,如果有s或S,表⽰该命令存在suid权限。
3. suid的作⽤就是,让普通⽤户在执⾏设置了suid权限的命令时,可以拥有其(属主)的权限(⼀般默认是root)。
4. ⼆进制命令,如系统提供的ls,mkdir等命令,都需要有x权限才可以操作。
5. suid是⼀个危险的命令,对系统有⼀定威胁,⼀般依然是⽤sudo命令代替suid等特殊权限操作。
6. 系统安全优化时,会尽量去除所有设置suid的命令。
7.查系统中所有的suid权限⽂件
# find搜索,根据权限搜索
[root@yuchao-tx-server ~]# find / -type f -perm -4000  -ls
补充sgid
sgid原理篇:
1.对于⼆进制命令来说,sgid的功能和suid基本⼀样,只不过⼀个是设置⽂件属主的权限,⼀个是设置属组的权限,和9位基本rwx那个理解概念⼀样。
2. suid是获得⽂件属主的权限,sgid是获得⽂件属组的权限
3. sgid主要⽤于⽂件夹,为某个⽬录设置sgid之后,在该⽬录中的创建的⽂件,都以(⽬录的属组)权限为准,⽽不属于创建该⽂件的⽤户权限,这就实现了多个⽤户,可以共享⼀个⽬录的作⽤
作⽤:
对⽂件来说
1. sgid只对⼆进制命令⽣效,且需要⼆进制命令本⾝有x权限。
2. 执⾏包含sgid权限的⼆进制命令时,会获得该命令在执⾏期间所属的组的⾝份与权限。
对⽂件夹来说
3. linux中所有的⽤户,默认创建的⽂件,⽂件夹,属主和属组都是⽤户⾃⾝。
4. 设置了sgid的⽬录,会保证在这个⽬录下创建的⽂件、⽂件夹都保持同样的权限属性,都属于该⽬录的属组权限。
列如:⼀些常见得题
粘度系数1.创建⼀个共享⽬录/home/admins
www.ddd202.要求该⽬录属组是adminuser,adminuser组内成员对该⽬录的权限是,可读,可写,可执⾏。
3.其他⽤户均⽆任何权限(root特例)
4.进⼊/home/admins创建的⽂件,⾃动继承adminuser组的权限。
sbit的作⽤
原理:在⼀个权限是 777的⽂件夹下,所有⽤户,可以进⾏ r,w,x的操作,也就意味着,可以随便,删除其他⼈的资料!!
linux中的确存在这么⼀个公共⽂件夹,名字叫做/tmp 对于系统特殊⽂件夹/tmp来说,是整个系统所有⽤户的临时⽂件存放地,谁都有任意的权限,你会发现该⽬录的权限巨⼤。
临时⽂件夹当⽬录有了粘滞位特殊权限,这个⽬录除了root⽤户特殊以外,任何⽤户都只能删除、移动⾃⼰的创建的⽂件,⽽不能影响到其他⼈。
列如:
1.移除/tmp的sbit权限,查看该⽬录下的⽂件操作
[root@linux0224  0224linux]# chmod o-t /tmp
[root@linux0224  0224linux]# ll -d /tmp
drwxrwxrwx. 11 root root 260 3⽉  17 12:26 /tmp
请注意,还给⼈家加上去电泳工艺
2.⾃⼰创建⼀个共享⽬录,只能创建,不能删除别⼈的资料
[root@linux0224 0224linux]# chmod o+t /0224linux/
[root@linux0224 0224linux]#
[root@linux0224 0224linux]#
[root@linux0224 0224linux]# ll -d /0224linux/
drwxrwxrwt. 2 root root 47 3⽉ 17 12:18 /0224linux/
Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

本文发布于:2024-09-25 01:21:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/257980.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:权限   命令   系统   环境变量   进制   设置   创建   件夹
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议