Linux常用命令学习8---(用户和用户组管理)
1.用户和用户组
用户和用户组概念
用户:使用操作系统的人(Linux支持多个用户在同一时间登陆同一个操作系统)
用户组:具有相同权限的一组用户(Linux系统中可以存在多个用户组)
相关的配置文件
/etc/group:储存当前系统中所有用户组信息
Group: x : 123 : abx,def,xyz
组名称: 组密码占位符: 组编号 : 组中用户列表
1.在linux中,root用户组的编号一定是0
2.组号1~499是系统预留的组编号,一般是预留给安装在这个操作系统中的软件或服务的,比如在服务器上安装了MySQL数据库,那么就会自动的带用户组的列表中创建一个叫做mysql的用户组,并且在1~499中拿一个编号来用,越早安装分配的组号越小
3.用户手动创建的用户组的组号是从500开始的
/etc/gshadow:存储当前系统中用户组的密码信息
Group: * : : abx,def,xyz
组名称: 组密码 : 组管理者: 组中用户列表
/etc/passwd:存储当前系统中所有用户的信息
user : x : 123 : 456 : xxxxx : /home/user : /bin/bash
用户名 : 密码占位符 :用户编号 : 用户组编号: 用户注释信息: 用户主目录 : shell类型
root的用户编号一定是0
/etc/shadow:存储用户密码的文件(一般密码是被一种单向加密方法加密的,所以看到的不是原始的密码)
user : vf;/Zushs.. : : : : : :
用户名 : 密码 : : : : : :
用户组管理的命令
groupadd groupname :创建新的用户组名
groupmod -n newname oldname :将用户组名由oldname改为newname
groupmod -g 668 groupname :将groupname组编号改为 668
groupadd -g 888 groupname :创建用户组groupname,并且设置组编号为 888
groupdel groupname :删除用户组 groupname
在删除用户组之前应该首先删除用户组中的用户,否则用户的配置文件中的关于用户组的信息就和真实情况不符合了,这些用户就会变成“黑户”,在后续的使用中可能就会受到权限的影响
gpasswd groupname :更改groupname用户组的组密码
用户管理的命令
useradd -g groupname username :创建新用户username,并且该用户放到用户组groupname中
useradd -d /home/test username :在创建用户username时,显式指定他的个人文件夹为/home/test,若不显式指定,会默认使用/home/username文件夹
这个时候没有指定用户的用户组,系统就会默认创建一个和新用户名相同的用户组,并将该用户放到该用户组下
usermod -c 备注内容 username :为用户username修改备注信息
usermod -l newname oldname :将oldname用户改名为 newname
usermod -g groupname username :将username用户切换到 groupname用户组
userdel username :删除username用户,但是这样并不会删除他的个人文件夹和其中的文件
userdel -r username :删除username用户,并且删除他的个人文件夹
假如某一天维护系统,不想让某些用户登陆
在/etc/目录下创建文件nologin(空文件即可,不需要内容),就可以实现除了user之外的用户都不能等陆系统
锁定和解锁账户
passwd -l username :锁定用户username,防止用户删除自己的文件
passwd -u username :解锁username用户
passwd -d username :清除username帐号,是这个用户可以无密码登陆
主要组和附属组
一个用户可以同时属于多个用户组(其中只有一个是这个用户的主要组,其他的都是这个用户的附属组)
相关的知识和命令目前几乎用不到,所以暂时不进行深入的学习
gpasswd -a username newgroup1,newgroup2 :为username账户添加到附属组newgroup1和newgroup2
区分于usermod -g groupname username :这个命令修改的是用户的主要组,而不是附属组
gpasswd -d username newgroup1,newgroup2 :为username账户删除附属组newgroup1和newgroup2
useradd -g group -G newgroup1, newgroup username :在创建用户username的时候为用户添加主要组group,并添加附属组groupname1和groupname2
切换用户
su username :从当前用户切换到username用户(如果没有username,就相当于切换到root用户)
从普通用户切换到其他用户时需要用户密码;但是从root切换到任何用户都不需要密码
id username命令
显示指定用户信息,包括用户编号、用户名
主要组编号及名称,附属组列表
groups username命令
显示username用户所在的所有组
chfn username命令
设置用户资料,依次输入用户资料(生日、性别……资料)
finger username命令
显示用户详细资料(和chfn命令对应)
Linux常用命令学习8---(用户和用户组管理)的更多相关文章
- Linux常用命令学习4---(挂载命令mount umount、用户登陆查看和用户交互命令 w who last lastlog)
紧接着上一篇Linux的命令行的学习:Linux学习3---(文件的压缩和解压缩命令zip unzip tar.关机和重启命令shutdown reboot……) 1.挂载命令 简介 ...
- Linux常用命令速查-用户管理
◆ 用户组 ◆ 查看当前用户所属的用户组 1 groups 查看所有用户组 123456789 [root@node2 ~]# cat /etc/group root:x:0:bin:x:1:daem ...
- Linux常用命令学习笔记——基于CentOS 7
前言:最近在linux培训时复习了一下linux系统中一些常用的命令和用法,整理成了笔记,虽然些许零散,但希望对大家有所帮助. 目录 0.帮助指令 1.关机.重启.注销命令 2.文件和目录操作命令 3 ...
- Linux常用命令学习
1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文 ...
- Linux常用命令学习1---(安装、文件系统、目录操作命令cd ls mv cp rm mkdir、链接命令ln……)
1.理解Linux的文件系统:分区和挂载点 挂载点和路径名无关 /根目录下的/boot完全可以时独立于 /的独立的挂载点,只要你设置就可以 linux安装时候,必须要有这两个分区 / 和 ...
- 五个知识体系之-Linux常用命令学习
1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文 ...
- Linux常用命令学习随笔
1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文 ...
- [转]Linux常用命令学习
转自 https://www.cnblogs.com/gaojun/p/3359355.html 1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文 ...
- Linux常用命令-学习笔记
Linux命令格式: 命令 [命令参数] [命令对象] # 命令之间的参数和对象用单个空格进行分割 # "[]"代表可选,{}代表必选其中的一项,|代表或者的关系,<> ...
随机推荐
- asp.net form身份认证不定时认证失败的问题 排查
1.网站出现form认证不定时认证失败.登陆过后 每隔一会儿就需要重新登陆.首先检查的是form身份认证票据设置的时间(正常) 然后检查加密后的身份认证信息写入的cookie的失效时间(正常) 2.这 ...
- SpringMVC常用注解的用法
1. @PathVariable 当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvari ...
- linux rpm安装apache php mysql
CentOS 可以通过 yum 安装: yum -y install httpd php php-mysql mysql-serverservice httpd status|start|stop| ...
- AndroidStudio使用笔记
声明: 正式放弃Eclipse,投奔AndoidStudio大军,有些东西要从头摸索,特发此帖记录Android Studio的使用方法.本帖永久更新,不定时记录本人使用过程中的经验积累,给自己留一份 ...
- R语言进行数据预处理wranging
R语言进行数据预处理wranging li_volleyball 2016年3月22日 data wrangling with R packages:tidyr dplyr Ground rules ...
- socket编程热身程序
/*server.c*/ #include <stdio.h> #include <arpa/inet.h> #include <sys/types.h> /* S ...
- Bestcoder#5 1003
Bestcoder#5 1003 Poor RukawTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- MySQL Cluster 7.3.5 集群配置参数优化(优化篇)
按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...
- Swift3.0P1 语法指南——控制流
原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...
- https://zeroc.com/index.html
https://zeroc.com/index.html http://blog.shutupandcode.net/?p=1085