用户和组的权限管理
一、概念
用户组就是具有相同特征的用户的集合,一个组可以包含多个用户,每个用户也可以属于不同的组;用户组的目的方便管理员对用户进行集中管理;用户组也分为两类:系统组和普通组。
1、超级用户:root用户uid=0,简单来说uid为0的用户就是超级用户;
2、虚拟用户:存在Linux系统中,满足文件或者程序运行的需求而创建的,此类用户不能登录,不能使用;uid=1~499范围;
3、普通用户:管理员root创建的用户;uid=500+
二、用户及用户组配置文件介绍
1、用户和用户组配置文件在/etc/passwd目录下
第一列:用户名;
第二列:密码位;
第三列:UID号(centos6:1-499为系统用户预留,centos7:1-999为系统用户预留);
第四列:GID号,属组;
第五列:用户名;
第六列:用户的家目录;
第七列:用户默认shell类型;
三、用户和组管理命令
1、用户管理命令
(1)useradd -u 创建用户时指定uid;
-g 创建时指定用户所属基本组;
-M 不创建家目录;
-s 指定用户的默认shell;
-e 指定用户的过期时间;
-G 为用户指定附件组,组须存在才能添加;
-c 用户的注释信息;
(2)userdel -r 删除用户时,连同其家目录,mail一同删除 ;
(3)passwd -l 锁定指定用户;
-u 解锁指定用户;
-e 强制用户下次修改登录密码;
-n mindays:指定最短使用期限;
-x maxdays:最大使用期限;
-w warndays:提前多少天开始告警
-stdin 从标准输入接收用户修改密码 #echo "redhat" passwd -stdin root
2、组账号管理命令
(1)groupadd -g 创建指定的gid组;
-r 创建系统组;
(2)groupmod -n 修改组名;
-g 修改gid;
(3)groupdel +组名 删除组
(4)gpasswd -a user 将user用户添加至指定组中;#gpasswd -a peter -g root ,将用户peter添加到root组中;
-d user 从指定组中移除用户user;#gpasswd -d peter -g root ,将用户peter从root组中移除;
案例1:创建用户peter,附件组为bin和root,默认shell为/bin/csh,注释信息为“Peter Distribution”。
[root@centos6 ~]# useradd peter -G bin,root -s /bin/csh -c "Peter Distribution"
[root@centos6 ~]# cat /etc/passwd | tail -1 #查看文件最后一行
peter:x:501:501:Peter Distribution:/home/peter:/bin/csh
[root@centos6 ~]# id peter
uid=501(peter) gid=501(peter) groups=501(peter),0(root),1(bin)
2、创建用户时默认值设定存放于/etc/default/useradd文件中
[root@centos6 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home #把用户的家目录创建在/home中;
INACTIVE=-1 #是否启用账号过期停权,-1表示不启用;
EXPIRE= #账号终止日期,不设置表示不启用;
SHELL=/bin/bash #新用户默认所用的shell类型
SKEL=/etc/skel #当我们用useradd添加用户时,新用户家目录的默认存放路径
CREATE_MAIL_SPOOL=yes #创建mail文件
案例2:修改peter用户的默认shell和描述信息
[root@centos6 ~]# cat /etc/passwd | tail -1
peter:x:501:501:Peter Distribution:/home/peter:/bin/sh
[root@centos6 ~]# usermod -s /bin/sh peter -c "peter"
[root@centos6 ~]# cat /etc/passwd | tail -1
peter:x:501:501:peter:/home/peter:/bin/sh