LINUX 用户和用户组管理

一.用户管理配置文件

 1.用户信息文件: /etc/passwd

 2.密码文件:/etc/shadow

 3.用户组信息文件 :/etc/group

 4.用户组密码文件: /etc/gshadow

 5.新用户配置文件: /etc/skel

解析用户信息配置文件组成:

    以root用户为例:root:x:0:0:root:/root:/bin/bash

                 account:password:UID:GID:GECOS:directory:shell

         用户名:密码位:用户标识:缺省组位:注释性描述:宿主目录:命令解释

linux用户分为三类:1.超级用户 如root 根本:UID(用户标识)为0的用户则为超级用户

                  2.普通用户 根本UID处于500-60000之间

                  3.伪用户  UID 1-499 注:①伪用户通常不需要或无法登陆系统

                                          ②可以没有宿主目录

用户组: 1.每个用户都至少属于一个用户组

        2.每个用户组可以包括多个用户

        3.同一用户组的用户享有该组的共有的权限


shadow文件的组成:

 以root用户为例:root:$1$9fnDaGgx$U23ANw7mQJgRsPo335L5P.:15944:0:99999:7:::

               登陆名:密码:。。。。。。

注意:删除shadow中用户对应的密码,则用户不需要密码就可以登陆系统。

linux添加用户原理:1.在etc/passwd中添加用户信息  2.在etc/shadow中添加密码信息 3.在/home下新建宿主目录,然后将etc/skel中的文件复制到宿主目录

 

用户配置文件:  /etc/login.defs :用户登陆一些默认信息设置

              /etc/default/useradd: 定义用户登陆的设置。主要是passwd的用户相关信息

              /etc/motd   :终端登陆成功后显示的信息。

             /etc/issue   :终端登陆之前会显示的信息。


Question:为什么普通用户能更改自己的密码

 answer:因为passwd 拥有s权限;-rwsr-xr-x 1 root root 22984 Jan  7  2007 /usr/bin/passwd

 S权限解释为 SETUID,当一个可执行程序具有SetUID权限,用户执行程序时,将以这个程序的所有者执行。然后passwd 拥有着是root 所以 每个人可以更改自己的密码。

 给予 执行文件 SetUID 权限的方法:1.chmod u+s  

                                  2.chmod 4755

查看缺省的命令是 umask

           SetUID 对应的缺省是 4

           SetGID 对应的缺省是 2

注意:不要随便给可执行文件授予 S权限

粘着位 对应的缺省是 1

   作用:如果一个 “目录” 具有粘着位,每个用户都可以在该目录创建文件,但只能删除自己创建文件。

   linux中具有粘着位的文件夹是 /tmp   drwxrwxrwt  14 root root  4096 Aug 30 07:12 tmp

  授予目录粘着位:1.chmod 0+t  

                 2.chmod 1777



用户组配置文件:

      /etc/group 以 sys组为例: sys:x:3:root,bin,adm  

                              组名:组密码为:组表示符:组内用户

  添加组: groupadd 组名

  删除组: groupdel 组名

 


添加用户 : useradd   -D:查看缺省信息

           注:添加用户中若有空格要使用双引号

例: useradd -g webmin -c “maker zhao” jack 添加一个隶属于webmin的jack用户 描述为maker zhao  

          用户改名命令:usermod -l TOMGAO JACK :将jack名改为tomgao

          将用户添加到一个组: ①usermod -G webmin tomgao

                               ②gpasswd -a 用户名 组名

                                         -d :将用户从组中删除

                                         -A :设置组管理员

                                         -r :删除组密码

                                         -R :禁止用户切换为改组

  groups: 查看用户隶属于那个分组

  newgrp:切换用户组

  grpck:用户组配置文件检测

例:jack和mary 对目录 /software 有些权限

   groupadd software -->usermod -G softadm jack ---> gpasswd -a mary softadm --->chgrp softw softadm /software --->chmod g+w /software


修改用户组信息:groupmod -n abc webadmin  修改webadmin的组名为abc


一些用户管理常用的管理命令:

          pwck:检测文件,只能由一个用户编辑

          vipw:编辑/etc/passwd文件

          id :查看用户id和组信息

          finger:查看用户详细信息

          su 切换用户 su - 用户 会切换环境变量

          passwd -s 查看密码状态

          who 查看当前登陆用户信息;w 会显示更详细的用户登陆信息

   


                 

你可能感兴趣的:(linux,配置文件,password,用户名,account)