centos系统之账号和组管理

用户管理目标:
1、用户账号的作用

2、用户增、删、改、查

3、用户账号的相关数据文件

4、用户组的创建、用户的分组

用户账号的作用:
1、标识用户的身份,让每个用户有私有的文件夹(家目录),未授权时,每个人只能访问自己的文件。

2、每个用户远程管理服务器时,所做的操作,root管理员可查到。

Linux系统中的用户分为3类,即普通用户、窗机管理员用户、系统用户(程序用户)。

一、用户账户的相关数据文件:
1、/etc/passwd
保存用户名称、宿主目录、登录shell等信息,每一行对应一个用户 的账号记录。

用户信息的记录格式:
root:x:0:0:root:/root:/bin/bash

centos系统之账号和组管理

格式说明:以“:”作为分隔符,分隔成多个部分。
1)、用户名
2)、密码:x表示此用户需要用密码登录,如果想免密码登录,用vi修改此文件,将x删除即可
3)、用户的uid号
4)、用户的gid号
5)、用户的备注信息,如果在图形化界面时,是界面的显示名称
6)、用户的家目录(宿主目录)
7)、用户登录的shell环境。

注:
uid用来区分不同用户的数字,表示该用户在本服务器中独一无二
gid用于区分不同用户组的数字,表示该用户组在本服务器中独一无二

uid和gid的联系:
在Linux下每个用户都至少属于一个组,也可以同时属于多个组。

**2、/etc/shadow **
保存用户的密码信息,只有root用户能读取。

用户的密码信息的记录格式:
root:$6$sNuBDGdoaIg9XXqq$j8THbca1kORqH85JL4o4qV5Rbbnw8TPZGsubkH9iR8cQZOBJ×××7AqnrZPX.Vk81y5IvOw.hZifvQThQvVX7h1::0:99999:7:::

centos系统之账号和组管理

格式说明:以“:”作为分隔符,分隔成多个部分。
1)、用户名
2)、加密后的密码
3)、最后密码修改的时间
4)、允许修改密码最小间隔时间
5)、允许修改密码最大间隔时间
6)、密码过期警告时间
7)、密码的宽限时间
8)、密码的失效时间,99999代表永不过期
9)、保留,暂时没有具体功能

二、用户账号的增、删、改,以及密码设置。
1、增(add):useradd
格式:useradd [选项] 用户名
常用选项:
-u:指定UID号
-d:指定宿主目录,缺省(默认)为/home/用户名
-e:指定账号失效时间
-g:指定所属的基本组(后面跟组名或GID)
-G:指定所属的附加组(后面跟组名或GID)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录shell(默认为/bin/bash,一般不用改,在建立非登录用户的时候可以指定为/sbin/nologin)

注: 注:这些选项都能分开用,不冲突的可以在建立用户的时候连着用。

例子:
添加用户stu01,指定UID为520,宿主目录为/opt/stu04,指定基本组为root(注:系统中本身就存在users这个组GID为100),附加组为tech:

useradd -u 520 -d /opt/stu04 -g users-G root stu01

2、删除(del):userdel
格式:userdel -r 用户名
添加-r选项,宿主目录/用户邮件也一并删除。

**3、改(modify):usermod**
    主要是对已存在的用户的属性进行更改,可以增加用户成员的所属附加组。
    格式:usermod    [选项](选项可以有多个)  用户名 
常用的选项:
    -l :更改用户账号的登录名称
    -L :锁定用户账户(注:用usermod –L锁定一个账户的时候可以用passwd–u直接解锁,但是用passwd –l锁定的账户,用usermod–U解锁的时间,需要解锁两次,因为,passwd –l锁定的账户密码前面有两个!)
    -U :解锁用户账户
    -u、-d、-e、-g、-G、-s :与useradd相同

4、密码设置:passwd
为用户添加密码
格式:passwd [选项] 用户名
常用选项:
-d :清空用户的密码,使之无需密码即可登录
-l :锁定用户账号
-S :查看用户账号的状态(是否被锁定)
-u :解锁用户账号

    • stdin:标准输入(比如管道)取密码
      centos系统之账号和组管理
      注:删除密码用passwd –d 而不能用echo “” | passwd - -stdin 用户名

    5、针对用户的密码进行设定——chage
    格式:chage [选项] 用户名
    常用选项:
    -l :列出密码有效信息
    -d:设置最近一次修改密码的时间(后面跟的是时间)
    -E:设置账号什么时候过期(后面跟的是时间)
    -m:设置密码最小使用天数 (后面跟的是天数)
    -M:设置密码最大使用天数(后面跟的是天数)
    -I:设置密码过期后,再过几天不改密码,到期将失效(后面跟的是天数)
    -W:设置过期前几天警告改密码(后面跟的是天数)

