N28 第三周【2】:用户和组管理

用户和组管理

前言

Linux用户管理非常关键且重要,Linux的所有进程都是以不同的身份拥有不同的权限来运行和调度资源的。
但是我们不用费劲心思去管理,因为系统将用户划分成为了两部分:无所不能的root用户普通用户
同时呢,又将普通用户分为系统用户登录用户
对于Linux,他会用UID去快速识别用户身份,对于我们,可以用用户名去识别。

接下来介绍一下用户和组管理的常用命令

用户管理

创建用户:useradd

语法 :useradd [option] user_name
        -D :default
        -u, --uid UID :指定UID;
        -g, --gid GID/Group :指定基本组ID,此组需事先存在;
        -c, --comment COMMENT :给定注释信息;
        -G, --groups Group1[,Group2,...[GroupN]]:指明用户所属的附加组,多个组之间用逗号分开;
        -d, --home HOME_DIR:以指定的路径为用户的家目录,通过复制/etc/skel此目录并重命名,
        -s, --shell SHELL :指定用户的默认shell,可用的所有shell存在/etc/shells这个文件中;
        -r, --system:创建一个系统账户;
    PS:创建用户时的诸多默认设定配置文件为/etc/login.defs

修改用户属性:usermod

语法:usermod [option] user_name
    -u, --uid UID:
    -g, --gid GID:
    -G, --groups Group1[,GROUP2,...[GROUPN]]]:修改用户所属的附加组,原来的附加组会被覆盖;
    -c, --comment COMMENT
    -d, --home HOME_DIR
    -s, --shell SHELL
    -a, --append :与-G一同使用,用于为用户追加新的附加组;
    -l, --login NEW_LOGIN:修改用户默认的shell
    -m, --move-home:只u能与-d选项一同使用,将原来的家目录移动为新的家目录;

    -L, --lock:锁定用户密码,
        实现:在用户原来的密码字符串前加一个 ! 
    -U, --unlock:锁定用户的密码;

修改用户密码:passwd

root能改一切,普通用户只能改自己的密码
语法:passwd [option] user_name
    -l,-u :锁定(--lock)和解锁(--unlock)用户;
    -d, -delete :删除用户密码串;
    -e DATE: 过期期限,日期;
    -i DAYS: 非活动期限;
    -n DAYS: 密码的最短使用期限;
    -x DAYS: 密码的最长使用期限;
    -w DAYS: 警告期限;

    --stdin:
        echo "PASSWORD" |passwd  --stdin USER_NAME

删除用户:userdel

语法:userdel [option] user_name
    -r:同时删除该用户的家目录

组管理

创建组:groupadd

语法:groupadd [option] group_name
        -g GID:指定GID;默认为上一个组GID+1;
        -r :创建系统组;

修改组属性:groupmod

语法:groupmod [option] group_name
        -n new_name:修改组名
        -g GID:修改GID

删除组:groupdel

语法:groupdel [option] group_name

修改组密码:gpasswd

组密码在用户切换基本组的时候会被用到
语法:gpasswd [option] group_name
        -a, --addusr USER_NAME:向组中添加用户;
        -d, --deleteuser USER_NAME:从组中移除用户;

登录到一个新组:newgrp

常用工具:id,su

id:显示账号相关信息

显示真实有效的UID和GID
    id [OPTION]... [USER]
        -u, --user:只显示用户ID;
        -g, --group:只显示GID;(基本组)
        -G, --groups:只显示用户的附加组;ID
        -n, --name :对于选项只显示名称而不是用数字去表示;

su:切换用户

    su有两种切换方式:
        登录时切换:会通过读取目标用户的配置文件来重新初始化
            su - USER_NAME
            su -l USER_NAME         
        非登录式切换:不会读取目标用户的配置文件进行初始化;
            su USERNAME
        PS: 管理员可以不用密码切换用户;
        -c, --command=COMMAND :传递COMMAND给-c的shell;以指定的用户去运行命令

习题

(1)、创建组distro,其GID为2016

[root@localhost ~]# groupadd -g 2016 distro

(2)、创建用户mandriva, 其ID号为1005;基本组为distro

[root@localhost ~]# useradd -u 1005 -g distro mandriva

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux

[root@localhost ~]# useradd -u 1100 -d /home/linux mageia

(4)、给用户mageia添加密码,密码为mageedu

[root@localhost ~]# echo "mageedu" |passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.

(5)、删除mandriva,但保留其家目录

[root@localhost ~]# userdel mandriva

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin

[root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware

(7)、修改slackware的默认shell为/bin/tcsh

[root@localhost ~]# usermod -s /bin/tcsh slackware
[root@localhost ~]# tail -2 /etc/passwd
mageia:x:1100:1100::/home/linux:/bin/bash
slackware:x:2002:2016::/home/slackware:/bin/tcsh

(8)、为用户slackware新增附加组admins

[root@localhost ~]# usermod -aG admins slackware
[root@localhost ~]# tail -1 /etc/group
admins:x:2018:slackware

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90432

(0)
耗奇害死猫耗奇害死猫
上一篇 2017-12-19 23:05
下一篇 2017-12-19 23:43

相关推荐

  • SED基本用法和在文本中的使用

    sed命令行格式为: sed [-nefri] ‘command’ 输入文本/文件 常用选项: -n∶取消默认的输出,使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来 -e∶进行多项编辑,…

    Linux干货 2017-05-05
  • LAMP分离环境的搭建(最新版本的mysql+php+http源码编译安装)

    实验者:FrankStar      实验日期:20150628 任务:主要是实现在Linux环境下配置LAMP环境,利用VMware+centos6.4实现,将LAMP分离为多台主机; 附注:由于大家的环境不一样,可能有些人已经安装了这个包或者那个软件,所以调试的环境结果也不一样,为了尽量能模拟到 可能出现的所有问题,在编译会…

    Linux干货 2015-06-30
  • 压缩及解压工具

    通过算法压缩数据,时间换空间。文本文件的压缩比更大,二进制文件的压缩比较小。 压缩工具占用cpu时钟。 compress/uncompress .Z gzip/gunzip .gz bzip2/bunzip2 .bz2 压缩比比gz大但是也没取代gz xz/unxz .xz 压缩比大,现在较流行。 zip/unzip .zip 归档工具,既能归档又能压缩 t…

    Linux干货 2016-08-21
  • iptables详解

    iptables命令: iptables [-t table] {-A|-C|-D} chain rule-specification iptables [-t table] -I chain [rulenum] rule-specification iptables [-t table] -R chain rulenum rule-specificatio…

    Linux干货 2017-11-12
  • 马哥教育网络班25期-第4周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel/ /home/tuser1 ~]# cd /home/tuser1 tuser1]# ll -a 总用量…

    Linux干货 2016-12-26
  • 关于man的几个重要命令

    接触Linux有很多年了,以前对于linux我觉得自己懂得的还算一般吧,可是听了马哥的关于linux的视频课程,发现自己就是一个还没入门的菜鸟,所以果断的狠心的报了马哥的网络班,拜在马哥旗下,以后就打着马哥的旗号到外面混,哈哈最初的这几天学习,因为工作和时间的等等等的关系,所以才到现在还在赶着写我的博客作业,现在就最有感触的几个命令串联一下。学习linux肯…

    Linux干货 2016-10-31

评论列表(1条)

  • 马哥教育
    马哥教育 2018-01-07 16:15

    赞~~