linux常用命令 用户和用户组操作

基础知识

Linux是一种多用户的操作系统,允许用户同时登录到系统上,并响应每个用户的请求。

Linux用户的分类:管理员账号 、普通账号。

Linux根据UID来确定是否是管理员,只要UID为0就是管理员。

Linux新建用户时,系统会自动创建一个与该用户同名的用户组作为该用户的主组。一个用户有且只有一个主组,可以有零个或者多个附加组。

Linux新建用户时,会自动分配递增的UID和GID(用户编号和用户组编号),也可以手动指定。

用户和组的关系

  • 一对一:一个用户可以存在一个组中,是组中的唯一成员;
  • 一对多:一个用户可以存在多个用户组中,用户具有多个组的共同权限;
  • 多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限;
  • 多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。

用户和组的配置文件

用户及其属性:/etc/passwd
用户组及其属性:/etc/group
用户密码及其属性: /etc/shadow
组密码及其属性: /etc/gshadow

/etc/passwd文件解读

# 示例如下:
root:x:0:0:root:/root:/bin/bash
  • root 用户名
  • x 密码
  • 0 UID (0:超级用户 1-499:代表系统用户)
  • 0 组id
  • root 用户注释/描述内容
  • /root 用户的主目录
  • /bin/bash 用户默认使用的shell

/etc/shadow文件解读

# 示例如下:
root:$6$yiyPm0o9$0:18956:0:99999:7:::
bin:*:17834:0:99999:7:::
testuser:!!:18970:0:99999:7:::
  • root 用户名
  • $6$yiyPm0o9$0 加密的密码, 所有伪用户的密码都是 "!!" 或 "*",代表没有密码是不能登录。新创建的用户如果不设定密码,那么它的密码项也是 "!!",代表这个用户没有密码,不能登录。
  • 18956 最近一次更改的时间(日期是从1971 年1月1日累计的天数)
  • 0 最小修改时间间隔(0表示随时可以修改, 10表示10天之内不能修改)
  • 99999 密码的有效期(日期是从1971 年1月1日累计的天数)
  • 7 密码失效之前多少天要提示用户需要更改密码
  • 未指定 密码过期后的宽限天数, 密码过期多久账户被锁定
  • 未指定 账户失效时间,账号在此字段规定的时间之外,不论你的密码是否失效,都将无法使用!(日期是从1971 年1月1日累计的天数)
  • 未指定 保留字

/etc/group文件解读

# 示例如下:
root:x:0:
bin:x:1:testuser02,testuser03
  • root 组名称
  • x 组密码标志
  • 0 组Id
  • 未指定 组中的附加用户 多个使用逗号分割

/etc/gshadow文件解读

# 示例如下:
root:::
bin:::testuser02,testuser03
  • root 组名称
  • 组密码
  • 未指定 组管理员列表
  • 未指定 组中的附加用户 多个使用逗号分割 (和 /etc/group 文件中附加组显示内容相同)

用户操作命令

添加用户 useradd

# 添加用户的命令格式 useradd [options] LOGIN
# 添加一个用户 不加任何选项 可以看到/etc/passwd中多了一条数据 myuser:x:1001:1001::/home/myuser:/bin/bash
useradd myuser

# 添加一个用户 指定用户主目录
useradd -d /home/myuser01 -m myuser01

options常用选项:

  • -u, --uid 指定用户的UID
  • -d, --home-dir 指定用户的主目录,默认是 /home/<用户名>;
  • -g, --gid 指定用户的主用户组
  • -G, --groups 指定用户的附加组
  • -s, --shell 指定用户的使用的shell,默认是 /bin/bash;
  • -c, --comment 指定用户的描述内容
  • -e, --expiredate 指定用户的失效时间, 格式为 "YYYY-MM-DD"
  • -m, --create-home 指定新建用户时强制新建用户的主目录,该选项是默认的;
  • -r, --system 创建系统用户,也就是UID 在 1~499 之间,系统用户的创建默认不会创建主目录。

修改用户 usermod

# 修改用户的命令格式:usermod [options] LOGIN
# 修改用户名
usermod -l newUser myuser

# 锁定用户
usermod -L newUser

# 解锁用户
usermod -L newUser

options常用选项(大部分参数与useradd相同)

  • -l, --login NEW_LOGIN 指定新的用户名
  • -L, --lock 锁定用户
  • -U, --unlock 解锁用户

删除用户 userdel

# 删除用户的命令格式:userdel [options] LOGIN
# 删除一个用户
userdel myuser

# 删除一个用户 并且删除该用户的主目录
userdel -r myuser

options常用选项:

  • -r, --remove 在删除用户的同时删除用户的主目录
  • -f, --force 强制执行一些否则会失败的操作 例如删除仍然登录的用户或文件,即使不属于用户

用户密码管理 passwd

# 用户密码管理的命令格式 passwd [options] LOGIN
# 修改当前用户密码
passwd

# 修改指定用户密码
passwd myuser

# 删除用户密码
passwd -d myuser

options常用选项:

  • -d, --delete 删除用户密码(只有root有权限)
  • -l, --lock 锁定用户密码,禁用用户(只有root有权限)
  • -u, --unlock 解锁用户密码(只有root有权限)
  • -e, --expire 指定密码失效时间 (只有root有权限)
  • -f, --force 强迫用户下次登录时修改口令

查看用户的UID和GID id

id
# uid=0(root) gid=0(root) groups=0(root)
id newUser
# uid=1001(newUser) gid=1001(myuser) groups=1001(myuser)

用户切换 su

# 用户切换的命令格式 su [options] [-] [USER [arg]...]
# 切换用户
su - newUser
su - root

su 和 su - 的区别:

注意,使用 su 命令时,有 - 和没有 - 是完全不同的,- 选项表示在切换用户身份的同时,连当前使用的环境变量也切换成指定用户的。即有 - 选项,切换用户身份更彻底;使用 - 选项可省略用户名,默认会切换为 root 用户。

用户组操作命令

添加组 groupadd

# 添加组的命令格式 groupadd [options] GROUP
# 新增一个用户组
groupadd mygroup

# 新增一个用户组指定组ID
groupadd -g 101  mygroup

options常用选项:

  • -g, --gid GID 指定组 ID
  • -r, --system 创建系统用户组
  • -o, --non-unique 表示新用户组的GID可以与系统已有用户组的GID相同, 一般与-g选项同时使用

修改组 groupmod

# 修改组的命令格式 groupmod [options] GROUP
# 修改组的名称
groupmod -n newGroup mygroup

options常用选项:

  • -n, --new-name NEW_GROUP 指定新的组名

删除组 groupdel

# 删除组的命令格式 groupdel [options] GROUP
# 删除用户组
groupdel newGroup

切换主组 newgrp

# 用户切换用户组的命令格式 newgrp [-] [group]
# 示例1-5
# 1.新建几个用户组
groupadd group01
groupadd group02
groupadd group03
# 2.新建一个用户附加组绑定这些用户组
useradd -G group01,group02,group03 user01
# 3.设置用户user01的密码
passwd user01
# 4.切换到用户user01
su - user01
# 5.通过 newgrp 切换用户组
newgrp group01
newgrp group02
newgrp group03

组管理 gpasswd

# 组管理的命令格式: gpasswd [option] GROUP
# 指定一个用户为组的管理员
gpasswd -A user01 group01

# 添加一个用户到组
useradd user02
gpasswd -a user02 group01

# 删除组内的一个用户
gpasswd -d user02 group01

# 不加option 指定/修改组的密码
gpasswd group01

# 删除组的密码
gpasswd -r group01

options常用选项:

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

推荐阅读更多精彩内容