Linux 是一个多用户多任务的分是操作系统,用户是实现操作系统资源分配,同时也是安全权限模型的核

心要素之一;用户组是一个容纳很多用户的容器,可以分配权限组,进一步优化了权限分配。

一、用户管理

  用户管理主要了解用户相关的系统配置文件以及用户创建、删除等操作。用户分为三种,

系统管理员root(权限最高),系统用户(主要为系统默认运行部分进程而设定的用户),普通用户。

1、用户配置文件/etc/passwd是系统识别用户的一个文件,系统所有的用户都记录在此文件。

/etc/passwd 文件中,每一行代表一个用户的信息,分别有7个字段,使用分隔符 : 分割,每个字段各有含义,如下图所示:

标注:管理员用户root标识号默认是 0 , 系统用户标识号默认 1-499 ,普通用户标识号默认500-65535。

2、用户密码配置文件/etc/shadow是系统标识用户密码相关的一个文件,与用户配置文件/etc/passwd 相对应,

记录着用户密码等相关记录。/etc/shadow文件中,每一行代表一个用户的密码相关信息,分别9个字段,使用分隔符 :分割,每个字段各有含义,如下图所示:

标注:用户加密方式一般采用单向加密方式,以redhat linux  6.5 为例子,用户加密一般采用安全的哈希算法 512bit (SHA515)进行加密。

3、用户操作

useradd    创建用户

标注:用户必须是第一次创建用户,如果已存在的用户则部分命令参数无效

useradd  username                     #创建用户

useradd  -c  "This is test user" username            #创建用户并填写用户注释信息

useradd  -M  username                                       #创建用户但不创建家目录

useradd  -d  /home/hello t username         #创建用户并指定用户家目录

useradd  -g  509 username                  #指定用户组,替换原来的用户组,但用户组事先存在

useradd  –G  509  username           #指定用户组,不替换原来的用户组,但用户要事先存在

useradd  -s  /bin/tcsh  username                 #指定用户默认shell

useradd  -M  username                                       #创建用户,但指定用户没有家目录

passwd   设置用户认证信息,包括用户密码、密码过期时间等

passwd  username                                          #修改用户密码

passwd  -d username                                     #删除密码,仅root用户使用

passwd  -l  username                                     #锁住用户密码,功能类似usermod –L

passwd  -u  username                                    #解开已上锁的用户,功能类似 usermod –U

passwd  -S   username                                   #查看用户密码状态及创建时间,仅root用户使用

userdel   删除用户

userdel  username                                         #只删除用户,不删除其家目录

userdel  -r  username                                     #删除用户和用户家目录

usermod   修改用户基本信息

usermod -c "This is test user"  username         #修改用户注释信息

usermod - d  /home/testfile  username             #修改用户默认家目录

usermod  –f  100  username              #修改用户用户失效宽限期,即密码过期后多少天即关闭账号

usermod  –e  100  username            #修改用户失效期限

usermod  –g  usergroup  username             #修改用户所属的群组,替换原来的用户基本组

usermod  -a  –G  usergroup  username        #修改用户所属的附加群组,不替换原来的用户基本组

usermod  -l  changename  username          #修改用户账号名称

usermod  –L  username                #锁定用户,使其密码无效

usermod  –U  username               #解锁用户

usermod  –u  username                     #修改用户ID

usermod  –s  username                 #修改用户默认shell

二、用户组管理

用户组主要了解用户组相关的系统配置文件以及用户组创建、删除等操作。创建用户默认用户标识号与用户组标识号是一致的,可以通过命令进行修改。

1、用户组系统配置文件 /etc/group 是标识系统用户组的一个文件,记录了用户组相关信息。

/etc/group文件中,每一行代表一个用户组信息,分别4个字段,使用分隔符 :进行分割,每个字段各有含义,如下图所示:

2、用户组密码系统配置文件 /etc/gshadow 是标识系统用户组密码相关的一个文件,与用户组配置文件/etc/group 相对应,

记录了用户组密码相关信息。/etc/gshadow文件中,每一行代表一个用户组密码相关信息,分别4个字段,使用分隔符 :进行分割,每个字段各有含义,如下图所示:

3、用户组操作

groupadd    创建用户组

标注:用户组必须是第一次创建用户组,如果已存在的用户组则部分命令参数无效

groupadd  groupname                     #创建用户组

groupadd  -g  1000   groupname         #创建用户组并指定用户组ID

groupadd  -r   groupname                #自动创建为系统用户组ID小于于500

gpasswd    用户组配置文件/etc/group和/etc/gshadow 管理工具

