今天意外对某些文件做了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
改变着两者可改变文件的所有者属性