Linux:用户管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

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

每个用户账号都拥有一个唯一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的工作主要有如下几个方面:

用户账号的添加、删除与修改。
用户口令的管理。
用户组的管理。

一、用户账号

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。

添加用户 useradd

useradd 选项 用户名

参数说明:

选项:

-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名:
-m 使用者目录如不存在则自动建立。
指定新账号的登录名。
示例:

#会默认创建用户主目录、用户组
[root@root home]# useradd gj
[root@root home]# ll
total 8
drwxr-xr-x 2 root root 4096 Mar  7 13:36 docker
drwx------ 2 gj   gj   4096 Jun 13 12:22 gj
[root@root home]# 

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

修改用户 usermod

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

usermod 选项 用户名

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

[root@root home]# usermod -c "修改用户名" -l gong gj

用户删除 userdel

如果一个用户的账号不再使用,可以从系统中删除。

删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

userdel 选项 用户名

常用的选项是 -r,它的作用是把用户的主目录一起删除。
示例:

[root@root home]# useradd yj  #创建新的用户
[root@root home]# ll
total 12
drwxr-xr-x 2 root root 4096 Mar  7 13:36 docker
drwx------ 2 gong gj   4096 Jun 13 12:22 gj
drwx------ 2 yj   yj   4096 Jun 13 12:32 yj
[root@root home]# userdel -r yj  #删除用户
[root@root home]# ll 
total 8
drwxr-xr-x 2 root root 4096 Mar  7 13:36 docker
drwx------ 2 gong gj   4096 Jun 13 12:22 gj

切换用户

1.切换用户的命令为:su username 【username就是用户名】

2.从普通用户切换到root用户,还可以使用命令:sudo su

3.在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令

4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】

$表示普通用户

#表示超级用户,也就是root用户

[root@root home]# su gong
[gong@root home]$ cd gj/
[gong@root ~]$ ls
[gong@root ~]$ touch gj.txt  #创建文件
[gong@root ~]$ exit #退回原来用户
exit
[root@root home]# 

gong代表用户名,@root代表计算机名称。

口令管理

用户密码操作的是/etc/shadow文件

passwd 选项 username
-l 锁定账号密码!
-u 解锁账号
-d 删除密码(账号无密码可登录)
-n/-x 密码最小/最大使用期
-w 密码过期前几天发出警告
-i 密码过期几天后锁定账号
-e 密码立刻过期(下次登录必须修改密码)
-S 查看账号的密码状态(L锁定、P活动、N没密码)
示例:
在linux中密码是不可见的
当前用户是root

[root@root home]# passwd gong
Changing password for user gong.
New password: 
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password: 
passwd: all authentication tokens updated successfully.
image.png

当前用户是gong

[gong@root ~]$ passwd
Changing password for user gong.
Changing password for gong.
(current) UNIX password: 
New password: 

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

二、管理用户

上面我们也讲过增加用户账号就是在/etc/passwd增加记录。
示例:

[gong@root home]$ vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
ftp_user:x:1003:1003::/var/ftp_user:/bin/bash
gong:x:1004:1004:修改用户名:/home/gj:/bin/bash

gong:x:1004:1004:修改用户名:/home/gj:/bin/bash 这条就是我创建的用户。其中每一行代表一个用户,每个用户的描述是用冒号分隔开的 7 个字段。
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
上面我们也指定了用户的密码,那我们来看看密码文件吧。
示例:

[root@root etc]# cat shadow
nscd:!!:18312::::::
tcpdump:!!:18312::::::
nginx:!!:18327::::::
dockerroot:!!:18327::::::
ftp_admin:$6$oPytIPeL$gqC0b1.L2SDnPXomGWdiUaP8ZkQduuqkhDAbkeMb/er1/5ykrATyQHXxXJaIrt0OgVy4ZMyrH9snB7rSgdt5H.:18331:0:99999:7:::
ftp_user:$6$LZc9qtSf$6rjc5Am8ENd/YpA0QWevNxF6VTHMOURV.DMx9pjxnvK.4NLd21FPdOIAlb7DMvBQUw1vommO82gd1K/5HwBAo.:18331:0:99999:7:::
gong:$6$LHauKGmR$3C/vUUbCOhXWrMY.cd0zZljbTmvsRlRzMul7bCYgG5aT0j.HSSpbtXr/gpzvRLc0TtgEC5G3RmM/coMvmio/e0:18426:0:99999:7:::

它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用":"隔开。这些字段是:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

用户组管理

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

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

增加用户组

groupadd 选项 用户组

-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
示例:

[root@root ~]# groupadd gongj123

此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
示例

 groupadd -g 101 group2

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

修改用户组

groupmod 选项 用户组

常用的选项有:

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

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

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

groupmod -n gongj123456 gongj123

将组gongj123的组名修改为gongj123456。

删除用户组

groupdel 用户组

示例:

groupdel group2

切换组

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:

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

用户组的所有信息都存放在/etc/group文件中。
将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。

每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。

当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。

用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。

用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:

组名:口令:组标识号:组内用户列表
示例:

[root@root ~]# cat /etc/group
root:x:0:
gj:x:1004:
gongj123456:x:1007:

"组名"是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
"口令"字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。
"组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。
"组内用户列表"是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342