Linux的用户管理

Posted 这不是空格

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的用户管理相关的知识,希望对你有一定的参考价值。

Linux支持多个人使用同一个用户登录系统,Windows在修改组策略的情况下,也可以多个人使用同一个用户登录

远程连接Linux的方式:SSH协议

远程连接Windows的方式:RDP协议

安卓手机(Linux系统):root 刷机,使用root用户登录系统

查看系统中用户

Usage:id [选项] [用户名]

# id ,查看当前登录的用户信息
-u:查看用户的uid
-g:查看用户的gid
-G:查看用户的属组
[root@localhost ~]# id
uid=0(root) gid=0(root) 组=0(root)

[root@localhost ~]# id qiandao
uid=1001(qiandao) gid=1001(qiandao) 组=1001(qiandao)

[root@localhost ~]# id -g cls
1001

[root@localhost ~]# id -u cls
666

[root@localhost ~]# id -G cls
1001


[root@localhost ~]# id
uid=0(root)     用户id
gid=0(root)     用户组的id
组=0(root)


在系统中,不认识root,qiandao,zls
0:超级用户

uid=1001(qiandao) 
gid=1001(qiandao) 
groups=1001(qiandao)

用户管理相关文件 - passwd

[root@localhost ~]# ll /etc/passwd
-rw-r--r-- 1 root root 916 3月  30 10:26 /etc/passwd

[root@localhost ~]# cat /etc/passwd

用户名  密码占位符  uid    gid    注释信息   用户家目录     用户登录shell
root:    x:        0:    0:     root:    /root:        /bin/bash
cls:     x:      666: 1001:         :    /home/cls:    /bin/bash
wutenglan:x:777:1001:武藤兰老师是个好老师: /home/wutenglan:/bin/bash

用户管理相关文件 - shadow

[root@localhost ~]# ll /etc/shadow
---------- 1 root root 1088 3月  30 10:50 /etc/shadow

[root@localhost ~]# cat /etc/shadow

qiandao   :!!                   :18351    :0:99999:7:::
第一列:用户名
第二列:密码,!! 和 * 表示没有密码
第三列:上一次修改用户密码的时间(从1970年开始)/天
第四列:密码最少使用的天数(0 是 无限制)
第五列:密码过期天数 99999天
第六列:在密码过期的前7天,提示需要修改密码了,你的密码还有7天要过期了
第七列:密码过期后N天,强制提示修改密码
第八列:账户的失效时间,从1970年开始计算
第九列:保留

root:$6$iM1LuZaUuwyZrIg.$2X2Upu4KHmQoD1hzKHCzsmJqxPri9PlVDm5MYw/XdQsYgRpJaLIy1xWw0aDXLPePZNAcNRmfrYJrJgb6dmbu/.::0:99999:7:::

用户的分类(CentOS7)

用户UID 系统含义
0 超级用户(拥有系统的最高权限)
1-200 系统用户,由系统分配给系统进程使用
201-999 系统用户,运行服务,不需要登录系统的
1000+ 普通用户

注意:在CentOS7之前,创建用户,都是1-499 是系统用户,500+是普通用户,第一个创建的用户,不指定uid 一定是500

用户相关命令

useradd
adduser

Usage:useradd [选项] [用户名]
默认情况下,在创建用户的时候,会创建一个和用户同名的组,并且把该用户加入该组

[root@localhost ~]# useradd zls
-u:(uid)指定uid
-g:(gid)指定gid,也可以指定组名
-G:(Group)指定附加组,如果加入多个附加组则用  逗号隔开
-M:不创建家目录
-s:(shell)指定登录的shell
-c:(comment)添加注释
-d:(directory)指定用户的家目录
-r:帮我们创建一个uid范围是201-999的系统用户,不创建家目录

userdel

Usage:userdel [选项] [用户名]
默认情况下,在删除用户的同时会把同名的用户组也删除,但是如果组内有其他用户,则不会删除组,只删除用户
-r:删除用户的同时,删除用户的家目录,和用户的其他 邮件目录... (删干净)

usermod

Usage:usermod [选项] [用户名]
-u:修改uid
-g:修改gid
-G:修改附加组
-a:配合-G,在修改附加组的时候,起到追加效果(append)
-m:修改(迁移)家目录,必须配合 -d
-d:指定修改后的家目录
-s:修改登录的shell
-c:修改注释
-l:修改登录的用户名
-L:锁定用户(封号)
-U:解锁用户(解封)

id
whoami

组的基本管理

[root@localhost ~]# ll /etc/group
-rw-r--r-- 1 root root 12120 4月   1 10:11 /etc/group

[root@localhost ~]# tail -2 /etc/group
hfls49:x:1779:
hfls50:x:1780:

第一列:组名
第二列:密码占位符(组密码存在gshadow)
第三列:gid
第四列:组的附加成员,基本成员不显示。


[root@localhost ~]# ll /etc/gshadow
---------- 1 root root 8902 4月   1 10:11 /etc/gshadow

[root@localhost ~]# tail -2 /etc/gshadow
hfls49:!::
hfls50:!::

第一列:组名
第二列:组密码(!! 表示没有密码)
第三列:组管理员
第四列:组的附加成员,基本成员不显示

## 创建组命令:groupadd
[root@localhost ~]# groupadd z1s

[root@localhost ~]# groupadd z1s -g 6666

# 创建gid范围是201-999之间的系统组
[root@localhost ~]# groupadd -r z1s

## 修改组命令:groupmod
[root@localhost ~]# groupmod z1s -g 6666

# 修改组名
[root@localhost ~]# groupmod z1s -n  z1s01

## 删除组命令:groupdel
[root@localhost ~]# groupdel z1s01

以上是关于Linux的用户管理的主要内容,如果未能解决你的问题,请参考以下文章

在每个用户的Rails中使用片段缓存

SnippetsLab for Mac 1.9 中文共享版 – 强大的代码收藏管理工具

片段 XXX 未与片段管理器关联

使用 Git 来管理 Xcode 中的代码片段

massCode 一款优秀的开源代码片段管理器

如何管理在每个 git 版本中添加私有代码片段?