su: cannot set groups: Operation not permitted

时间:2022-08-27 15:49:43

今天意外对某些文件做了chomd 777的动作之后,linux系统就出现异常:

tmm_dev-bjnglbapvse:/tmm_dev> su
Password: 
su: cannot set groups: Operation not permitted

这个错误表明/bin/su下的s权限被修改,ls -l /bin/su果然发现 其权限为rwxrwxrwx。

需要对/bin/su回复s权限使用chomd a+s /bin/su,结果其权限变为-rwsrwsrwx,su命令的使用也正常了。


在这里对文件权限做如下说明:

基本权限:

修改文件权限可在根用户下使用chomd *** filename 来实现。

这里

r是可读,w可写,x 可执行

其中***代表的是三个三位二进制的数,第一个数是设置文件所有制访问权限,第二个数是设置群组访问权限,最后一个数是设置其他人的访问权限.

第一位代表是的r,第二位代表的是w,第三位代表的是x

每一位的意义如下:r可读,w可写,x可执行 R,W,X是基本权限


特殊权限:S/T

这个S权限是为了让一般使用者临时具有该文件所属主/组的执行权限,具有该权限的用户可以切换到root身份来使用.

T是/tmp和/var/tmp目录所提供所有用户暂时存取文件.


chmod 用法:

chmod [who] [ + | - | =] [mode] 文件名

who 代表的是:

u表示用户user,即文件或目录所有者;g表示同组group用户,即与文件属主有相同组ID的所有用户

o表示其他other用户;a表示所有用户也是系统默认值.

[+ | - | =]:

这代表的是三个权限操作,+为添加某个权限,-为取消某个权限,=为赋予指定权限并取消它所有的其他权限.

[mode]

这表示的是如下权限的任意组合:

r可读,w可写,x可执行,s在文件执行时把进程的属主或组ID置为该文件的文件属主方式"u+s"文件的用户ID,“g+s”组的ID位

t保存程序的文本到交换设备上,u与文件属主拥有一样的权限,g与文件属主同组的用户拥有一样的权限,o与其他用户拥有一样的权限

chomd的完整使用方式是: chown [-cfhvR] [--help] [--version] user[:group] file...

user 是新档案拥有者的使用者ID,group是新档案拥有者的使用者群体group

改变着两者可改变文件的所有者属性