Linux用户管理常用命令

1. Linux用户类型

(1) linux系统由3种类型的用户

用户类型

描述

超级管理员root

具有使用系统所有权限的用户,其UID为0

系统用户

保障系统运行的用户,一般不提供密码登录系统,其UID为1-499之间

普通用户

即一般用户,其使用系统的权限受限,其UID为500-60000之间

(2) 查看用户基本信息:/etc/passwd文件

[root@repo ~]# vim /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
mysql:x:498:498:MySQL server:/var/lib/mysql:/bin/bash
hadoop:x:500:500::/home/hadoop:/bin/bash
......

以"root:x:0:0:root:/root:/bin/bash"这一行为例,以":"为分隔符,说明每一列的意义

  • root:用户名
  • x:密码占位符,密码保存在/etc/shadow文件内
  • 0:用户id,UID
  • 0:组id,GID
  • root:注释信息
  • /root:用户家目录
  • /bin/bash:用户默认使用shell

注意: root用户的UID为0,它是超级管理员 mysql用户的UID为498,它是系统用户 apache用户的UID为48,它是系统用户,另外apache用户的最后一列内容为/sbin/nologin,说明它不需要登录,也就是没有登录密码 hadoop用户的UID为500,它是普通用户

(3) 查看用户的密码:/etc/shadow

[root@repo ~]# vim /etc/shadow

root:$6$lOL0f494Ymh9egGI$dCaGt2o.rBTaQXkL4Pc7dkH./jV5/LnNtwHPQCYTfcyKIjOPLJWQHhb/i3ws/7SU.Igc0PV8qkk0iYIQ5wTyo/:17490:0:99999:7:::
hadoop:$6$xRZPstvJ$QSDekuZYPs.joxJNvbvd4tjQ7J1Qe72qfXhr0Lpo6l8yPNUuHbZFxXuWpDOy0F090IPQK/zk9mY1x05N596La/:17492:0:99999:7:::
apache:!!:17492::::::
mysql:!!:17492::::::

密码是经过加密显示的

2. Linux组类型

(1) linux有3种类型的组

  • 系统组 一般加入一些系统用户
  • 普通用户组 可以加入多个用户
  • 私有组/基本组 当创建用户时,如果没有为其指明所属组,则就为其定义一个私有的用户组,起名称与用户名同名,当把其他用户加入到该组中,则其就变成了普通组

(2) 查看组信息

与Linux用户组信息相关的文件有两个:分别是/etc/group 和 /etc/gshadow

[root@repo ~]# vim /etc/group

root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
......
  • root:组名
  • x:组密码占位符
  • 0:GID
[root@repo ~]# vim /etc/gshadow

root:::
bin:::bin,daemon
daemon:::bin,daemon
sys:::bin,adm

3. 常用命令

(1) 用户操作

<1> 添加用户

useradd jed # 添加jed用户
usermod -G sales jed ## 设置jed用户属于sales组,前提,sales组需存在
usermod -c "jed's dept is sales" jed # 给jed添加备注信息

# 以上3步可以一步完成
useradd -G sales -c "jed's dept is sales" jed

<2> 设置密码

passwd jed # 给jed用户设置密码,根据提示输入密码即可

<3> 修改用户

usermod -l jed tony # 修改jed用户登录名为tony
usermod -G root,company jed # 把jed用户添加到root和company组,添加到多个组用-G,添加到一个组用-G和-g都可以
groups jed # 查看jed用户的组信息

<4> 删除用户

userdel -r jed # -r 表示把jed用户及jed用户的主目录都删除

(2) 组操作

<1> 添加组

groupadd company # 添加一个叫company的组

<2> 查看系统中目前有哪些组

cat /etc/group

<3> 将某用户添加到某些组

usermod -g company jed # 把jed用户添加到company组
usermod -G company,sales jed # 把jed用户添加到company和sales组

# 或者
gpasswd -a jed sales # 把jed用户添加到sales组

<4> 将某用户从组中删除

gpasswd -d jed sales # 把jed用户从sales组中删除 

<5> 修改组名

groupmod -n test sales # 把sales组的组名改为test

<6> 删除组

groupdel company # 删除company组

(3) 切换用户

切换用户使用的命令是su,意思为"switch user"

<1> 从root切换到普通用户

[root@repo ~]# su hadoop # 不需要输入密码
[hadoop@repo root]$ exit # 退出当前用户登录
exit
[root@repo ~]#

<2> 从普通用户切换到root用户

[hadoop@repo root]$ su root # 需要输入密码
Password:
[root@repo ~]# 

# 或者

[hadoop@repo root]$ su
Password: 
[root@repo ~]#

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏浪淘沙

Flume学习笔记

一、什么是Flume?     Apache Flume 是一个从可以收集例如日志,事件等数据资源,并将这些数量庞大的数据从各项数据资源中集中起来存储的工具/...

26230
来自专栏我的博客

关于网站根目录属性问题之我见

现有用户admin,root,apache用户,要求是:admin对网站根目录中文件可以修改和删除,网站运行的是php程序,那么需要上传图片和文件,需要apac...

44250
来自专栏Hadoop实操

12.OpenLDAP管理工具Phpldapadmin的安装及使用

Fayson在前面的文章中有很多关于OpenLDAP的介绍,在文章中均使用的命令行的方式对OpenLDAP进行用户和用户组的添加,添加方式复杂且容易出错。本篇文...

74040
来自专栏Phoenix的Android之旅

自定义Gradle Plugin

Gradle 是 Android 构建环节非常重要的一环,但并不是所有Android开发者对Gradle都足够熟悉,因为它在我们平时业务开发中,相对使用频率还是...

14110
来自专栏dalaoyang

Jenkins部署码云SpringBoot项目

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 (以...

15940
来自专栏向治洪

Android Studio安装插件

Android Studio安装插件的方式其实和Eclipse大同小异。废话不多说,直接上图: ? 区域1:你当前已经安装了的插件 区域2:在线安装 区...

21180
来自专栏Laoqi's Linux运维专列

gitlab修改默认端口

4.6K70
来自专栏向治洪

studio安装插件

Android Studio安装插件的方式其实和Eclipse大同小异。废话不多说,直接上图: ? 区域1:你当前已经安装了的插件 区域2:在线安装 区...

20350
来自专栏散尽浮华

定时备份windows机器上的文件到linux服务器上的操作梳理(rsync)

由于需要对网络设备做备份,备份文件是放到windows机器上的。现在需要将备份数据同步到linux备份机器上,想到的方案有三种: 1)将windows的备份目录...

83280
来自专栏xingoo, 一个梦想做发明家的程序员

基于Spring Boot的Logback日志轮转配置

在生产环境下,日志是最好的问题调试和跟踪方法,因此日志的地位是十分重要的。我们平时经常使用的log4j,slf4j,logback等等,他们的配置上大同小异。...

21670

扫码关注云+社区

领取腾讯云代金券