Linux的用户UID
系统中的每个进程(运行程序)都作为一个特定用户运行。每个文件归一个特定用户所有。对文件和目录的访问受到用户的限制。与运行进程相关联的用户可确定该进程可访问的文件和目录。
用户的分类
- root用户
用户系统中唯一,权限最大,可以操作任意命令
- 普通用户
权限较低,只能编辑自己的用户家目录,由root账户创建
- 虚拟用户
没有登录系统的权限,系统运行依赖于用户,如bin,ftp,mail,由系统创建
查看用户
id
命令显示有关当前已登陆用户的信息
[root@localhost ~]# id
uid=0(root) gid=0(root) 组=0(root)
- 在Linux中UID为0,就是超级用户,如要设置管理员用户,可以改UID为0,建议用sudo
- 系统用户UID为1~999 Linux安装的服务程序都会
创建独有的用户
负责运行。 - 普通用户UID从1000开始:由管理员创建(centos7),最大值1000~60000范围
Linux的用户组group
为了方便管理属于同一组的用户,Linux 系统中还引入了用户组的概念。通过使用用 户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务。
与用户一样,组也有名称和编号(GID)。本地组在/etc/group中定义。
用户和组的关系
- 一对一,一个用户可以存在一个组里,组里就一个成员
- 一对多,一个用户呆在多个组里面
- 多对一,多个用户在一个组里,这些用户和组有相同的权限
- 多对多,多个用户存在多个组里
查看用户信息配置文件
/etc/passwd
文件存储本地用户信息/etc/shadow
用户密码信息/etc/group
用户组信息/etc/gshadow
用户组密码信息/etc/skel
存放新用户需要的基础环境变量文件
/etc/passwd字段信息解释
1. username 用户名,对应UID,是用户登录系统的名字,系统中唯一不得重复。 2. password 用户密码,存放在/etc/shadow文件中进行保护密码。 3. UID 用户ID号,即在最基本的级别标识用户的编号。 4. GID 是用户的主要组ID编号。 5. GECOS 用户注释,字段是任意文本。 6. /home/dir 用户家目录,是用户的个人数据和配置文件的位置。 7. shell 当前登录用户使用的解释器。centos/redhat系统中,默认的都是bash。若是禁止此用户登录机器,改为/sbin/nologin即可
用户管理
常用命令
命令 | 作用 |
---|---|
useradd | 创建用户 |
usermod | 修改用户信息 |
userdel | 删除用户及配置文件 |
passwd | 更改用户密码 |
chpasswd | 批量更新用户密码 |
chage | 修改用户密码属性 |
id | 查看用户UID、GID、组信息 |
su | 切换用户 |
sudo | 用root身份执行命令 |
visudo | 编辑sudoers配置文件 |
创建用户的流程
1.useradd 用户名
2.系统读取/etc/login.defs(用户定义文件),和/etc/default/useradd(用户默认配置文件)俩文件中定义的规则创建新用户
3.向/etc/passwd和/etc/group文件中添加用户和组信息,向/etc/shadow和/etc/gshadow中添加密码信息
4.根据/etc/default/useradd文件中配置的信息创建用户家目录
5.把/etc/skel中所有的文件复制到新用户家目录中
文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/4471