Linux基础之用户管理

640?wx_fmt=gif

今天给大家介绍的是linux基本的用户(usr)管理和组(group)管理。

640?wx_fmt=png

在linux中,任何一个要使用系统资源的用户,都必须首先向系统管理员(root)申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

在linux中拥有最高管理员权限的账户为root,root账号是其他所有账号的基础,首先,在有了root根账号的情况下,我们想要创建我们自己的个人账号就需要用到以下指令:

useradd   参数   用户名

关于参数,我们这边介绍一下,有哪些常用参数:

-c comment 指定一段注释性描述。

-d 目录 指定用户主目录。

-g 用户组 指定用户所属的用户组。

-u 用户号 指定用户的用户号。

useradd -d /usr/john -m john

640?wx_fmt=png

创建了一个用户john,其中-d和-m选项用来为登录名john产生一个主目录/usr/john

640?wx_fmt=png

这是添加账号,下面我们来看看删除账号,指令:

userdel 参数 用户名

我们一般会用到的参数是-r ,递归删除,把它所在的目录也删除掉。

试试手:

 userdel -r john

640?wx_fmt=png

640?wx_fmt=png

此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录

下面讲一下修改账号

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

修改已有用户的信息使用usermod命令:

usermod 参数 用户名

常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

另外,有些系统可以使用选项:-l 新用户名

