linux中用户与权限管理


    与Window的单用户系统不同,Linux操作系统在设计之初就遵循着多用户、多任务的理念。而在这种情况下,安全问题非常重要,不同用户,不同的用户组之间的隐私保护,安全管理就非常有必要。对于这个问题,Linux就有了对于不同的用户,不同的组对于文件有不同的权限,以使用确保安全。


用户的概念

    用户:由于Linux系统是一个多用户系统,每个用户又有不同的组。为了便于管理用户,所以在我们注册帐号时,系统会自动分配给我们一个ID,标识此用户的唯一性。而ID信息一般都存储与/etc/passwd 文件中。每个登陆用户至少都会取得两个ID,一个是用户ID(User ID,UID),一个是组ID(Group ID,GID),文件判断它的所有者与组就是利用UID与GID。

    

    根据权限的不同,Linux系统把用户分为管理员账户,系统账户,普通账户,并用GID与UID进行标识


    root用户,即管理员,自动分配,UID=0,GID=0

  CentOS7系统中,系统账户UID范围:1-999

                 普通用户UID范围:1000-60000

                 

                 系统账户GID范围:1-999

                 普通用户GID范围:1000-60000


我们可以使用id命令查询相应用户的信息:id username


[root@localhost /]# id zhangpf

uid=1000(zhangpf) gid=1000(zhangpf) 组=1000(zhangpf),10(wheel)

如上所示:用户zhangpf的uid值为1000,gid值为1000,所属的组是zhangpf,附加组为wheel


用户管理,一般只有管理员有此权限。常用的命令有

useradd:添加用户,并配置用户信息

userdel:删除用户

passwd:设置用户密码,修改密码

usermod:账户相关数据微调,可以为单个用户添加多个组


figer:类似指纹功能,能够查询到用户的相关属性


用户组管理:

groupadd:添加用户组

groupmod:与usermod的用法相似,修改组的相关参数

groupdel:删除组

gpasswd:用户组管理员功能


注意:对于用户的管理与组的管理,一般只有管理员有此权限。


文件属性与权限:对于Linux系统而言,遵循“一切皆文件”的哲学思想,不管是硬件资源还是其他的所有资源都被当作文件进行处理。而每个文件都有属性,对于不同的使用者,有不同的权限。在Linux中可以使用ls命令查看文件的属性:


[root@localhost /]# ls -l

总用量 44

lrwxrwxrwx.   1 root root    7 2月  27 17:28 bin -> usr/bin

dr-xr-xr-x.   4 root root 4096 2月  28 17:38 boot

drwxr-xr-x.  20 root root 3260 3月   8 10:29 dev

drwxr-xr-x.  16 root root 4096 3月   8 14:08 home

drwxr-xr-x.  32 root root  960 3月   8 10:29 run

lrwxrwxrwx.   1 root root    8 2月  27 17:28 sbin -> usr/sbin

-rw-------.   1 root root    0 2月  27 17:27 yum.log



如上所示:列出的第一行是文件的属性与权限,


   lrwxrwxrwx:第一个字符代表的是这个文件的属性

              l代表链接文件

              d代表目录

              -代表文件

              b表示设备文件里面的可供存储的接口设备

              c表示设备文件里的串行端口设备,如键盘,鼠标

              接下来的以三个为一组,且均以“rwx”的3个参数组合的方式,其中“r”代表可读,“w”代表可写,“x”代表可执行

                     前面的三个代表属主(owner)的权限,中间的权限是属组(group),最后的是其他人(other)的权限

         第二列表示有多少文件名连接到此节点

         第三列代表的是文件的属主名称

         第四列代表的是文件的属组名称

         第五列是文件的大小,单位是B

         第六七八列代表文件最近被改动的日期

         第九列是文件的文件名



与Windows系统不同,每一文件都添加了各种属性,尤其是在多用户系统下,每个人对于相应的权限,才能做到数据的安全。因此在修改文件与目录的属性之前,一定要慎重!!!那么文件与目录的权限如何修改呢?


chgrp:改变文件所属用户组

chown:改变文件所有者

chmod:改变文件的权限