用户和组命令及相关配置文件


目录

一、创建用户、组和权限相关命令

1、useradd 帐号建立

2、usermod 用户属性更改

3、Passwd

4、userdel

6、chfn.

7、Chsh

8、finger

9、groupadd

10、Groupdel

11、groupmod

12、gpasswd

13、Id

14、groups. 4

二、用户、组相关配置文件

1、/etc/passwd

2、/etc/shadow

3、/etc/group. 5

3.1 /etc/group 内容具体分析

4、/etc/gshadow 解说

一、创建用户、组和权限相关命令

1、useradd 帐号建立

-c<备注>:加上备注文字。描述信息

-d<登入目录>:指定用户主目录;

-e<有效期限>:指定帐号的有效期限;

-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;

-g<群组>:指定用户所属的主组;

-G<群组>:指定用户所属的附加组;

-m:自动建立用户的登入目录;

-M:不要自动建立用户的登入目录;

-n:取消建立以用户名称为名的群组;

-r:建立系统帐号;

-s<shell>:指定用户登入后所使用的shell;

-u<uid>:指定用户id。

-N 不创建私用组做主组,使用users组做主组

-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000

2、usermod 用户属性更改

usermod [OPTION] login

-u UID: 新UID

-g GID: 新基本组

-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加

组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;

-s SHELL:新的默认SHELL;

-c 'COMMENT':新的注释信息;

-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移

动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_name: 新的名字;

-L: lock指定用户,在/etc/shadow 密码栏的增加 !

-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉

-e YYYY-MM-DD: 指明用户账号过期日期;

-f INACTIVE: 设定非活动期限;

3、Passwd

passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限passwd

修改自己的密码;

常用选项:

-l:锁定指定用户

-u:解锁指定用户

-e:强制用户下次登录修改密码

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-i inactivedays:非活动期限;

--stdin:从标准输入接收用户密码;

echo "PASSWORD" | passwd --stdin USERNAME

4、userde  -r: 删除用户家目录;

5、chage

-d LAST_DAY

-E, --expiredate EXPIRE_DATE

-I, --inactive INACTIVE

-m, --mindays MIN_DAYS

-M, --maxdays MAX_DAYS

-W, --warndays WARN_DAYS

–l,显示密码策略

示例:

chage -d 0 tom 下一次登录强制重设密码

chage -m 0 –M 42 –W 14 –I 7 tom

chage  -E 2016-09-10 tom

6、chfn  指定用户信息

7、Chsh    指定shell

8、finger

查找并显示用户信息

-l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,

电子邮件状态,还有计划文件和方案文件内容;

-m:排除查找用户的真实姓名;

-s:列出该用户的帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话;

-p:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,

电子邮件状态,但不显示该用户的计划文件和方案文件内容。

9、groupadd

用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。

-g:指定新建工作组的id;

-r:创建系统工作组,系统工作组的组ID小于500;

-K:覆盖配置文件“/ect/login.defs”;

-o:允许添加组ID号不唯一的工作组。

10、Groupdel

用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍

包括某些用户,则必须先删除这些用户后,方能删除群组。

11、groupmod

更改群组识别码或名称。需要更改群组的识别码或名称时,可用groupmod

指令来完成这项工作。

g<群组识别码>:设置欲使用的群组识别码;

-o:重复使用群组识别码;

-n<新群组名称>:设置欲使用的群组名称。

12、gpasswd

修改组密码管理用户组。

-a:添加用户到组;

-d:从组删除用户;

-A:指定管理员;

-M:指定组成员和-A的用途差不多;

-r:删除密码;

-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

13、Id

显示指定用户或当前用户(当未指定用户时)的用户与组信息。

-g或--group   显示用户所属群组的ID。

-G或--groups   显示用户所属附加群组的ID。

-n或--name    显示用户,所属群组或附加群组的名称。

-r或--real    显示实际ID。

-u或--user    显示用户ID。

-help         显示帮助。

-version      显示版本信息。

14、group    显示用户所在的组

二、用户、组相关配置文件

1、/etc/passwd

在/etc/passwd 中,每一行都表示的是一个用户的信息;一行有7个段位;每个段位用:号分割,比如下面是

我的系统中的/etc/passwd 的两行;

beinan:x:500:500:beinan sun:/home/beinan:/bin/bash

linuxsir:x:505:502:linuxsir open,linuxsir office,13898667715:/home/linuxsir:/bin/bash

beinan:x:500:500:beinan sun:/home/beinan:/bin/bash

linuxsir:x:501:502::/home/linuxsir:/bin/bash

第一字段:用户名(也被称为登录名);在上面的例子中,我们看到这两个用户的用户名分别是 beinan 和linuxsir;

第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;

第三字段:UID ;请参看本文的UID的解说;

第四字段:GID;请参看本文的GID的解说;

第五字段:用户名全称,这是可选的,可以不设置,在beinan这个用户中,用户的全称是beinan sun ;而linuxsir

这个用户是没有设置全称;

第六字段:用户的家目录所在位置;beinan 这个用户是/home/beinan ,而linuxsir 这个用户是/home/linuxsir ;

第七字段:用户所用SHELL 的类型,beinan和linuxsir 都用的是 bash ;所以设置为/bin/bash ;

2、/etc/shadow

/etc/shadow 的内容分析;

/etc/shadow 文件的内容包括9个段位,每个段位之间用:号分割;我们以如下的例子说明;

root:$6$gFokRPqvkR6xYILo$jj96SnqDa8R0MCoDbRRRntFzvPhRIWfiepMsnY3KKf8oKmPKnah0PdQVvTN5clkhn9nDBrlC0widkPHjG7ADp.:16968:0:99999:7:::

linuxsir:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:13072:0:99999:7::13108:

第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中

用的用户记录联系在一起;这个字段是非空的;

第二字段:密码(已被加密)$6 表示加密类型  $gFokRPqvkR6xYILo$表示“盐”

加“盐”后及时两个用户使用相同密码加密后密文也不相同 系统默认“盐”为系统时间。

第三字段:上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来

修改用户的密码,然后查看/etc/shadow中此字段的变化;

第四字段:两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;此项功能用

处不是太大;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义;

第五字段:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默

认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义;

第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添

加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;

第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用

户登录,也不会提示用户过期,是完全禁用;

第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;

第九字段:保留字段,目前为空,以备将来Linux发展之用;如果更为详细的,请用 man shadow来查看帮助,您会得到更为详尽的资料;

3、/etc/group

/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,

因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么

这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件的读写执行权限开放,root用户组的所有用户都可以修改此文件,

如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;用户组的特性在系统管理中为系统管理员提供了极大的方便,

但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限

设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去.

3.1  /etc/group 内容具体分析

/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),

每个用户组一条记录;格式如下:

group_name:passwd:GID:user_list在/etc/group 中的每条记录分四个字段:

第一字段:用户组名称;

第二字段:用户组密码;

第三字段:GID

第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的

用户名;我们举个例子:

root:x:0:root,linuxsir   注:用户组root,x是密码段,表示没有设置密码,GID

是0,root用户组下包括root、linuxsir以及GID为0的其它用户(可以通过/etc/passwd查看);

4、/etc/gshadow 解说

/etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。/etc/gshadow

和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用

户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的

方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码; /etc/gshadow 格式如下,每个用户组独占一行;

groupname:password:admin,admin,...:member,member,...

第一字段:用户组

第二字段:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;

第三字段:用户组管理者这个字段也可为空,如果有多个用户组管理者,用,号分割;

第四字段:组成员,如果有多个成员,用,号分割;

举例:

beinan:!::linuxsir

linuxsir:oUS/q7NH75RhQ::linuxsir

第一字段:这个例子中,有两个用户组beinan用linuxsir

第二字段:用户组的密码,beinan用户组无密码;linuxsir用户组有已经,已经加密;

第三字段:用户组管理者,两者都为空;

第四字段:beinan用户组所拥有的成员是linuxsir ,然后还要对照一下/etc/group和/etc/passwd 查看是否还有其它

用户,一般默认添加的用户,有时同时也会创建用户组和用户名同名称;

转载于:https://blog.51cto.com/lxlxlx/1864816

用户和组命令及相关配置文件相关推荐

  1. linux用户组管理命令_Linux用户和组命令能力问题和解答

    linux用户组管理命令 This section contains Aptitude Questions and Answers on Linux User and Group Commands. ...

  2. linux 删除sysadm用户,linux 用户和组命令整理及详细介绍

    1.列出当前系统上所有已经登录的用户名,注意:同一个用户登录多次,则只显示一次即可. [root@node2 ~]# who root pts/0 2016-10-08 13:28 (10.106.6 ...

  3. linux如何设置账号全民,linux基本练习:用户和组管理的相关练习

    linux用户和组管理命令的相关练习: 1.创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003), 附件组为linux: #groupadd -g 3003 di ...

  4. linux les命令,Linux用户和组命令

    Linux建立用户和组: 每个用户都有一个userID,而非用户名.每个登陆用户拥有一个指定的shell. 用户分为三种:root用户:---ID为0,只要ID为0,就是超级管理员账户,不一定叫roo ...

  5. Linux用户和组命令详解(groupadd、useradd)

    一.用户和用户组 # cat /etc/passwd |head 显示前10条信息,每行信息由':'分割成7段,每段含义为用户名.用户密码.用户标识号.用户组标识号.用户属性.用户的家目录.用户的sh ...

  6. ubuntu18 增加删除用户和组命令

    1,用户命令 创建用户 sudo useradd -m -s /bin/bash user_name #创建用户sudo passwd user_name #设置密码 删除用户 #连同文件目录一起删除 ...

  7. linux用户怎么归纳到组,Linux用户和组命令总结

    一.用户管理相关命令 1.useradd/adduser:创建用户 adduser命令是useradd的连接:file `whereis useradd` (1)useradd[options]LOG ...

  8. hdfs 创建用户和用户组_hadoop四:linux用户和组命令

    保存帐户信息的目录: /etc/passwd 保存帐户密码信息的目录:/etc/shadow 保存组用户信息的目录:/etc/group 保存组用户密码信息的目录:/etc/gshadow 一.用户相 ...

  9. Linux用户与组命令之groupadd

    管理员可以手动创建一个用户组. 上面这个例子GID是系统自动分配的,用户可以自己手动指定一个GID -g 选项可以指定GID -r 选项是创建系统组的 一般用户基本上用不到 转载于:https://b ...

最新文章

  1. [js高手之路] 设计模式系列课程 - DOM迭代器(2)
  2. 【Mybatis】sqlSessionTemplate.getConnection() 遇到 java.sql.SQLException: Connection is closed
  3. nodejs原始连接mysql
  4. 关于单片机大循环结构编程
  5. 服务器启动jupyter
  6. .net学习笔记图片链接20060523
  7. 网络爬虫详细设计方案
  8. 图见-未来 | 创邻科技 Galaxybase免费版发布会回顾
  9. win2008r2 惠普g160鼠标_惠普M260鼠标驱动简单体验
  10. python就业方向有哪些?
  11. 常用基本初等函数的求导公式推导
  12. Cisco交换机与路由器登陆密码破解(保存原配置)
  13. “找不到存储过程’’ … 错误:2812”的解决方法
  14. SkeyeVSS综合安防监控Onvif、RTSP、GB28181视频云无插件直播点播解决方案之子系统微服务集群解决方案
  15. 支持3d android 模拟器,3D太空模拟器
  16. ISCC 2021 SSTI
  17. 清华大学百年校庆给清华大学的一封信
  18. 服务器 文件系统,服务器硬盘文件系统
  19. 【人工智能项目】- 深度学习实现猫狗大战
  20. 绝了!毕业10年年薪百万,今天总结一下我都学了什么!

热门文章

  1. python编程小游戏-python趣味入门——写几个常玩的游戏
  2. signature=4623c3d3408491ef6534d11dfcfda77e,作业批语架起师生情感交流的桥梁
  3. markdown引入代码_人人都会的Markdown
  4. LeetCode Wiggle Subsequence(动态规划)
  5. LeetCode 14. Longest Common Prefix
  6. stl中的list学习笔记
  7. LeetCode Rotate Array(数组的旋转)
  8. Qt设置应用程序图标
  9. 手把手教你使用koa2
  10. JSON 是个什么??!!!