1、基本介绍
1.1、账户和账户组
如果要使用系统资源,就必须向系统管理员申请一个账号,然后通过这个账号进入系统,这个账号即用户。Linux系统中的用户组(group)就是具有相同特性的用户(user)集合。
1.2、UID和GID
UID和GID即用户ID和组ID。
用户账户分类:
-
超级用户root(0):默认是root用户,其UID和GID均为0。在每台unix/linux操作系统中都是唯一且真实存在的,通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限。在生产环境,一般禁止root账号远程登录SSH连接服务器,以加强系统安全
-
程序用户(1~499):这类用户一般是由具备系统管理员root的权限的运维人员添加的
-
普通用户(500~65535): 与真实用户区分开来,这类用户的最大特点是安装系统后默认就会存在的,且默认情况不能登录系统,它们是系统正常运行必不可少的,他们的存在主要是方便系统管理,满足相应的系统进程都文件属主的要求。例如系统默认的bin、adm、nodoby、mail用户等。由于服务器角色的不同,有部分用不到的系统服务被禁止开机执行,因此,在做系统安全优化时,被禁止开机启动了的服务对应的虚拟用户也是可以处理掉的(删除或注释)
2、账户管理
2.1、查看用户的UID和GID
#查看用户id和gid
id 用户名
2.2、用户基本信息
用户基本信息文件存在于/etc/passwd
中,由“:”分割为7段字符。语法格式:
#查看用户信息
cat /etc/passwd
#第二种查看
tail -数字(查看倒数的行数) /etc/passwd
2.3、添加账号
参数说明:
参数选项 | 说明 |
---|---|
-c | 指定一段注释性描述 |
-d | 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录 |
-g | 指定用户所属的用户组 |
-G | 指定用户所属的附加组 |
-s | 指定用户的登录Shell |
-u | 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号 |
#添加用户
useradd -d /home/用户名文件夹 -m 用户名
#也可以在添加用户的时候添加一段信息
useradd -c "信息" -d /home/用户名文件夹 -m 用户名
#指定用户组,跟附加组
useradd -s /bin/sh -g 主组 -G 附加组1,附加组2.... 用户名
#查看用户添加的信息
tail -5 /etc/passwd
注意:1)示例二中的group用户组是主组,adm和root是附加组;2)增加用户账号就是在
/etc/passwd
文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow
,/etc/group
等
2.4、删除账号
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd
等系统文件中的该用户记录删除,必要时还删除用户的主目录。
常用的选项是 -r,它的作用是把用户的主目录一起删除
#删除用户
userdel -r 用户名
#强制删除
userdel -rf 用户名
此命令删除用户jack在系统文件中(主要是
/etc/passwd, /etc/shadow, /etc/group
等)的记录,同时删除用户的主目录
2.5、修改账号
# 此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer(前提改用户组存在)
usermod -s /bin/ksh -d /home/z -g developer sam
2.6、账号口令
用户口令的管理。语法格式:
passwd [选项] 用户名
选项参数:
参数选项 | 说明 |
---|---|
-l | 锁定口令,即禁用账号 |
-u | 口令解锁 |
-d | 使账号无口令 |
-f | 强迫用户下次登录时修改口令 |
如果默认用户名,则修改当前用户的口令
# 未指定用户名的情况下,将修改当前登录用的密码
passwd
# 指定用户名并修改登录密码
passwd jack
# 用户指定空口令
# 此命令将用户jack的口令删除,这样用户jack下一次登录时,系统就不再允许该用户登录了
passwd -d jack
# 用 -l(lock) 选项锁定某一用户,使其不能登录,解锁用-u
passwd -l jack
2.7、切换与退出
#切换用户指令
su 用户名
#退出
exit
3、分组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group
文件的更新。
选项有:-g:GID指定新用户组的组标识号(GID)。 -o:一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
3.1、新增用户组
#新增用户组
groupadd 用户组名称
#指定用户组的Gid
groupadd -g 201 用户组名称
#允许重复Gid编号
groupadd -g 201 -o 用户组名称
3.2、删除用户组
#删除用户组
groupdel 用户组名称
3.3、修改用户组
修改用户组的属性,语法格式:
groupmod 选项 用户组
常用的选项有:-g:GID 为用户组指定新的组标识号。-o:与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。-n:新用户组 将用户组的名字改为新名字
#修改用户组的GID编号
groupmod -g 102 用户组名称
#修改用户组的Gid还有重命名
groupmod -g 103 -n 新的用户组名称 用户组名称
3.4、用户组切换
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换。 用户可以在登录后,使用命令newgrp
切换到其他用户组,这个命令的参数就是目的用户组。
newgrp root
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。