Linux 用户, 组和权限

用户, 组和权限

Linux登陆需要用户名、密码。/etc/passwd 文件保存用户名。登录linux时,Linux 先查找 /etc/passwd 文件中是否有这个用户名,没有则跳出,有则读取用户名的user ID group ID 、用户名对应的根目录路径以及所使用的 shell ,最后在 /etc/shadow 中核对该 UID 对应的 PWD 是否正确,正确则登录到该用户的 shell

root:x:0:0:root:/root:/bin/bash

用户名:密码X:用户id0:id0:描述信息root:用户根目录/root/:用户登录后的shell

x 是表示此处为空;采用shadow passwd,影子密码

帐号名:用户名称,root 是系统默认最高管理员用户。

密码:由于密码保存在 /etc/shadow 文件,所以这里用 “x” 表示,如果没有设置口令,则该项为空。

用户ID:系统内部用户的唯一标识ID,其中用户 ID 有以下几种:

代表系统管理员,如果想建立一个系统管理员,可以先建立一个普通帐户,再将其用户ID改为 0 

1-500 系统预留 ID500 以上是普通用户 ID

ID:用户组标识 ID /etc/group 有关。

描述信息:帐号的描述。

用户根目录:用户登录起始目录,登录系统后首先进入此目录。root 用户默认是 /root,普通用户则是 /home/用户名。

用户登录shell:用户登录系统后使用的 shell

 

1.2 /etc/shadow详解:

早期的 unix 系统,用户帐号、密码都保存在 passwd ,即使密码以密文方式保存在 passwd 中,但 passwd 文件对所有用户可读,存在安全隐患。现在 Linux 使用“shadow”保存密码的密文,使用passwd文件保存用户帐号信息。“shadow 文件只有管理员用户才可以访问。

cat /etc/shadow | tail -4

[root@localhost ~]# cat /etc/shadow | tail -4
tcpdump:!!:16820::::::
avahi-autoipd:!!:16820::::::
oprofile:!!:16820::::::unbound:!!:16897::::::

总共9个字段

root:$1$ZowvYCeU$ZCF.3th3FJNEoAB2EZoHw.:16821:0:99999:7:::

帐户名称:用户名称,和 passwd 的意思相同。

密码: 用户密码的密文。

密码栏的第一个字符为 * 表示这个用户不能登录,如果不想让此用户登录,在他前面加个“* 

第一个字符为“!”,则表示该用户被禁用,新创建的用户还没密码时就是禁用状态,使用“!!”表示;

第一个字符为“空”,表示用户没有密码,登录时不需要密码。

上次改动密码的日期:密码的最后更改日期,为什么是 15181 ?因为 Linux 计算日期是以197011日作为1197111日就是366,因此推导我修改密码的日期表示为 15181

密码不可被改动的天数:表示多久后才可以改密码。0” 表示可以随时更改。

密码需要重新更改天数:必须在这个时间内更新密码,否则帐号将会暂时失效。99999,表示密码不需要更新。

密码变更期期限快到前的警告期:帐号密码失效期限快到时,系统依照这个字段设定,发出警告,提醒用户密码将过期请更新密码,默认是 7

帐号失效期:如果过了警告期没有更新密码,使得密码失效,并且用户在这个字段限定的时间内没有向管理员报告,让帐号重新激活,这个用户将暂时失效。

帐号取消日期:这个字段也使用1970年以来的日期计算方法,表示用户在此字段规定的时间之后将无法再使用。

保留:保留字段

 

1.3 /etc/group 详解:

Linux  用户, 组和权限

 

 

从第一行开始分析,一共有四项,依次为:

组名称:用户组名称了。

组密码:一般不需设定,很少使用群组登录。但这个密码也保存在 /etc/shadow 中。

ID:用户组ID了。

支持帐号的名称:这个群组的所有帐号。如果你想让david用户属于root这个群组,在第一行最后加上 “,david” 注意添加的时候没有空格。

 

 

 

2,用户、用户组管理操作详解:

2.1 adduser 添加用户:

 

adduser [-u uid][-g group][-d home][-s shell]

-u:直接给出userID                     

-g:直接给出GID

-d:直接将根目录建立在已存在目录        

-s:定义shell

 

 

2.2 passwd 设置用户密码:

passwd [用户名] 设置密码

 Linux  用户, 组和权限

2.3 usermod 禁用、启用帐号:

usermod -L [用户名] 禁用帐号

usermod -U [用户名] 启用帐号

usermod -e YYYY-MM-DD [用户名]

 Linux  用户, 组和权限

 

 

usermod 命令禁用和启用账号通过在 /etc/shadow 中相应用户密码位之前添加和删除 “!” 实现的。

2.4 groupadd 创建组:

groupadd [-g gid [-o]] [-r] [-f] group

Linux  用户, 组和权限

 

2.4.1 创建用户的时候指定用户属于那个用户组:

usersadd -g group_name user_name

Linux  用户, 组和权限

 

2.4.2 更改用户的用户组:

usermod g group_name user_name

Linux  用户, 组和权限

 

2.4.3 将用户添加到其它组:

usermod G group_name user_name

Linux  用户, 组和权限

 

[zm@qtlop01 ~]$ useradd 
-bash: /usr/sbin/useradd: Permission denied

 

 

gpasswd命令

功能:管理组
用法:gpasswd[-a user][-d user][-A user,…][-M user,…][-r][-R]groupname
参数:
-a:添加用户到组
-d:从组删除用户
-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

总结   

gpasswd groupname:如系统有个peter账户,该账户本身不是groupname群组的成员,使用newgrp需要输入密码即可
让使用者暂时加入成为该组成员,之后peter建立的文件group也会是groupname。所以该方式可以暂时让peter建立文
件时使用其他的组,而不是peter本身所在的组。
所以使用gpasswd groupname设定密码,就是让知道该群组密码的人可以暂时切换具备groupname群组功能的.

 

 

原创文章,作者:linux-qiao,如若转载,请注明出处:http://www.178linux.com/82150

(0)
linux-qiaolinux-qiao
上一篇 2017-07-22
下一篇 2017-07-22

相关推荐

  • 马哥教育网络班21期+第12周课程练习 ​

    1、请描述一次完整的http请求处理过程;   1)客户端和服务器端建立连接。服务器接收或者拒绝请求。   2)服务器端接收客户端请求。接收来自于网络的请求报文中对某资源的一次请求。对请求的处理响应,可分为单进程(启动一个进程处理请求,一次只处理一个)和多进程(并行启动多个进程,每个进程处理一个请求)。  &…

    Linux干货 2016-10-09
  • 网络组(Network Teaming)

    网络组(Network Teaming) 网络组:是将多个网卡聚合在一起的方法,从而实现容错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现. 多种方式runner     broadcast     roundrobin     …

    Linux干货 2017-03-26
  • N25期第一周作业

    计算机组成及其功能 计算机由硬件和软件组成,硬件是基础,是软件活动的舞台,软件是灵魂,使硬件发挥最大的作用,两者缺一不可。计算机硬件是由物理元器件构成的有形实体,主要是数字逻辑电路。计算机软件是由计算机程序构成的无形的东西,需要存储在有形的硬件(如主存储器、硬盘等)中,可以实现更高层次的逻辑功能。目前大多数计算机是根据冯.诺依曼体系结构的思想来设计的,即具有…

    Linux干货 2016-11-30
  • awk的进阶

    前言 awk的中有很多的控制语句,awk也支持if语句,while语句,for语句等等编程逻辑充的控制语句及数组、函数。 awk的进阶无非就是多练。 1.控制语句 (1)if-else语句 语句格式: if(condition) {statments}    if  (条件) 条件为真 执行{statments} 只有一个语句可…

    Linux干货 2016-06-26
  • linux及其文件系统

       计算机是由CPU、存储设备(内存、硬盘)、I/O设备(键盘、鼠标、显示器)组成。CPU负责进行运算和控制;硬盘和内存负责永久和临时存储数据;Input设备负责输入指令或者数据,output设备负责输出处理过的数据。          Linux的发行版主要有Debian,S…

    Linux干货 2016-09-21
  • shell三剑客之grep

    正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 给定一个正则表达式和另一个字符串,我们可以达到如下的目的: 1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”); 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。 正…

    Linux干货 2016-08-08