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 ~]#

你可能感兴趣的:(Linux用户管理常用命令)