三、用户组
用户组分为基本组(私有组)和附加组(公共组)

**1、用户组的相关数据文件——/etc/group**

组信息的记录格式:
bin:x:1:

centos系统之账号和组管理

格式:  组名:组密码:组gid号:组成员

**2、用户组的相关密码信息文件——cat /etc/gshadow**

**3、组的增(add)——groupadd**
格式:groupadd   [选项]   组名

常用选项:
    -g :指定gid号

4、组的删(del)——groupdel
格式:groupdel [选项] 组名

**5、组密码设置——gpasswd**
 可以实现给组设置密码、添加和删除成员、设置组管理员
格式:gpasswd   [选项]   组名

常用的选项:
    -a:向某个组里添加一个用户
    例子:gpasswd  -a  lq  test    #在test组中添加lq用户。

    -A:给某个组设置管理员
    例子:gpasswd   -A  lq,li   test   #给test设置2个管理员

    -d:从某个组删除用户   
    例子:gpasswd   -d   lq   test   #从test组中删除lq用户

    -M:给某个组重新设置成员名单,会替换原名单
    例子:gpasswd  -M  lq,li,zhang    test   # 给root组重新设置成员名单lq、li、zhang,会替换原名单

四、查询用户账号和用户组
1、id

查看该账户的用户名及用户所属组等信息
格式:id 用户名
centos系统之账号和组管理

2、groups
查看用户所属组
格式: groups 用户名
centos系统之账号和组管理

注:“:”左边是基本组,右边是附加组。

3、finger

查看用户的详细信息
格式:finger    用户名

centos系统之账号和组管理
注:默认没有安装finger工具
可以从上图看到root的详细信息。

4、w(who)
查询已登录主机的用户信息。
centos系统之账号和组管理

五、创建用户的文件默认参数。
1、用户和组的策略配置文件——/etc/login.defs
文件内容详解:
MAIL_DIR /var/spool/mail 用户邮件的主目录

PASS_MAX_DAYS 99999 密码的最大修改间隔时间

PASS_MIN_DAYS 0 密码的最小修改间隔时间

PASS_MIN_LEN 5 密码的最小长度

PASS_WARN_AGE 7 密码过期的警告时间

UID_MIN 1000 普通用户uid的最小值

UID_MAX 60000 普通用户uid的最大值

SYS_UID_MIN 201 系统用户uid的最小值(用useradd -r 创建的是系统用户)

SYS_UID_MAX 999 系统用户uid的最大值

注:Linux用户账号分为管理员(root)、普通用户(1000~60000)、系统用户(201~999)。而uid从1~200为保留号。

GID_MIN 1000 普通组的gid最小值

GID_MAX 60000 普通组的gid最大值

SYS_GID_MIN 201 系统组的gid最小值

SYS_GID_MAX 999 系统组的gid最大值

CREATE_HOME yes 启用创建用户家目录

UMASK 077 普通用户的权限掩码,实际umask值为022。

USERGROUPS_ENAB yes 允许删除用户的同时删除用户的组,前提是组中没有成员存在

ENCRYPT_METHOD SHA512 指定密码加密算法为SHA512算法。
centos系统之账号和组管理

2、创建新用户的默认设置文件—— /etc/default/useradd
#useradd defaults file
GROUP=100 //只有当用useradd -N lucy 创建用户时未创建同名的组时,这个新用户才会在100组中HOME=/home 用户家目录的基目录(小区)

INACTIVE=-1 // 密码永远不失效(不禁用)

EXPIRE= //密码的过期时间,默认为空

SHELL=/bin/bash //指定新建用户的shell为/bin/bash

SKEL=/etc/skel //新建用户的宿主目录模板为/etc/skel

CREATE_MAIL_SPOOL=yes //是否创建用户的邮件文件

在新建一个用户的时候,宿主目录里面的内容就是将skel拷贝过去,然后放到/home目录下并改名为新建的用户名
centos系统之账号和组管理

3、全局配置文件~/.bash_profile、~/.bashrc和~/.bash_logout
注:可以在用户的宿主目录下使用ls -a查看。
~/.bash_profile:每次登录时执行(开机启动,但只有在开机启动时启动一次)
~/.bashrc :每次进入新的Bash环境时执行(开机启动,优先执行,范围更广)
~/.bash_logout:每次退出登录时执行(关机、退出执行)
以上都是只会影响自己。

要想影响所有用户,在以下文件中配置:
/etc/profile
/etc/bashrc

转载于:https://blog.51cto.com/13496696/2341300

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值