linux拥有非常美妙的验证授权体系:每个文件都有,读 写 执行 三种权限,系统可以根据用户来判断对文件所拥有的权限,但是这显然不够,比如说a,b,c用户都拥有对d文件的写权限,但只有a拥有执行权限,这样权限分配起来就非常的麻烦,所以又划分出组,用户拥有组后,就拥有了此组所有的权限.
我们可以通过ls -l查看文件所有的权限
权限信息保存在/etc/passwd跟/etc/group里 可以使用 cat /etc/passwd..查看:
可以使用adduser deluser moduser addgroup delgroup modgroup来修改用户和组信息,gid,uid<=1000为system id 可以通过--system来添加
groups users可以用来显示当前用户和组id命令的简化版本
id 可以显示其他用户组等信息
根据系统文件甲以及系统所需功能的不同,系统已经初始化了许多group
cat /etc/group可以看到 这些gid <1000的基本上都是默认存在的,一般组:
新闻,邮件,日志,消息,后台守护程序,管理,ssh等。
新的系统如何构建自己的权限管理系统?
在新安装的系统中,除开每个/etc/passwd文件中标示出的主目录是每个账户的私有目录外,其他所有文件,都是root:root所有,以后安装的程序也都多半是通过sudo进行的。所以,系统里的东西除开主目录外,其他都是root用户有rwx root组rx,于是我们的应用程序如果非su权限,则没有写权限,想要解决问题有有以下方法:
修改文件所属
chown gavin:gavin /usr/soft/www
给group赋予写权限
chmod o+w /usr/soft/www
这样就解决了文件不可以写的问题