问题: 如下这个文件,由root账号创建,权限为 rw-r-----,即对普通用户来说,read/write权限都没有.
-rw-r----- 1 root root 0 7月 9 21:22 rootfile
在非root账号即普通用户账号下,试图读取该文件会报错:
$ cat rootfile
cat: rootfile: 权限不够
在某些特殊情况下,普通用户也需要读取该文件的内容.怎么办?
解决办法:
1. 编写一个owner id为root的程序,读写rootfile,名为 ReadRootFile(源代码见下文 )。此时该程序只能由root账号执行。
-rwxr-xr-x 1 root root 8968 7月 9 21:37 ReadRootFile
如果尝试在普通账号下运行该程序,会报错:
$ ./ReadRootFile rootfile
Open fail: : Permission denied
Real User ID:1000, name=liuwei
Effective User ID:1000, name=liuwei
2. 在root账号下,执行 chmod u+s ./ReadRootFile,打开 Set-User-ID 位。设置后,再次查看文件属性。可见文件的用