问题
因系统空间不够,报错 /tmp目录无法写入。
排查发现 /usr 目录占用空间过大,故分隔一块存储空间,挂在 /usr 目录
/usr 备份拷贝到其他分区,新分区挂在到 /usr目录后,把原有的资源拷贝回来。
结果发现不少权限错误。如执行 sudo 命令报错:
sudo: /usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位
原权限: -rwsr-xr-x
现权限:-rwxr-xr-x
解决思路
想办法执行 chmod 4755 /usr/bin/sudo
或 chmod u+s /usr/bin/sudo
文件权限
文件类别
-:普通文件
d:目录文件
l: 软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如猫等串口设备)
s:套接口文件/数据接口文件(如MySql服务的mysql.sock文件)
权限类别
linux中的rws中的s为特殊权限,赋值方式同样和普通的文件操作是一样的,命令如下:
chmod 1755 filename。
同样对,rwx、s/S,t/T进行一个解释:
- 1.r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
- 2.w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
- 3.x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
- 4.s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。
- 5.t或T(Sticky):/和 /var/目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。
权限作用域(作用对象)
user 所属用户,缩写u
group 所属分组,缩写g
other 其他,缩写o
修改文件权限
语法: chmod (选项) 模式 文件名
模式由who opt per
三部分组成
who:u g o a(all)
opt:+ – =
per:r w x X
chmod u+x a.txt
chmod g+x,o+x a.txt
chmod u=rwx,g=rwx,o=rwx a.txt
chmod a=rwx a.txt
chown命令:用来改变文件或目录的所有者和所属用户组。
chgrp命令 :用来改变文件或目录的所属的用户组。
Linux文件权限详解 https://blog.csdn.net/lv8549510/article/details/85406215
linux中的rws中的s是什么权限,如何赋予? https://blog.51cto.com/u_12127893/1861688
/usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位 https://blog.csdn.net/qq_19734597/article/details/103401394【Linux】Linux系统中的权限详解https://www.cnblogs.com/songgj/p/8890710.html
Linux ping: socket: 不允许的操作 https://ld246.com/article/1578647657753