用户和用户组管理类命令总结

Posted stationing

tags:

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

groupadd命令:创建组

groupadd [ 选项 ] group_name
选项:   
-g GID:自定义GID:默认是上一个组的GID+1   -r:创建系统组

groupmod命令:修改组属性

groupmod [ 选项 ] group
选项:
    -g GID:修改GID
    -n new_name:修改组名

groupdel命令:删除组

groupdel groupname

useradd命令:创建用户

useradd [ 选项 ] 登录名
选项:
    -u,--uid UID:指定UID号
    -g,--gid GROUP:指定基本组ID,此组必须事先存在
    -G,--groups GROUP1,GOURP2 指明用户所属 的附加组,多个组之间用逗号隔开
    -c,--comment COMMENT:指明注释信息
    -d,--home 家目录绝对路径:以指定的路径为用户的家目录,通过复制/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:修改用户UID号
  -g,--gid GROUP:修改用户所属的基本组ID,此组必须事先存在
  -G,--groups GROUP1,GOURP2 修改用户所属的附加组,原来的附加组会被覆盖
  -a,--append:与-G一同使用,用于为用户追加新的附加组
  -c,--comment COMMENT:修改注释信息
  -d,--home 家目录绝对路径:修改用户的家目录,用户原有的文件不会被转移至新:
  -m,--move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
  -l,--login NEW_LOGIN:修改用户名
  -s,--shell SHELL:修改用户的默认shell
  -r,--system:创建系统用户
  -L,--lock:锁定用户密码,即在用户原来的密码字符串之前添加一个“!”
  -U,--unlock:解锁用户的密码

userdel命令:删除用户

userdel [ 选项 ] 登录名
选项:
  -r:删除用户时一并删除其家目录
  -f:强制删除用户(用户正在登陆时依旧可以正常操作,logout后无法再登录)

passwd命令:修改用户密码

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
  (1passwd:修改用户自己的密码
  (2passwd USERNAME:修改指定用户的密码。但仅限root有此权限
 选项:
  -l,-u:锁定和解锁用户
  -d:清除用户密码
  -e,DATE:过期期限,日期
  -i,DAYS:非活动期限,密码过期时还能活动几天
  -n,DAYS:密码的最短使用期限
  -x,DAYS:密码的最长使用期限
  -w,DAYS:警告期限
 
--stdin:
  一条命令修改密码:echo "xxxx" | passwd --stdin username

gpasswd命令:给组添加密码

组密码文件:/etc/gshadow
gpasswd [ 选项 ] group
选项:
  -a USERNAME:向组中添加用户
  -d USERNAME:从组中移除用户 

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

chage [ 选项 ] 登录名
选项:
  -d DATE:密码最后一次修改曰期(/etc/shadow 文件的第三个字段)
  -E DATE:账号失效时间(第八个字段)
  -W DAYS:密码修改到期前的警告天数(第六个字段)
  -m DAYS:密码的两次修改间隔时间(第四个字段)
  -M DAYS:密码的有效期(第五个字段)

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

id [ 选项 ] ... [USER]
选项:
  -u:仅显示有效的UID
  -g:仅显示用户的基本组ID
  -G:仅显示用户所属的所有组的ID
  -n:显示名字而非ID

su命令:完成用户切换

两种切换方式:
  (1)登录式切换:会通过重新读取用户的配置文件来重新初始化
    su - USERNAME
    su -l USERNAME
  (2)非登录式切换:不会读取目标用户的配置文件进行初始化
    su USERNAME

注意:管理员可无密码切换至其他任何用户,非管理员切换用户必须输入需要切换的用户的密码
-c COMMAND:仅以指定用户的身份运行此处指定的命令

 用户和组管理类命令练习

题目:
    1、创建组distro,其GID为2019;
    2、创建用户mandriva, 其ID号为1005;基本组为distro;
    3、创建用户mageia,其ID号为1100,家目录为/home/linux;
    4、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
    5、删除mandriva,但保留其家目录;
    6、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    7、修改slackware的默认shell为/bin/tcsh;
    8、为用户slackware新增附加组admins
答:
    第一题:
        groupadd -g 2019 distro
    第二题:
        useradd -u 1005 -g distro mandriva
    第三题:
        useradd mageia -u 1100 -d /home/linux
    第四题:
        echo mageia | passwd -x 7 --stdin mageia
    第五题:
        userdel mageia
    第六题:
        groupadd peguin
        useradd -u 2002 -g distro -G peguin slackware
    第七题:
        chsh -s /bin/tcsh slackware
    第八题:
        groupadd admins
        usermod -G admins slackware

 

以上是关于用户和用户组管理类命令总结的主要内容,如果未能解决你的问题,请参考以下文章

用户和用户组管理类命令总结

Linux系统中用户和组管理类命令的使用方法总结及练习

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程