用户与用户组
1.文件拥有者
由于Linux是一个多人多任务的系统,因此可能常常会有多人同时使用这台主机来进行工作的情况,为了考虑每个人的隐私权以及每个人喜好的工作环境,因此文件拥有者这个角色就显得尤为重要
添加新的用户账号
useradd 选项 用户名
- -c comment 指定一段注释性描述
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
- -g 用户组 指定用户所属的用户组
- -G 用户组,用户组 指定用户所属的附加组
- -s Shell文件 指定用户的登录Shell
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
例:
创建一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/home/sam
创建一个用户gem,该用户的登录Shell是/bin/sh,属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组
① 创建用户组
② 创建用户
删除用户账号
userdel 选项 用户名
-r 把用户的主目录一起删除
例:
修改账号
usermod 选项 用户名
- -c comment 指定一段注释性描述
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
- -g 用户组 指定用户所属的用户组
- -G 用户组,用户组 指定用户所属的附加组
- -s Shell文件 指定用户的登录Shell
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
- -o 可以重复使用其他用户的标识号
例:
将sam的登录shell改为ksh,主目录改为/home/z,用户组改为developer
usermod -s /bin/ksh -d /home/z -g developer sam
用户口令管理
passwd 选项 用户名
- -l 锁定口令,即禁用账号
- -u 口令解锁
- -d 使账号无口令
- -f 强迫用户下次登陆时修改口令
例:
为用户指定空口令
passwd -d sam
删除sam的密码,使sam下一次登陆时系统不允许该用户登录
passwd -l sam
2.用户组的概念
进行团队协同工作时非常有用。
用户组相当于一个个社团,内部成员就是用户组内的成员,同时一个账号可以有多个用户组的支持,可以理解为多个社团有同一个指导老师
新增用户组
groupadd 选项 用户组
- -g GID 指定新用户组的组标识号(GID)
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
例:
向系统中新增组group1,新租的组标识号使当前已有的最大组标识号的基础上加一
groupadd group1
向系统中增加了一个新组group2,同时指定新组的组标识号是101
groupadd -g 101 group2
删除一个已有的用户组
groupdel 用户组
例:
删除组group1
groupdel gruop1
修改用户组的属性
groupmod 选项 用户组
- -g GID 为用户组指定新的组标识号
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
- -n 新用户组 将用户组的名字改为新名字
例:
将group2的组标识号改为102
groupmod -g 102 group2
将group2的组标识号改为10000,组名修改为group3
groupmod -g 10000 -n group3 group2
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限
用户可以在登陆后,使用newgrp切换到其他用户组,参数就是目的用户组
newgrp root
将当前用户切换到root用户组,前提是root用户组确实是该用户的主组或附加组。
3.其他人的概念
不是该用户组的成员都是其他人,在Linux里,任何一个文件都具有用户(User)、所属群组(Group)、其他人(Others)三种身份的个别权限。
root是万能的!。
Linux用户身份与用户组记录的文件
在Linux系统中,默认情况下所有系统上的账号与一般身份用户,还有那个root的相关信息,都记录在/etc/passwd这个文件内,至于个人的密码则是记录在/etc/shadow这个文件内,此外,Linux所有的组名都记录在/etc/group中。这三个文件可以说是Linux系统里面账号密码用户组信息的集中地,不要随便删除。