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
相关文章推荐
- 浅析Linux中SQL及其用法
- 内核分析-第7周
- LINUX内核分析第七周学习总结
- 双系统linux+win之血的教训
- centos7安装VirtualBox虚拟机
- linux第七周
- linux下配置Java_web环境
- CentOS运行C++出现内存错误——double free or coruption
- Linux内核分析——可执行程序的装载
- CentOS运行C++程序出现内存错误-munmap_chunk():invalid pointer
- 使用Ansible部署LAMP环境
- xargs命令
- 【MOOC EXP】Linux内核分析实验七报告
- hello,road of linux!
- CentOS 服务器安全设置
- 如何在Linux中发现IP地址冲突
- linux常见文件类型
- Linux下的压缩zip,解压缩unzip命令详解及实例
- CentOS 7 中 hostnamectl 的使用
- linux第三次读书笔记