gpasswd  groupname                          #设置用户组密码

gpasswd  -a  username  groupname          #添加用户组,但不改变用户基本组

gpasswd  -d  username  groupname          #删除用户组,只能删除用户的附加组

gpasswd  -A  username  groupname          #添加组管理员,/etc/gshadow可查询

gpasswd  -r  groupname                       #删除用户组密码

gpasswd  -R  groupname                     #限制用户登录组,只有组中成员才可以使用newgrp加入该组

groupdel    删除用户组

groupdel  groupname                #删除用户组

groupmod   修改用户组ID号或名称

groupmod   -g   700   groupname              #修改用户组ID号为700

groupmod   -n   newname  groupname         #修改用户组名称

Linux 用户与用户组管理的更多相关文章

  1. Linux 用户和用户组管理

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  2. 八、Linux 用户和用户组管理

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  3. linux用户和用户组管理详解

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  4. Linux 用户和用户组管理(useradd userdel groupadd groupdel)

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. Linux系统用户账户的 ...

  5. Linux用户和用户组管理总结

    Linux下和用户和用户组管理有关的配置文件: /etc/group Group account information. /etc/gshadow Secure group account info ...

  6. Linux 笔记 - 第五章 Linux 用户与用户组管理

    博客地址:http://www.moonxy.com Linux 是一个多用户的操作系统,在日常的使用中,从安全角度考虑,应该尽量避免直接使用 root 用户登录,而使用普通用户. 1. 关于用户 u ...

  7. Linux系列教程(十五)——Linux用户和用户组管理之用户管理命令

    上篇博客我们介绍了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow:然后介绍了用户组信息文件/etc/group,用户组密码文件/etc/gshado ...

  8. Linux用户及用户组管理

    Linux是个优秀的多用户多任务操作系统. 掌握Linux的用户/用户组管理是基本及必备技能之一. 简单做下总结. 无论采用图形界面的用户管理设置,还是终端的管理方式,最终目的都是对系统的用户/用户组 ...

  9. Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件

    前面我们介绍了软件包管理.首先介绍了rpm包的相关命令,但是我们发现直接安装rpm包会被其依赖性折磨的不行,然后解决办法是yum在线管理,通过yum命令安装rpm包能自动帮助我们解决依赖性.最后又介绍 ...

  10. Linux用户和用户组管理

    该内容来摘自于鸟叔的Linux私房菜. Linux的每个用户包含两个ID,一个是用户ID,一个是用户组ID.系统会根据/etc/passwd和/etc/group的设定来决定用户的访问权限.下面对用户 ...

随机推荐

  1. CentOS下使用crontab+mysqldump实现定时自动备份数据库

    一 : 为什么要进行数据库的备份? 最主要的原因:尽可能地减少损失,包括时间上.精神上和金钱上的损失.很多人都不注意备份数据,以致在发生问题后丢失大量的重要数据.要知道,在地球上网是很危险的,即使做好 ...

  2. SpringBoot启动和停止脚步

    1.start.sh # start.sh 启动项目 #!/bin/sh file="/123/springcloud/admin.jar" if [ -f "$file ...

  3. c++11并发机制

    传统意义上OS提供的并发机制包含进程和线程两个级别.考虑到实际复杂性,c++11仅提供了线程并发机制. c++11提供的线程并发机制主要位于四个头文件中:..... 线程并发机制包括线程管理.原子操作 ...

  4. Lintcode: Minimum Subarray 解题报告

    Minimum Subarray 原题链接: http://lintcode.com/zh-cn/problem/minimum-subarray/# Given an array of intege ...

  5. 4. Stacked AutoEncoder(堆栈自动编码器)

    1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...

  6. 2. AutoEncoder在NLP中的应用

    1. AutoEncoder介绍 2. Applications of AutoEncoder in NLP 3. Recursive Autoencoder(递归自动编码器) 4. Stacked ...

  7. python seaborn 画图

    python seaborn 画图 59888745@qq.com 2017.08.02 distplot( )  kdeplot( ) distplot( )为hist加强版, kdeplot( ) ...

  8. Android 好用和常用的控件

    好用的库  https://github.com/daimajia/AndroidSwipeLayout  拖动删除      https://github.com/bingoogolapple/BG ...

  9. Oracle 报错:PLS-00201: 必须声明标识符

    原因:调用其他用户的包或存储过程. 解决方法:在被调用的包或存储过程的用户下授权执行权限给调用用户: grant execute on 包名 to 用户名;

  10. JS自动关闭授权弹窗,并刷新父页面

    echo "<script>window.opener.location.href='index.php'; window.close();</script>&quo ...