浅谈用户和组相关配置文件

用户、组和权限的管理

Linux如何像Windows系统那样,可以不输入密码直接进入图形界面?那么如何如何自动登录图形界面呢?这就要用到编辑配置文件:

nano  /etc/gdm/custom.cof  ,在里面加上  

automaticLoginEnable=true

automaticLogin=root

退出之后重启系统会自动登录图形界面

上述的操作不可能自发的进行下去,还需要靠用户来进行操作。用户也就是user:拥有tokenidentity等权限令牌。Linux用户身份的识别,即为用户(username)的id号,用UID来表示;系统的管理员默认为:rootID=0;但是ID=0就一定是管理员,而root并不一定是管理员,系统给予管理员的定义是ID=0(也就是一个看身份证来判别,而不是看脸识别)。至于普通用户的UID1-65535

    在默认情况下系统用户UID1-499CentOS6);1-999CentOS7);这些ID是给系统中的一些进程,程序来使用的 ,对守护进程获取资源进行权限分配。

而普通的登录用户UID500+CentOS6),1000+CentOS7

group:组也有自己的id,即所谓的groupname/GID,组中的用户可以继承组的权限(加入组织,对里面的统一授权,获取执行或者其他权限)

    注意: Windows不允许组和用户重名,linux可以

每个用户在创建的时候必然有一个组,这个组就是主组,并且只有一个(和windows一样),而在主组中又有给组分配的id

  管理员组GIDroot0

    系统组GID1-4991-999  普通组:500+1000+

Linux组的类别

   用户的主组:有且仅有一个,若组名同用户名,且只包含一个用户则是私有组

   用户的附加组(辅助组):一个用户可以属于0或多个辅助组(身兼数职)

   命令:getent  group  查看用户组的信息 getent passwd USER只看用户信息

      getent gshadow 查看用户组的密码信息

