您的位置:首页 > 运维架构 > Linux

Linux用户和用户组

2016-04-10 13:44 302 查看

用户和用户组的概念

用户:使用操作系统的人,linux允许多个用户同时登陆系统

用户组:具有相同系统权限的一组用户

用户和用户组涉及的四个文件

/etc/group文件

/etc/group 存储当前系统中所有用户组的信息

-Group: x :123 : abc, def,xyz

-组名称:组密码占位符:组编号:组中用户名列表

root用户组的组号一定是0

组号1~499是系统预留的组编号,一般预留给安装在操作系统的软件或服务的,例如mysql数据库。未被使用的最小组号分配给新安装的软件或服务。

用户手动创建用户组编号从500(有的Linux版本可能从1000开始)开始,一般情况下把>=500的未被使用最小组编号分配给用户手动创建的用户组。

/etc/gshadow文件

/etc/gshadow 存储当前系统中用户组的密码信息

与/etc/group 存储的信息一一对应。

-Group: * : : abc, def,xyz

-组名称: 组密码 :组管理者:组中用户名列表

组密码:空或*或!,可以任务组密码为空即没有密码

组管者:为空,组内所有用户都可以管理这个用户组

/etc/passwd文件

/etc/passwd 存储当前系统中所有用户的信息

- user:x:123:456:xxxx:/home/user/:/bin/bash

- 用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户组目录:shell类型

root 用户编号为0

/etc/shadow文件

/etc/shadow 存储当前系统中所有用户密码的信息

-user : vf;/zu8sdf… :::::

-用户名:密码 : : : : :

用户组的基本管理命令

例子

为公司每个部门创建一个管理组,并根据实际情况分配用户和用户组

// 为市场部创建一个用户组
#groupadd market
// 市场部划分为两个组,则修改原组market为市场组1(market1)并新加市场组2
#groupmod -n market1 market
#groupadd market2

// 为市场部组1更改组编号
#groupmod -g 668 market1

// 为老板创建用户组boss并指定组编号为888
#groupadd -g 888 boss

// 公司裁剪市场组2,即删除market2组。注:删除用户组之前必须删除用户组中的用户
#groupdel market2

// 创建用户并添加用户xiaoming、xiaowang到market1组
#useradd -g market1 xiaoming
#useradd -g market1 xiaowang
// 在创建用户时指定用户的个人文件夹;未指定时,系统自动为用户在/home下创建同名个人文件夹
#useradd -d /home/xxx xiaozhang

// 给用户xiaoming 添加注释hello
#usermod -c hello xiaoming

// xiaoming离职,新员工xiaoli继续使用他的账号,并指定xiaoli的工作目录
#usermod -l xiaoli xiaoming
#usermod -d /home/xiaoli xiaoli

// xiaozhang调到market1组,则更改其用户组
#usermod -g market1 xiaozhang

// xiaowang 辞职,删除其用户和用户个人文件夹
#userdel xiaowang // 未删除其个人文件夹
#userdel -r xiaowang

// 服务器维护,暂停普通用户登录,在/etc目录创建nologin文件即可,其内容无关紧要
#touch /etc/nologin

// 公司检查xiaozhang的文件,锁定他的账户
#passwd -l xiaozhang
// 检查完毕,解锁账户
#passwd -u xiaozhang
// 可以清除xiaozhang的密码,xiaozhang可以无密码登录
#passwd -d xiaozhang


主要组与附属组

用户可以同时属于多个组,用户组中有一个是用户的主要组,其他组为附属组

一个主要组

多个附属组

// 公司让xiaozhang负责boss秘书的一部分工作,则把xiaowang添加到boss组这个附属组
#gpasswd -a xiaozhang boss
// usermod -g 修改用户的主要组
// 一次性添加用户到多个附属组
#gpasswd -a xiaozhang boss, otherg1, otherg2,...

// xiaozhang创建的文件默认属于主要组,如果以附属组组员身份创建文件,若boss让xiaozhang以秘书身份发送通知,则xiaozhang用户必须切换到附属用户组boss
$newgrp boss // 当前登录用户为xiaozhang
// 如果附属组设置有组密码,那么必须输入组密码才能完成登录

// 公司不再让xiaozhang负责秘书工作,则删除其附属组boss
#gpasswd -d xiaozhang boss

// useradd -g 指定用户的主要组,使用gpasswd -a指定用户的附属组,那么能不能同时指定用户的主要组group和附属组group1,group2,...
#useradd -g group -G group1, group2,...

// 设置用户组boss的组密码
#gpasswd boss


切换用户

// 普通用户切换当前的其他普通用户身份
#su otheruser
// 普通用户切换到root用户
#su
// root切换到其他普通用户不需要密码
#su otheruser


其他命令

// 我是谁,显示当前登录用户名
#whoami
// 显示指定用户信息,包括用户编号、用户名、主要组编号及名称,附属组列表
#id xiaoming

// 显示指定用户所在组
#groups xiaoming

// 设置用户资料,依次输入用户资料
#chfn xiaoming

// 显示用户详细资料
#finger xiaoming
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: