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

用户、组和权限的管理

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

相关推荐

  • 运维的危险命令,用了必死(1)

    Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候。这篇文章并不打算引来你对Linux或linux 命令行的愤怒。我们只是想让你意识到在你运行某些命令时应该三思而后行。(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地。)

    2017-11-16
  • 马哥教育网络班22期第一周课程练习1-未闻花名

    一、cpu架构 计算机体系结构: 运算器、控制器(cpu还包含寄存器)、存储器(内存)、输入设备(键盘、硬盘等)、输出设备(显示器、硬盘等) cpu组成: 核心部件:运算器(加法器)、控制器()、寄存器(由于数据总线复用,为cpu保存现场,过程数据记录)。 辅助部件:一、二、三级缓存:弥合CPU和内存速率不匹配。频率控制器? 地址总线:内存寻址。 数据总线:…

    Linux干货 2016-08-15
  • SSH端口转发

      SSH 会自动加密和解密所有SSH 客户端与服务端之间的网络数据。但是,SSH 还能够将其他TCP 端口的网络数据通过SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”(tunneling),这是因为SSH 为其他TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些TCP 应用均能够…

    2017-09-10
  • 网络中多网卡和多ip中的高可用

    一、虚拟网卡实现一个网卡多个地址 1、单个网卡实现多个ipv4地址,只需要在该网卡的配置文件的目录新增网卡配置文件即可。进入网卡"eth0"的目录下 2、新增网卡配置文件"ifcfg-eth0:0"和"ifcfg-eth0:1" 3、关掉NetworkManager服务 4、重启网卡,让系统重读配置…

    Linux干货 2016-09-10
  • sed的使用和脚本练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#。 cp /etc/rc.d/rc.sysinit /tmp sed -i ‘s/\(^[[:space:]]\)/#\1/g’ /tmp/rc.sysinit 2、复制/boot/grub/grub.conf至/t…

    Linux干货 2017-08-06
  • 通过Nginx来安装一个Discuz

    这次由于时间有限,所以我就没有用编译安装来启动LMP,只有Nginx 是编译安装的 因为是在centos7上面安装的Nginx所以我们这里由于能力有限,暂时不能将其加入开机启动,日后我会进行改进,将其加入开机启动。这里我们给出Nginxd的编译选项及环境   yum groupinstall "Development&…

    Linux干货 2016-10-30

评论列表(1条)

  • N24_Jerry
    N24_Jerry 2016-10-25 09:42

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