Linux 用户和组的主要配置文件:

  /etc/passwd(文本文件):用户及其属性信息(名称、UID主组ID

 cat /etc/passwd

浅谈用户和组相关配置文件

上面的root:x:0:0:,mage,110,119:/root:/bin/bash,分别对应下面的:

    用户帐号名称:密码:UID:主组GID:描述信息(用chfn可以修改描述信息,finger可以看描述信息):家目录:shell类型(chsh –s /bin/csh 用户名,可以该用户的shellcsh  ,也可改为系统账号nologin

注意:若把其中用户ID改为0root改成其他,那这个用户就成为管理员,但是没有管理员的话系统就无法启动了(没有用户ID0

插入查帮助的命令:比如说查passwd ,用man就要知道查帮助的章节,而用whatis  passwd可以查passwd的章节,在用man就可以查到passwd的相关信息。

  /etc/group:组及其属性信息

cat /etc/group

浅谈用户和组相关配置文件

上面的bin:x:1:bin,daemon,gentoo,分别对应下面的:

用户的主组名:主组的密码:主组的GID号:附加组的所有成员(可以用      groupmems  -l  -g  GROUPNAME,来查看组的其他成员;groups USERNAME 查询用户属于什么附加组;id USERNAME也可以查看用户的ID信息)

   /etc/shadow:用户密码及其相关属性

cat /etc/shadow

浅谈用户和组相关配置文件

上面的natasha:$6$pCnil/79r2d/$wm8vNDPbg2.FKXepRjvgKvEy7JKJJeCsY9uHxuC/QvPa6p4Bj9f/rhkEUGsmlltsKpQnMlVANt8sE2SU25auN.:17096:0:99999:7:::,分别对应下面的:

      用户的帐号名称:用户密码:最近更改密码的日期:密码不可被更改的天数:密码的使用期限:密码需要更改期限前的警告天数:密码过期后的宽限天数:帐号失效日期:保留用以更新的。可以把下图作为参考

浅谈用户和组相关配置文件

注意:后面关于密码的天数都是相对于最近更改密码的日期,密码是乱码,$6表示sha512加密算法  $1表示md5加密算法已经被破解了 $5表示sha256的加密算法,因为加盐了,所以即便是相同的密码也显示密码项的乱码不同。

其中的!!表示禁止登录(可以用usermod –U USERNAME来解锁,去掉!,默认为!!,如果只有一个!,可能用户误打误撞的解锁了;usermod –L USERNAME来锁定用户)

  /etc/gshadow:组密码及其相关属性

cat /etc/gshadow

浅谈用户和组相关配置文件

上面的admins:!::natasha,harry分别对应下面的:

    用户组的名称:用户组密码:用户主组GID:辅助组

命令:pwunconv:密码不转换,早期可以看到用户密码的加密乱码状态

        Pwconv:密码转换,以x的方式显现

cat /etc/default/useradd 

浅谈用户和组相关配置文件

可以显现默认家目录;默认口令有效期;过期后口令的宽限期;默认的shell类型;默认创建邮箱(邮箱是一个文本文件);默认skel,创建用户时默认家目录下创建的文件是从/etc/skel 下拷贝过来的)

注意:有复制/etc/skel 下的所有配置文件的话不能用 cp  -r /etc/skel/.* .  (因为.*包含..这样的结果就会是把/etc/下的所有文件都复制过来了,所以要用cp  -r /etc/skel/.[^.]* .复制。

用户和组的管理命令

   useradd adduser的指向文件(链接文件) 【选项】 用户帐号名

-u:指定UID 可以为0 ,也可拥有root权限,登录拿着管理员的令牌(ID=0),只要没注销就有root权限 

-s :后接shell的实际文件,如/bin/bash ;/bin/csh ,改变shell类型 

-c:描述信息,用双引号,可用finger USERNAME查看描述信息。

-g group1:把新增用户加入group1组,这个group1也就成了用户的主组

-d dir1 E :把新增用户的家目录指定在dir1(原不存在的)中;

-G GROUP1,GROUP2…:用户加入到自己的辅助组GROUP1,GROUP2…

给服务用一般用useradd –s /sbin/nologin (默认不登陆) –r(给服务的系统帐号)服务名

   usermod 【选项】 用户帐号名

-u #:更改用户UID#

-g group1:把新增用户加入group1组,这个group1也就成了用户的主组

-G GROUP1:更改辅助组为GROUP1  -aG GROUP2:增加一个辅助组  -G “”:清空家目录

-d dir1 –m:把用户家目录指定为dir1(原不存在),并把家目录里的数据一同复制到dir1

-l NEWNAME OLDNAME:仅更改为新名字;

-L:锁定用户,在/etc/shadow密码栏增加! -U:解锁用户,把/etc/shadow密码栏!拿掉;

   userdel不删除用户的家目录和邮箱

-r:删除用户的家目录和邮箱

组帐号维护命令

   groupadd

-g GID:指定用户的组ID   -r:创建系统组<500

   groupmod

-n GROUPNAME:改新名字  -g GID:指定新的GID

   groupdel  删除组

简单应用:由于系统更新需要把用户帐号迁移到一个新的主机,如何批量创建帐号?

如从67 :只要是/etc/passwd的文件格式定义,就只需使用newuser user.txt来创建,但是创建的user.txt 中用户的密码是随机生成的,需要自己修改;批量修改口令nano  p.txt 编辑对应 |(管道)chpasswd  这样批量改密码,这样也就自己创建了家目录,但是没有/etc/skel拷贝过来的配置文件,需要自己配置。

   su切换账户的方式:

    su USERNAME:非登录式交换,即不会读取目标用户的配置文件,不改变当前工作目录;  su – USERNAME:登录式交换,会读取用户的配置文件,切换至家目录,完全切换。

  passwd修改自己的密码

-l:锁定用户  -u解锁用户  -e强制用户下次登录修改密码;

  newgrp GROUP1临时切换主组GROUP1,但是创建的文件的主组是GROUP1,即使是登出后,登出后恢复主组。如果用户本不属于此组,则需要密码(口令为空直接不能进去)

  gpasswd

-a User GROUP:将User添加到指定组中

-d User GROUP:将User从指定组中删除

-A User1User2…设置有管理权限的用户列表

其它命令

  chage 【选项】帐号名; 可以更改/etc/shadow的最长时间,最短时间,警告时间的选项

   -l:列出帐号的详细密码参数

   -d:最近一次更改密码的时间 ,格式 YYYY-MM-DD  

-m:密码的最短保留天数

   -M:密码的最长使用天数

  -W:密码过期前的警告天数

  -I(大ai):密码的失效日期

  -E:账户失效日期 ,格式 YYYY-MM-DD

  vigr =vi  /etc/group,修改组的相关属性

  vipw=vi  /etc/passwd,修改用户的相关属性

  pwck:检查用户的相关属性是否有问题

  grpck:检查组的相关属性是否有问题

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

(0)
lyxlyx
上一篇 2016-10-23
下一篇 2016-10-23

相关推荐

  • CentOS 6的开机流程及root密码破解

    一、CentOS 6的开机流程详解 启动流程详解 1、POST:    Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘、CD-ROM光驱等硬件情况的检测。 2、BootSequence(BIOS):    决定那个磁盘…

    Linux干货 2016-09-13
  • 考试题目

    1、  简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。 TCP三次握手,四次断开通过以下图示说明: 2、说说进程和线程的区别 (1)一个线程只能输入某一个进程,一个进程可以有多个线程。一个程序至少有一个进程,一个进程至少有一个线程。 (2)进程有独立的地址空间,线程没有独立的地址空间,进程内的多个线程共享进程的地址空间。 (3)线…

    Linux干货 2016-06-19
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本 能接受四个参数:start、stop、restart、status start:输出“starting脚本名finished.” restart:输出“restarting脚本名finished.” stop:输出“stoping脚本名finished.” status:输出“status脚本名finished.” 其他…

    Linux干货 2017-09-04
  • M22 wireshark使用方法简介

    wireshark是一款著名的开源抓包软件,它可以抓取网卡的数据包,以供网络管理员分析。 一 安装方法 debain系安装方法: sudo add-apt-repository ppa:wireshark-dev/stable sudo apt update sudo apt install wireshark 启动wireshark: sudo wires…

    2017-03-20
  • php-fpm实验

    #yum install marisdb-server #vim /etc/my.cnf.d/server.cnf [mysqld]         skip_name_resolve=ON         innodb_file_per_…

    Linux干货 2017-06-08
  • 第三周作业

    1、列出当前系统上所有已登陆的用户名:          [root@yangjifeng~]# who | cut -d ‘ ‘ -f 1 | sort -u     root 2、取出最后登陆到当前系统的用户信息; &nb…

    Linux干货 2017-08-28

评论列表(1条)

  • N24_Jerry
    N24_Jerry 2016-10-25 09:42

    师哥写的不错,师弟佩服得五体投地