Linux用户和用户组以及相关权限html
注意:如下示例使用MacOS说明linux
示例一,该目录下只有一个软连接,显示该目录下的全部文件和目录的详细信息nginx
➜ nginx ls -al total 8 drwxr-xr-x 3 xinxingegeya staff 102 6 22 17:21 . drwxr-xr-x 18 xinxingegeya staff 612 6 21 18:20 .. lrwxr-xr-x 1 xinxingegeya staff 31 6 22 17:20 nginx.conf -> /usr/local/etc/nginx/nginx.conf
示例二,显示指定文件的详细信息,数据结构
➜ /etc ls -al hosts -rw-r--r-- 1 root wheel 289 6 22 11:42 hosts
这里的ls -al和linux中显示的有所不一样,不过差异不大,以上的各项分别表明的含义是:this
the access permissions------(-rw-r--r--) the number of links to this file------(1)------(文件的硬连接数量) the ownership (user and unix group which own it)------(root wheel)------(文件的全部者和所属的用户组) size in bytes------(289)------(文件的大小) date of the last modification------(6 22 11:42)------(Month DAY_OF_MONTH TIME)------(文件的最后修改日期) the name of the directory entry------(hosts)------(目录或文件的名字)
以下所示,unix
➜ /etc ls -al hosts -rw-r--r-- 1 root wheel 289 6 22 11:42 hosts
当使用al选项会列出文件和目录的详细信息,最前面的第2~10个字符是用来表示权限。第一个字符通常用来区分文件和目录:code
d:表示是一个目录。 -:表示这是一个普通的文件。 l:表示这是一个符号连接文件,实际上它指向另外一个文件。 b,c:分别表示区块设备和其余的外围设备,是特殊类型的文件。 s,p:这些文件关系到系统的数据结构和管道,一般不多见到。
第2~10个字符又分为三部分,htm
rw-r--r-- rw- 拥有者(user)权限 r-- 用户组(group)权限 r-- 其余用户(other)权限
MacOS常见的用户和用户组:blog
➜ ~ dscacheutil -q group name: admin password: * gid: 80 users: root xinxingegeya name: staff password: * gid: 20 users: root xinxingegeya name: wheel password: * gid: 0 users: root
修改文件和目录的用户组-chgrp(change group) 示例以下,递归
➜ helloworld ls -al total 8 drwxr-xr-x 4 xinxingegeya staff 136 6 22 14:21 . drwxr-xr-x+ 89 xinxingegeya staff 3026 6 22 14:21 .. drwxr-xr-x 2 xinxingegeya staff 68 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya staff 6 6 22 14:20 hellworld.txt ➜ helloworld chgrp -R admin dir1 ➜ helloworld ls -al total 8 drwxr-xr-x 4 xinxingegeya staff 136 6 22 14:21 . drwxr-xr-x+ 89 xinxingegeya staff 3026 6 22 14:22 .. drwxr-xr-x 2 xinxingegeya admin 68 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya staff 6 6 22 14:20 hellworld.txt ➜ helloworld
将目录dir1的用户组修改成admin,命令chgrp(change group),R参数表示递归操做该目录下的全部文件和目录,
chgrp -R admin dir1
修改文件和目录的拥有者和用户组-chown(change owner) 示例以下,
➜ helloworld ll total 8 drwxr-xr-x 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt ➜ helloworld chown xinxingegeya:staff dir1 ➜ helloworld ll total 8 drwxr-xr-x 2 xinxingegeya staff 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
chown xinxingegeya:staff dir1
修改 dir1 目录的拥有者为xinxingegeya,其所在的用户组为staff。
当拥有者不存在时,以下
➜ helloworld chown xiaoming:staff dir1 chown: xiaoming: illegal user name
也能够直接指定用户组,好比,
➜ helloworld chown :admin dir1 ➜ helloworld ll total 8 drwxr-xr-x 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
修改文件和目录的权限-chmod(change mode) 示例以下,
➜ helloworld ll total 8 drwxr-xr-x 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt ➜ helloworld chmod g+w dir1 ➜ helloworld ll total 8 drwxrwxr-x 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
给用户组增长w权限,
chmod g+w dir1
使用符号模式能够设置多个项目:who(用户类型),operator(操做符)和permission(权限),每一个项目的设置能够用逗号隔开。 命令chmod将修改who指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在who的位置来讲明,示例以下,
➜ helloworld ll total 8 drwxrwxr-x 2 xinxingegeya admin 68 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10 6 22 14:28 hellworld.txt ➜ helloworld chmod u-x,g-x,o-x dir1 ➜ helloworld ll total 8 drw-rw-r-- 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
如下两个命令等价,
chmod u-x,g-x,o-x dir1 chmod ugo-x dir1
chmod命令可使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件全部者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来讲明一个类具备相应的优先级。
chmod的八进制语法的数字说明:
r 4 w 2 x 1 - 0
全部者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如rwx ,也就是4+2+1 ,应该是7。
用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如rw- ,也就是4+2+0 ,应该是6。
其它用户的权限数字表达:其它用户权限位的数字相加的总和。如r-x ,也就是4+0+1 ,应该是5。
示例以下,
➜ helloworld ll total 8 drw-rw-r-- 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt ➜ helloworld chmod 644 dir1 ➜ helloworld ll total 8 drw-r--r-- 2 xinxingegeya admin 68B 6 22 14:21 dir1 -rw-r--r-- 1 xinxingegeya wheel 10B 6 22 14:28 hellworld.txt
======END======