在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作。在系统中,通过UID来区分用户的权限级别,UID等于0,表示此用户具有最高权限,也就是管理员。其他的用户UID依次增加,通过/etc/passwd用户密码文件可以查看到每个用户的独立的UID。
默认进入系统,我们会看到这样的字符: [root@localhost ~]#
,其中#
代表当前是root用户登录,如果是$
表示当前为普通用户。
每一个文件或者目录的权限,都包含一个用户权限、一个组的权限、其他人权限,例如下:
第一个root表示该文件所有者是root用户,第二个root代表该文件的所属的组为root组,其他用户这里默认不标出。
[root@localhost tmp]# ls -l test.txt
-rwx------. 1 root root 15 4月 5 21:29 test.txt
[root@localhost tmp]#
如果我们想改变某个文件的所有者或者所属的组,可以使用命令chown
chown –R abc:abc test.txt
即可。
[root@localhost tmp]# chown -R abc:abc test.txt
[root@localhost tmp]# ls -l test.txt
-rwx------. 1 abc abc 15 4月 5 21:29 test.txt
[root@localhost tmp]#
每个Linux文件具有四种访问权限:可读®、可写(w)、可执行(x)和无权限(-)。
利用ls -l
命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为准。第一个字段由10个字符组成,如下:
[root@localhost tmp]# ls -l test.txt
-rw-r--r--. 1 abc abc 15 4月 5 21:29 test.txt
第一位表示文件类型,-表示文件,d表示目录;后面每三位为一组。
- 第一组:2-4位表示文件所有者的权限,即用户user权限,简称u
- 第二组:5-7位表示文件所有者所属组成员的权限,group权限,简称g
- 第三组:8-10位表示所有者所属组之外的用户的权限,other权限,简称o
从上面这个文件,我们可以看出,test.txt文件对应的权限为:
abc用户具有读和写的权限,abc组具有读的权限,其他人具有读的权限。
为了能更简单快捷的使用和熟悉权限,rwx权限可以用数字来表示,分别表示为r(4)、w(2)、x(1)。
test.txt权限可以表示为:744
如果给某个文件授权,命令为chmod:chmod 777 test.txt [-R]
,目录的话加上-R包括目录下文件的权限
[root@localhost tmp]# ll
总用量 4
-rwx------. 1 abc abc 15 4月 5 21:29 test.txt
[root@localhost tmp]# chmod 777 test.txt
[root@localhost tmp]# ls -l test.txt
-rwxrwxrwx. 1 abc abc 15 4月 5 21:29 test.txt
[root@localhost tmp]#