文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州
▲ 本章节目的
⚪ 掌握CentOS的用户和用户组的创建和管理;
⚪ 掌entOS的用户权限管理握C;
⚪ 知识点的练习题;
一、用户、用户组概念
1. 用户和用户组的区别
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。但是我们都知道linux系统是一个多用户的操作系统,那么在系统当中的资源文件,就会被所有人看到。那么资源文件就变得不安全了,为了解决这个问题。我们可以设置资源文件归哪一个用户可以使用,也就有了用户的概念,另外还可以设置资源文件归哪个组里的成员使用。这样也就有了用户组的概念。当然除此之外,除了用户本身,以及用户组里的成员。其他成员统称为其他人。这样我们就可以针对资源文件在不同的角色中设置不同的权限。
用户 |
一个户口本中的每一个成员 |
用户组 |
户口本中的所有成员组成的组 |
其他人 |
除用户本人(户主)和用户组(户口本中的成员)外的成员都是其他人 |
每一个用户都可以拥有多个用户组,只能有一个组为主组,其他的组都是附加组。
每一个用户组都可以容纳多个用户。
2. 用户及UID:
在Linux系统中,每一个用户默认都对应了一个UID,而这个UID可以理解是用户的身份证号。
CentOS7.X系统中:
UID 0 |
root |
UID 1-1000 |
系统预留,作为系统用户来使用 |
UID 1000 - 65535 |
自定义账户 (CentOS6.5系统是从500开始计算UID,例如Ubuntu系统是从1000开始。) |
3. 用户信息存储的位置:
用户信息 |
/etc/passwd |
密码信息 |
/etc/shadow |
用户组信息 |
/etc/group |
passwd、shadows、group这三个文件不要随意的进行修改,如果想要进行文件内容的查看,建议大家copy出一份,对copy的文件进行修改。
或
把文件copy出来之后,进行保存,再去修改原文件。这样做即便是写错了文件也可以通过单用户的方式将文件恢复。
二、用户管理
就是对passwd、shadow、group三个文件的增删改。
增加一个用户,UID,账户名、家目录、shell程序。
新建的用户,默认的情况下是无法登录的。
创建一个用户的时候,默认情况下,会为其创建一个同名的用户组
1. 创建:
语法:useradd [选项] {UserName}
选项:
-c comment |
指定一段注释性描述 |
-d 目录 |
指定用户主目录 |
-g 用户组 |
指定用户所属的主用户组。 |
-G 用户组,用户组 |
指定用户所属的附加组。 |
-s Shell程序 |
指定用户的登录Shell。有一个特殊的shell程序叫nologin,如果某帐号使用此shell,就表示用户不允许登录,该用户通常成为伪用户。 |
-u 用户号 |
指定用户的用户号 |
案例:
创建一个普通用户,使用默认值即可。
# bash
useradd tom
说明:该账户被创建完之后,会有哪些信息
UID,由于是当前系统的第一个账户,那么它的UID是500。
家目录(主目录),因为是默认创建,所以它的家目录所在位置是/home/tom
用户组,创建用户的同时,会为其创建一个同名的用户组,tom组
shell程序,默认会是bash
创建一个普通用户,其家目录是在/tedu/jerry,主组root,附加组tom,adm。
# bash
useradd -d /tedu/jerry -m -g root -G tom,adm jerry
执行用户的shell程序为/bin/sh,UID为80000
# bash
useradd -s /bin/sh -u 80000 test1
说明:虽然CentOS系统中默认的UID是65536个(0-65535),但是可以手动指定它的UID超出此范围。
测试再创建账户是UID会不会延续上案例的UID。
# bash
useradd test2
正常来应该按照上次创建用户的UID往后+1。但是80000已超过系统默认的范围,所以不会根据超出范围后UID进行+1延续。
创建伪用户:
# bash
useradd -s /sbin/nologin test3
2. 修改:
语法:usermod [选项] {UserName}
选项:
-c comment |
指定一段注释性描述 |
-d |
目录 指定用户主目录,如果目录不存在,则同时使用-m选项,可以创建主目录。 |
-g 用户组 |
指定用户所属的用户组。 |
-G 用户组,用户组 |
指定用户所属的附加组。如果想要在原有的基础上追加附加组,使用-aG的方式。 |
-s Shell文件 |
指定用户的登录Shell。有一个特殊的shell程序叫nologin,如果某帐号使用此shell,就表示用户不允许登录,该用户通常成为伪用户。 |
-u 用户号 |
指定用户的用户号 |
案例:
修改test账户的UID。
# bash
usermod -u 9000 test1
修改账户的附加组为test、test1:
# bash
usermod -G test,test1 jerry
为账户追加附加组件root、adm
# bash
usermod -aG root,adm jerry
将test5的伪用户状态修改为正常普通用户
# bash
usermod -s /bin/bash test5
说明:test5之前的shell程序是/sb