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