(有兴趣的都读一下,所有的参数都在这里了smiley_51.png

这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

 -c, --comment COMMENT         new value of the GECOS field

  -d, --home HOME_DIR           new home directory for the user account

  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE

  -f, --inactive INACTIVE       set password inactive after expiration

                                to INACTIVE

  -g, --gid GROUP               force use GROUP as new primary group

  -G, --groups GROUPS           new list of supplementary GROUPS

  -a, --append                  append the user to the supplemental GROUPS

                                mentioned by the -G option without removing

                                him/her from other groups

  -h, --help                    display this help message and exit

  -l, --login NEW_LOGIN         new value of the login name

  -L, --lock                    lock the user account

  -m, --move-home               move contents of the home directory to the

                                new location (use only with -d)

  -o, --non-unique              allow using duplicate (non-unique) UID

  -p, --password PASSWORD       use encrypted password for the new password

  -R, --root CHROOT_DIR         directory to chroot into

  -s, --shell SHELL             new login shell for the user account

  -u, --uid UID                 new UID for the user account

  -U, --unlock                  unlock the user account

  -v, --add-subuids FIRST-LAST  add range of subordinate uids

  -V, --del-subuids FIRST-LAST  remove range of subordinate uids

  -w, --add-subgids FIRST-LAST  add range of subordinate gids

  -W, --del-subgids FIRST-LAST  remove range of subordinate gids

  -Z, --selinux-user SEUSER     new SELinux user mapping for the user account

试试手:

usermod -d /home/z yuqing

640?wx_fmt=png

把用户所在的主目录改为/home/z

usermod -g yuqingwu yuqing

640?wx_fmt=png

把用户所在的组改成yuqingwu

对账户的增删改我们已经介绍完毕了,现在我们来看看,口令管理(这里的口令就是我们所指的账号密码,这边我们把它叫做口令)

我们刚刚创建用户的时候没有口令,会被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:

passwd 参数 用户名

可使用的参数:

-l 锁定口令,即禁用账号。

-u 口令解锁。

-d 使账号无口令。

-f 强迫用户下次登录时修改口令。

我们看看系统还提供了那些命令参数

(自行翻译,经常用的我已经列出来了,下面是系统提供的所有的参数,感兴趣的都了解一下)

Usage: passwd [options] [LOGIN]

Options:

  -a, --all                     report password status on all accounts

  -d, --delete                  delete the password for the named account

  -e, --expire                  force expire the password for the named account

  -h, --help                    display this help message and exit

  -k, --keep-tokens             change password only if expired

  -i, --inactive INACTIVE       set password inactive after expiration

                                to INACTIVE

  -l, --lock                    lock the password of the named account

  -n, --mindays MIN_DAYS        set minimum number of days before password

                                change to MIN_DAYS

  -q, --quiet                   quiet mode

  -r, --repository REPOSITORY   change password in REPOSITORY repository

  -R, --root CHROOT_DIR         directory to chroot into

  -S, --status                  report password status on the named account

  -u, --unlock                  unlock the password of the named account

  -w, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

  -x, --maxdays MAX_DAYS        set maximum number of days before password change to MAX_DAYS

现在我们来改一下yuqing这个用户的口令(密码):

passwd yuqing

640?wx_fmt=png

为yuqing这个用户设置口令(密码)

TIPS:在linux中,所有的输入密码都是看不到的,所以别人看不到你输入的密码有多少位,是多少,安全性比较强。

我现在是处在root用户下面,所以可以直接进行设置修改,如果是普通用户,

他们在修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户(root)为用户指定口令时,就不需要知道原口令。

为用户指定空口令时,执行下列形式的命令:

passwd -d yuqing

640?wx_fmt=png

其实严格来说,为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字。

下面,我们可以禁用yuqing这个账号

passwd -l yuqing

640?wx_fmt=png

这样yuqing这个账号就被锁住的,我们就不可以对其进行访问了。

这样关于用户的介绍就结束了,有兴趣的可以登陆网站http://man.linuxde.net/了解一下。

下面我们来看看组(group)的管理:


每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

先来添加组吧,需要用到的指令是:

groupadd 参数 组名

可以使用的参数有:

-g GID 指定新用户组的组标识号(GID)。

-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

我们来看看系统里面还有什么其他的参数:

(自行翻译,如果真的英语不行,请告诉我,我给你有翻译的网址,谢谢,不客气!)

Usage: groupadd [options] GROUP

Options:

  -f, --force                   exit successfully if the group already exists,

                                and cancel -g if the GID is already used

  -g, --gid GID                 use GID for the new group

  -h, --help                    display this help message and exit

  -K, --key KEY=VALUE           override /etc/login.defs defaults

  -o, --non-unique              allow to create groups with duplicate

                                (non-unique) GID

  -p, --password PASSWORD       use this encrypted password for the new group

  -r, --system                  create a system account

  -R, --root CHROOT_DIR         directory to chroot into

      --extrausers              Use the extra users database

试试:

groupadd yuqing2

640?wx_fmt=png

向系统中增加了一个新组yuqing2

group -g 201 yuqing3

640?wx_fmt=png

此命令向系统中增加了一个新组yuqing3,同时指定新组的组标识号是201。

下面我们再来看看删除一个组:

删除组其实很简单:

groupdel 组名


都不用加参数的,我们来试试:

640?wx_fmt=png

这样就删除我们刚刚新建的group yuqing2和yuqing3了。

接下来我们看看修改组属性,这个时候我们用到的指令是:

groupmod 参数 用户组

常用的参数有:

-g GID 为用户组指定新的组标识号。

-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。

-n新用户组 将用户组的名字改为新名字

下面我们来看看系统里还提供了什么参数:

(自行翻译)

Usage: groupmod [options] GROUP

Options:

  -g, --gid GID                 change the group ID to GID

  -h, --help                    display this help message and exit

  -n, --new-name NEW_GROUP      change the name to NEW_GROUP

  -o, --non-unique              allow to use a duplicate (non-unique) GID

  -p, --password PASSWORD       change the password to this (encrypted)

                                PASSWORD

  -R, --root CHROOT_DIR         directory to chroot into

现在我们要把group yuqing的组标识改成404:

groupmod -g 404 yuqing

640?wx_fmt=png

同时修改组标识为202和重命名成yuqingjohn

groupmod -g 202 -n yuqingjohn yuqing

640?wx_fmt=png

最后还有个切换问题:

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。

用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:

newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。

今天就讲到这里了。我们下次再见吧!

640?wx_fmt=jpeg

听说有气质的人都会关注这个公众号!

640?wx_fmt=jpeg

文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/tongtongjing1765/article/details/100581773

(完)