useradd      添加用户

passwd       修改用户密码

userdel       删除用户,默认不删除用户主目录和email,如果想删除可加 –r 参数

groupadd   添加组

gpasswd   修改组密码(用的非常少)

groupdel     删除组

需要注意四个文件:

/etc/passwd       存储用户信息:用户名,UID,GID,帐号描述,主目录,登录后的shell等信息‘

/etc/shadow       存储用户密码信息: 用户名,密码,密码使用期限,禁用时间等等

/etc/group          存储组信息:组名,GID,组成员等

/etc/gshadow     组密码相关信息

当我们使用 useradd shrek 添加shrek用户时,linux都做了哪些工作呢?

首先会创建用户和与用户同名的组,我们看一下,对应的文件

# tail -3 /etc/passwd
sshd:x:116:65534::/var/run/sshd:/usr/sbin/nologin
zhangsan:x:1001:1001::/home/zhangsan:
shrek:x:1002:1002::/home/shrek:
# tail -3 /etc/group
sambashare:x:124:huanghao
zhangsan:x:1001:
shrek:x:1002:

可以看到,用户和组都创建了;

同时创建/home/shrek目录,接着会复制一些文件进去

cp –r /etc/skel/*   /home/shrek/

最后设置一下权限

chown –R shrek shrek  /home/shrek

好了,到这里用户就创建完成了,linux系统为创建用户做了一系列的工作。

那这四个文件里的内容到底是什么呢?

/etc/passwd

pulse:x:115:122:PulseAudio daemon,,,:/var/run/pulse:/bin/false
huanghao:x:1000:1000:huanghao,,,:/home/huanghao:/bin/bash
sshd:x:116:65534::/var/run/sshd:/usr/sbin/nologin
zhangsan:x:1001:1001::/home/zhangsan:
shrek:x:1002:1002::/home/shrek:

可以看出文件中是用:来分隔的,各段的意思是:

用户名:密码(x表示有密码,空表示无密码):UID:GID:用户描述信息:家目录:登录后的shell

/etc/shadow

sshd:*:16825:0:99999:7:::
zhangsan:$6$OsmW2vs/$Iuth6FJfDqn7s9MQvagO2./BjOXcCeUH/LxSqdth3KXdF.qxC.2wyL5yA0EasxSnevlNra0LdXj2n7annlJyU/:16825:0:99999:7:::
shrek:!:16847:0:99999:7::: 用户名:密码(md5加密后的,$$之间是阀值):unixtime(1970.1.1至今的天数):密码最短历史:密码最长历史:过期前多少天通知::多少
天禁用用户

密码最短历史: 0表示任意时间,如果设为1,则表示1天后才能修改密码

密码最长历史: 最长99999天

多少天后禁用用户: 也是unixtime来算

/etc/group

sambashare:x:124:huanghao
zhangsan:x:1001:
shrek:x:1002: 组名:是否有密码:GID:组成员

注意组成员如果有多个,用,分隔

/etc/gpasswd  这个里面没什么内容,略过。。

那么问题来了:A机器上有200个用户,现在新装了机器B,想把用户转移过去,怎么办呢?

直接将这四个文件复制过去,然后将home目录复制过去就好了。 一切皆文件嘛。

刚才看了四个文件,我们在创建用户的时候有些属性是没有设置的,比如密码历史时间什么的,但是也默认有了。那这些默认属性在哪里设置的呢?

/etc/login.defs, 这个文件里可以设置用户的默认属性

# cat /etc/login.defs |grep -v '^#'|grep -v '^$'
MAIL_DIR /var/mail
FAILLOG_ENAB yes
LOG_UNKFAIL_ENAB no
LOG_OK_LOGINS no
SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB yes
FTMP_FILE /var/log/btmp
SU_NAME su
HUSHLOGIN_FILE .hushlogin
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
TTYGROUP tty
TTYPERM 0600
ERASECHAR 0177
KILLCHAR 025
UMASK 022
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
GID_MIN 1000
GID_MAX 60000
LOGIN_RETRIES 5
LOGIN_TIMEOUT 60
CHFN_RESTRICT rwh
DEFAULT_HOME yes
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512

下面看几个命令

usermod     修改用户属性

usermod –G root,bin,todd shrek     将shrek用户所属组修改为root,bin,todd,注意是修改,不是追加

id shrek     查看用户属性

gpasswd –M shrek,todd,ttt   root     将多个用户加入root组

到这问题又来了,如果不小心删除了这四个文件,怎么办?系统还能登录吗?

可以使用单用户模式进入系统

ll /etc/passwd
passwd passwd-

看到了吗,有一个passwd-的文件,这是passwd的备份,复制一份就行了,其它三个文件一样都有备份。

继续我们的命令:

users        显示当前登录的用户,只显示用户名

who          也是显示当前登录的用户,但要详细一些

w              这个就更详细了

# w
13:03:32 up 21 days, 22:25, 3 users, load average: 2.12, 2.07, 2.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
huangxm :0 :0 25 1月16 ?xdm? 4:04m 0.48s init --user
huangxm pts/11 :0 25 1月16 21days 0.42s 0.42s bash
huangxm pts/1 192.168.0.201 一16 4.00s 0.37s 0.05s sshd: huanghao [priv]

kill –9 pts/1    踢掉pts/1的用户

write     给当前联机的某个用户发消息,注意需要使用mesg y 打开开关才可以使用

write “hahahah” pts/1      发送消息到pts/1

wall    “hahahahha”    发送消息给所有控制台

last     查看谁登录了系统,什么时间登录的

# last
huanghao pts/1 192.168.0.201 Mon Feb 15 16:20 still logged in
huanghao pts/24 192.168.0.201 Thu Feb 4 14:04 - 02:54 (10+12:50)
huanghao pts/1 192.168.0.201 Wed Feb 3 16:54 - 02:54 (11+10:00)

finger shrek   查看shrek用户信息,可能需要安装才可以使用

# finger shrek
Login: shrek Name:
Directory: /home/shrek Shell: /bin/sh
Never logged in.
No mail.
No Plan.

linux用户及组管理的更多相关文章

  1. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  2. Linux用户与组管理命令

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...

  3. Linux 用户和组管理

    这是用户和组管理的知识点,不想看文字就看视频吧,还是视频为主,文字为备忘录 视频链接: 项目1用户管理 1.创建一个新用户user01,设置其主目录为/home/user01: #useradd –d ...

  4. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释

    与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...

  5. linux用户、组管理及权限(一)

    一.用户管理 1.为什么需要用户 1)计算机及网络资源的合理分配  2)可以控制用户访问系统的权限.3)身份认证 4) 进程 以某个用户的身份来运行 2.用户分类 用户的角色是通过UID(用户ID)来 ...

  6. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理

    我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...

  7. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group --学习

    一./etc/passwd 和/etc/shadow解释 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码 ...

  8. ref:linux用户和组管理,/etc/passwd,/etc/shadow和/etc/group 文件内容解释

    ref:https://www.cnblogs.com/xuha0/p/5519232.html 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shad ...

  9. Linux用户和组管理命令-用户创建useradd

    用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...

  10. 用户与安全 -(1)Linux用户及组管理

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登 ...

随机推荐

  1. KVM背靠Linux好乘凉

    虚拟化是走向云的第一步,同理,开源虚拟化是走向开源云的第一步.云计算所提供的产品与方案都是围绕着IT资源的新交付与消费模式.云的形式多样,私有云.公有云与混合云,无论哪种云都具有三个关键特征:虚拟化. ...

  2. 【bz2594】水管局长数据加强版

    题意: 给出一张n节点.m条代权无向边的无向联通图 和q个任务 1:询问一条x到y的路径 并使路径上最大权值最小 要求输出路径上最大权值 2:宣布x到y的路径报废题目保证该图永远联通 题解: 这是道凶 ...

  3. 第二百六十三天 how can I 坚持

    今天解脱了,放下了,小罗娜,不给力,话说下一步该咋办呢. 鱼不想过双十一自杀了.这都二十二号了,好快. 该把给罗娜说的那些话保存下来.可惜已经删了. 不知道做的对不对,反正就是没缘分,就这样吧. 睡觉 ...

  4. Tengine新增健康检查模块

    总结 2.tengine的状态监控 Tengine的状态监控有两种 这里演示一个健康检查模块功能 配置一个status的location location /status { check_status ...

  5. XML学习笔记(2)--dom4j操作XML

    1. 介绍(四种方式的比较这部分转载自:http://www.blogjava.net/xcp/archive/2010/02/12/312617.html) 1)DOM(JAXP Crimson解析 ...

  6. WINRAR评估版本弹出框消除

    网上有很多WINRAR评估版本,这些版本下载安装了之后总会有些广告弹出,让人很烦恼,现在教大家一个方法消除这些弹出框. 复制以下代码:    RAR registration data SeVeN U ...

  7. POJ 1860 Currency Exchange (bellman-ford判负环)

    Currency Exchange 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/E Description Several c ...

  8. 关于C# XML序列化的一个BUG的修改

    关于C# XML序列化的一个BUG的修改 在我前一篇博客中提到用XML序列化作为数据库的一个方案,@拿笔小心 提到他们在用XML序列化时,遇到了一个比较严重的bug,即XML不闭合,系统不能正确的加载 ...

  9. HDU 1312 http://acm.hdu.edu.cn/showproblem.php?pid=1312

    #include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> #de ...

  10. C# 索引器 学习

    转载原地址: http://www.cnblogs.com/lxblog/p/3940261.html 1.索引器(Indexer): 索引器允许类或者结构的实例按照与数组相同的方式进行索引.索引器类 ...