Linux下的用户权限

  • 用户简介
  • 组简介
  • 文件的权限
  • 目录的权限

1. 用户简介

       Linux是一个多用户、多用户的操作系统。一个系统同时可能有几个用户访问系统,如果我们给这些用户同一个用户名去登录系统,可能会带来不便,因为不同的用户有不同的需求,例如你自己总有一些信息不想让他人看到,或者有些个性化的系统设置,还有作为系统的管理员想限制一些用户的访问等,为不同的用户创建不同的账号,赋予不同的权限,这是为例计算机安全。
       那么Linux是通过是通过什么来区分用户的?
       Linux是通过uid来标示用户的,root(超级管理员)的uid是0,普通用户的uid是1-65535,系统用户uid:1-499(CentOS6),1-999(CentOS7),这个是对守护进程获取资源进行权限分配;登录用户uid:500+(CentOS6),1000+(CentOS7),用于交互式登录用。


2. 组简介

       用户组是具有相同特征的用户集合体;例如我们有时需要让多个用户具有相同的权限,比如查看、修改某个文件或者目录,或者有些文件只能看不能修改等,我们可以创建个满足这个要求的组,然后把这些用户加到组里去,这样批量管理用户权限,而不用针对每个用户赋予相应的权限。
       Linux是通过gid来标示组的,root组(组管理员)的gid是0,普通用户的gid是1-65535,系统用户gid:1-499(CentOS6),1-999(CentOS7);登录用户gid:500+(CentOS6),1000+(CentOS7).


3. 文件的权限

       首先,我们先看下下面这个例子。

[miouqi@centos6 /]$ ls -ld app.log 
-rw-r--r--. 1  miouqi miouqi 173 May 25 14:54 app.log

      上面例子解析:
从左到右每项:
【权限属性列表】【引用计数】【所有者】【所属组】【大小】 【创建时间】【文件名】

权限属性列表(如上例drwxr-xr-x)为10字符:
      第一个字符表示文件的类型:-:普通文件;d:目录文件;b:块设备;c:字符设备;l:符号链接文件;p:管道文件;s:套接字文件。
      第2,3,4位字符依次表示文件所有者的读、写、执行权限(若无此权限,该位用-表示);
      第5,6,7位字符依次表示文件所属组的读、写、执行权限(若无此权限,该位用-表示);
      第8,9,10位字符依次表示其他用户的读、写、执行权限(若无此权限,该位用-表示);
      例如对上例app.log文件的解读是:文件的所有者对此文件有可以读写,但是不可执行,属于文件所属组的用户对此文件只能读,非文件所有者或所属组的其他用户对此文件只能读。
      修改文件所属组命令chgrp [选项] 组名 文件名;修改文件所有者:chown [选项]用户名[:用户组] 文件名 ;修改文件访问权限命令:chmod [选项] 0755 文件名,详细的命令解析后面博客补上。


4.目录的权限

      文件是存放实际数据的所在,目录主要的内容是记录文件名列表,文件名与目录有强烈的关联。
      r(读):可以查看此目录中文件列表,不能访问文件(即不能查看目录下的文件,不能删除目录下的文件(此目录属于用户的家目录除外),不能进入(cd)目录);
例1:用root账号为普通用户xh创建如下的实验环境

[root@centos6 tmp]# ls -al test/
total 8
dr--------.  2 xh   xh   4096 May 30 14:13 .
drwxrwxrwt. 32 root root 4096 May 30 14:10 ..
-rw-r--r--.  1 xh   xh      0 May 30 14:13 a
-rw-r--r--.  1 xh   xh      0 May 30 14:13 b
-rw-r--r--.  1 xh   xh      0 May 30 14:13 c

用xh的账号登录Linux系统,对文件夹test及其目录下文件进行如下操作:

[xh@centos6 ~]$ ls -al /tmp/test
ls: cannot access /tmp/test/c: Permission denied
ls: cannot access /tmp/test/..: Permission denied
ls: cannot access /tmp/test/.: Permission denied
ls: cannot access /tmp/test/a: Permission denied
ls: cannot access /tmp/test/b: Permission denied
total 0
d????????? ? ? ? ?            ? .
d????????? ? ? ? ?            ? ..
-????????? ? ? ? ?            ? a
-????????? ? ? ? ?            ? b
-????????? ? ? ? ?            ? c
[xh@centos6 ~]$ cd /tmp/test
-bash: cd: /tmp/test: Permission denied
[xh@centos6 ~]$ rm /tmp/test/a
rm: cannot remove `/tmp/test/a': Permission denied

      w(写):可以让使用者删除、更新、新建文件或目录(这些实现的前置条件是必须有x权限);
例2:对例1的实验环境修改,用root账号将test目录的权限通过chmod u=w /tmp/test命令修改,其他不变

[xh@centos6 ~]$ ls -al /tmp/test
ls: cannot open directory /tmp/test: Permission denied
[xh@centos6 ~]$ cd /tmp/test
-bash: cd: /tmp/test: Permission denied
[xh@centos6 ~]$ rm -r /tmp/test/a
rm: cannot remove `/tmp/test/a': Permission denied
[xh@centos6 ~]$ rename /tmp/test/a /tmp/test/f
[xh@centos6 ~]$ mv /tmp/test/a /tmp/a
mv: cannot stat `/tmp/test/a': Permission denied

      x:可以使用ls -l查看此目录中文件列表,也可以cd进入此目录(执行权限是基本权限);

例3:对例1的实验环境修改,用root账号将test目录的权限通过chmod u=wx /tmp/test命令修改,其他不变,

[xh@centos6 ~]$ cd /tmp/test
[xh@centos6 test]$ ls 
ls: cannot open directory .: Permission denied
[xh@centos6 test]$ cat a
abc
[xh@centos6 test]$ echo 1234 | tee a
1234
[xh@centos6 test]$ rm a
[xh@centos6 test]$ cat a
cat: a: No such file or directory
[xh@centos6 test]$ mv b ../
[xh@centos6 test]$ cd ..
[xh@centos6 tmp]$ ls -ld b
-rw-r--r--. 1 xh xh 0 May 30 14:13 b

      X(大写X):只给目录x权限,不给文件x权限(与-R配合使用,针对目录及其子目录增加x权限,对文件无执行的文件,不会增加x权限,任意三种人有执行权限,也会增加x权限)
例4:用root账号为普通用户xh创建如下的实验环境

[root@centos6 tmp]# ls -al test
total 12
drwx------.  3 xh   xh   4096 May 30 15:09 .
drwxrwxrwt. 32 root root 4096 May 30 15:01 ..
-rwxr--r--.  1 xh   xh      0 May 30 15:06 a
-rw-r--r--.  1 xh   xh      0 May 30 15:06 b
-rw-r--r-x.  1 xh   xh      0 May 30 14:13 c
drw-r--r--.  2 xh   xh   4096 May 30 15:09 dir

用xh的账号登录Linux系统,对文件夹test及其目录下文件进行如下操作:

[root@centos6 ~]# chmod -R g+X /tmp/test/
[root@centos6 ~]# ls -al /tmp/test/
total 12
drwx--x---.  3 xh   xh   4096 May 30 15:09 .
drwxrwxrwt. 32 root root 4096 May 30 15:01 ..
-rwxr-xr--.  1 xh   xh      0 May 30 15:06 a
-rw-r--r--.  1 xh   xh      0 May 30 15:06 b
-rw-r-xr-x.  1 xh   xh      0 May 30 14:13 c
drw-r-xr--.  2 xh   xh   4096 May 30 15:09 dir
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值