linux用户、组管理

一、建用户

useradd mysql4                   //新建用户,工作区间默认在/home/mysql4
passwd mysql4                    //修改用户密码
usermod -l mysql5 mysql4         //将mysql4用户名修改为mysql5
usermod -g mysql4 opensky        //将mysql4加入到opensky用户组
usermod –d /home/abc mysql4      //用户目录改为/home/abc
id mysql4                        //查看mysql4的用户信息
userdel mysql4                   //删除用户mysql4 

与用户相关的配置文件
/etc/passwd 注:用户(user)的配置文件;
/etc/shadow 注:用户(user)影子口令文件;

1、在/etc/passwd 中,每一行都表示的是一个用户的信息;一行有7个段位;每个段位用:号分割,比如下面是我的系统中的/etc/passwd 的两行;

mysql2:x:500:500::/home/mysql2:/bin/bash
mysql4:x:501:501::/home/mysql4:/bin/bash

第一字段:用户名(也被称为登录名);在上面的例子中,我们看到这两个用户的用户名分别是 mysql2 和mysql4;
第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;
第三字段:UID ;用户id
第四字段:GID;用户组id
第五字段:用户名全称,这是可选的,可以不设置。
第六字段:用户的家目录所在位置;mysql2这个用户是/home/mysql2 ,而mysql4这个用户是/home/mysql4 ;
第七字段:用户所用SHELL 的类型,mysql2mysql4 都用的是 bash ;所以设置为/bin/bash ;

2、/etc/shadow文件是/etc/passwd 的影子文件,这个文件并不由/etc/passwd 而产生的,这两个文件是应该是对应互补的;shadow内容包括用户及被加密的密码以及其它/etc/passwd 不能包括的信息,比如用户的有效期限等;这个文件只有root权限可以读取和操作,权限如下:

-r-------- 1 root root 1236 07-26 20:19 shadow

shadow内容如下:

mysql2:$1$4s6/FFIQ$kOCKqz1HTFYdpmY/DRJKO.:15547:0:99999:7:::
mysql4:$1$7WpkUcUS$mpW1Ut8XvlkYMmTiA.CdJ0:15547:0:99999:7:::

第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;
第二字段:密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统;这个字段是非空的;
第三字段:上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;
第四字段:两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;此项功能用处不是太大;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义;
第五字段:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义;
第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;
第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;
第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;
第九字段:保留字段,目前为空,以备将来Linux发展之用;

二、用户组

groupadd –g 888 opensky        //创建一个组mysql5,groupid为888
gpasswd –a mysql4 opensky      //把用户mysql4加入到mysql5中
passwd –d mysql4 opensky       //把mysql4退出mysql5组
groupmod –n mysql5 mysql6      //修改mysql5组名为mysql6
groupdel mysql6                //删除组mysql6

具有某种共同特征的用户集合起来就是用户组(Group)。用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件;

1、/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:

opensky:x:500:mysql2,mysql4
mysql4:x:501:

第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

正确的做法是passwd的GID和group中的GID对应。

2、关于/etc/gshadow不多做阐述。

你可能感兴趣的:(linux用户、组管理)