Linux基础之用户和组管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础之用户和组管理相关的知识,希望对你有一定的参考价值。

Linux用户和组管理


  安装上下文:

    进程以其发起者的身份运行;

进程对文件的访问权限,取决于发起此进程的用户的权限;


  系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户;这类用户从不用登录系统;



  groupadd命令:添加组


    groupadd [选项] group_name


-g GID:指定GID;默认是上一个组的GID+1;

-r: 创建系统组;


  groupmod命令:修改组属性


    groupmod [选项] GROUP

-g GID:修改GID;

-n new_name:修改组名;


  groupdel命令:删除组


    groupdel [选项] GROUP


  useradd命令:创建用户


    useradd [选项] 登录名

-u, --uid UID:指定UID;

-g, --gid GROUP:指定基本组ID,此组得事先存在;

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;

-c, --comment COMMENT:指明注释信息;

-d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;

-s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;

-r, --system:创建系统用户;


    注意:创建用户时的诸多默认设定配置文件为/etc/login.defs


    useradd -D:显示创建用户的默认配置;

    useradd -D 选项: 修改默认选项的值;


修改的结果保存于/etc/default/useradd文件中;


  usermod命令:修改用户属性


    usermod [选项] 登录

-u, --uid UID:修改用户的ID为此处指定的新UID;

-g, --gid GROUP:修改用户所属的基本组;

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;

-a, --append:与-G一同使用,用于为用户追加新的附加组;

-c, --comment COMMENT:修改注释信息;

-d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;

-m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;

-l, --login NEW_LOGIN:修改用户名;

-s, --shell SHELL:修改用户的默认shell;


-L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";

-U, --unlock:解锁用户的密码;


  userdel命令:删除用户


    userdel [选项] 登录

-r:删除用户时一并删除其家目录;


  练习1:创建用户gentoo,UID为4001,基本组为gentoo,附加组为distro(GID为5000)和peguin(GID为5001);

  练习2:创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tcsh;


  练习3:修改gentoo用户的家目录为/var/tmp/gentoo;要求其原有文件仍能被用户访问;

  练习4:为gentoo新增附加组netadmin;


  passwd命令:


    passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]


    (1) passwd:修改用户自己的密码;

    (2) passwd USERNAME:修改指定用户的密码,但仅root有此权限;


-l, -u:锁定和解锁用户;

-d:清除用户密码串;

-e DATE: 过期期限,日期;

-i DAYS:非活动期限;

-n DAYS:密码的最短使用期限;

-x DAYS:密码的最长使用期限;

-w DAYS:警告期限;


--stdin:

 echo "PASSWORD" | passwd --stdin USERNAME


  gpasswd命令:


    组密码文件:/etc/gshadow


    gpasswd [选项] group

-a USERNAME:向组中添加用户

-d USERNAME:从组中移除用户


  newgrp命令:临时切换指定的组为基本组;


  newgrp [-] [group]


    -: 会模拟用户重新登录以实现重新初始化其工作环境;


  chage命令:更改用户密码过期信息


    chage [选项] 登录名


-d

-E

-W

-m

-M


  id命令:显示用户的真和有效ID; 


    id [OPTION]... [USER]

-u: 仅显示有效的UID;

-g: 仅显示用户的基本组ID; 

-G:仅显示用户所属的所有组的ID;

-n: 显示名字而非ID;


  su命令:switch user


    登录式切换:会通过读取目标用户的配置文件来重新初始化

su - USERNAME

su -l USERNAME

    非登录式切换:不会读取目标用户的配置文件进行初始化

su USERNAME


    注意:管理员可无密码切换至其它任何用户;


    -c ‘COMMAND‘:仅以指定用户的身份运行此处指定的命令;


  其它几个命令:chsh, chfn, finger, whoami, pwck, grpck


  命令总结:groupadd, groupmod, groupdel, useradd, usermod, userdel, passwd, gpasswd, newgrp, id, su, chage


以上是关于Linux基础之用户和组管理的主要内容,如果未能解决你的问题,请参考以下文章

【Centos基础篇】之用户和组

Linux初学之——用户和组的管理

linux入门之用户和组管理类命令

用户和组管理用户和组管理

linux用户和组基础

运维基础--Linux用户和组的管理