linux的普通用户一般情况下有哪些权限
一般来说,Linux的用户信息保存在/etc/passwd中,组信息保存在/etc/group中,文件的每一行代表一个用户/组。早期的Linux将密码以名码的形式保存在/etc/passwd中,而现在则多以暗码(也就是加密之后的形式)的形式保存在/etc/shadow中。将密码存储在/etc/shadow中提高了密码的安全性,因为/etc/passwd允许所有人查看,而/etc/shadow只允许root用户查看。 进程权限: 但是,在Linux中,用户的指令是在进程的范围内进行的。我们需要将用户的权限传递给进程,以便进程真正去执行操作。例如我们有一个文件a.txt, 文件中为一个字符串:Hello world! 我以用户Vamei的身份登录,并在shell中运行如下命令:$cat a.txt。 整个运行过程以及文件读取如下: 我们可以看到,整个过程中我们会有两个进程,一个是shell本身(2256),一个是shell复制自身,再运行/bin/cat (9913)。图中的fork, exec, PID可参看Linux进程基础。第二个进程总共对文件系统进行了两次操作,一次是执行(x)文件/bin/cat,另外一次是读取(r)文件a.txt。使用$ls -l 查看这两个文件的权限: $ls -l /bin/cat -rwxr-xr-x 1 root root 46764 Apr 1 2012 /bin/cat $ls -l a.txt -rw-rw-r-- 1 Vamei Vamei 14 Oct 7 09:14 a.txt 从上面可以看到(参考Linux文件管理背景知识),/bin/cat让所有用户都享有执行的权利,而Vamei作为a.txt的拥有者,对a.txt享有读取的权利。 让我们进入更多的细节 (The devil is in the details)。在进行这两次操作的时候,尽管用户Vamei拥有相应的权限,但我们发现,真正做工作的是进程9913。我们要让这个进程得到相应的权限。实际上,每个进程会维护有如下6个ID: 真实身份: real UID, real GID 有效身份:effective UID, effective GID 存储身份:saved UID, saved GID (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |