用户、组与权限

一. 用户、组

用户:资源获取标识符,资源分配,安全权限模型的核心要素之一

密码:来实现用户认证的

注意: linux中依据用户id 来识别用户,而不是用户名

(windows中组名和用户名不可以一样)

(linux 中,组名和用户名可以一样,ID可以可以一样,两者是不同的)

Linux安全上下文

运行中的程序:进程 (process)

以进程发起者的身份运行(而不是进程所有者):

eg:  root: /bin/cat

mage: /bin/cat

进程所能够访问资源的权限取决于进程的运行者的身份

Linux用户类型: Username/UID

管理员: root, 0

普通用户: 1-65535

系统用户: 1-499( CENTOS6) , 1-999 (centos7)(家目录、邮箱不会自动创建)

(对守护进程获取资源进行权限分配, nologin)

登录用户:500( CENTOS6) +, 1000+

使用交互式登录

Linux组: Groupname/GID

一种容器:能够容纳很多用户的容器,可以分配权限 组(group),角色(role)

管理员组: root, 0

普通组:

系统组: 1-499(Centos6), 1-999(centos7)

普通组: 500+(6), 1000+(7)

Linux组的类别:

用户的主要组(主组):

用户必须属于一个且只有一个主组

组名同用户名,且仅包含一个用户:私有组

用户的附加组(辅助组):

一个用户可以属于零个或多个辅助组

( 注意: 一个账号可以属于多个组,但是只能有一个主组primary group,

其他组为辅助组secondary group)

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

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

(普通用户无权限访问和修改)

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

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

(当用于没有设置密码时,密码处会有两个!!,表示不允许登录,如果删除!!,则无密          码直接可以登录,此处是一个安全隐患,5以后的版本已经无法操作)

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

/etc/passwd文件格式详解:

格式(实例):

natasha:x:504:505::/home/natasha:/bin/bash

login name:登录用名( natasha)

passwd:密码 (x)

UID:用户身份编号 (504)

GID:登录默认所在组编号 (504)

GECOS:用户全名或注释 (此处为空白)

home directory:用户主目录 (/home/natasha)

shell:用户默认使用shell (/bin/bash)

/etc/shadow文件格式详解:

格式:lin:$6$gHS24uAlG8TAHbeK$.7EMOA9iS19/CshbmHjeZwlAiCbjKmP8z9VTKbAqWZDihACn

sG7lbFp6LVXDlgvk/tDbIhx9uE7kaVtoVqDc9.:17014:0:99999:7:::

登录用名:lin

用户密码:一般用sha512加密

第一个$后内容代表加密算法

第二个$之后的为杂质

第三个$后的内容为加密后的密码

从1970年1月1日起到密码最近一次被更改的时间

密码再过几天可以被变更( 0表示随时可被变更)

密码再过几天必须被变更( 99999表示永不过期)

密码过期前几天系统提醒用户(默认为一周)

密码过期几天后帐号会被锁定

从1970年1月1日算起,多少天后帐号失效。

/etc/group 文件格式详解:

格式:lin:x:500:

群组名称:就是群组名称

群组密码:通常不需要设定,密码是被记录在/etc/gshadow

GID:就是群组的 ID

以当前组为附加组的用户列表(分隔符为逗号)

/etc/gshadow 文件格式详解:

格式:  admins:!::natasha

群组名称:就是群组名称

群组密码:!  (无密码)

组管理员列表:组管理员的列表,更改组密码和成员

以当前组为附加组的用户列表: (分隔符为逗号)

注意:以上四个文件,介意使用一下命令来修改内容,在退出时可以检测语法错误

vipw = vi /etc/passwd

vigrp = vi /etc/group

pwck/grpck  :用于检测passwd、group两个文件是否有错误

三.用户、组管理命令

1.用户管理

用户添加: useradd [options] LOGIN(仅支持操作单个用户,不可同时操作多个)

-u UID: [UID_MIN, UID_MAX]定义在/etc/login.defs

-o 配合-u 选项,不检查UID的唯一性(可以强行指定ID,即使已经ID相同的用户)

-g GID:指明用户所属基本组,可为组名,也可以GID

-c "COMMENT":用户的注释信息

-d HOME_DIR: 以指定的路径(不存在)为家目录

-s SHELL: 指明用户的默认shell程序

可用列表在/etc/shells文件中

-G GROUP1[,GROUP2,...]:为用户指明附加组,组必须事先存

-N 不创建私用组做主组,使用users组做主组

-r: 创建系统用户 CentOS 6: ID<500, CentOS 7: ID<1000

useradd 默认值设定: /etc/default/useradd文件中

显示或更改默认设置:

useradd -D

useradd –D -s SHEL

/etc/skel/ 详解:

skel:skeleton(框架),用于初始化新用户的根目录,即每当一个新用户被添加,才目录下的全

部文件会原封不动复制到新用户的家目录下

注:

1.如果在新建用户时,没有自动建立用户根目录,则无法调用到此框架目录。

2.如果不想以默认的/etc/skel目录作为框架目录,可以在运行useradd命令时指定新的框架目

录。例如:

sudo useradd -d /home/chen -m -k /etc/my_skel chen

上述命令将新建用户chen,设置用户根目录为/home/chen,并且此目录会自动建立;同时

指定框架目录为/etc/my_skel。

3.如果不想在每次新建用户时,都重新指定新的框架目录,可以通过改/etc/default/useradd

配置文件来改变默认的框架目录,方法如下:

查找SKEL变量的定义,如果此变量的定义已被注释掉,可以取消注释,然后修改其值:

SKEL=/etc/my_skel

/etc/login.defs

login.defs是设置用户帐号限制的文件,在这里我们可配置密码的最大过期天数,密码的最大

长度约束等内容。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,

则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs #

主要内容解释:

MAIL_DIR/var/spool/mail注:创建用户时,要在目录/var/spool/mail中创建一个用户mail

文件;

PASS_MAX_DAYS99999注:用户的密码不过期最多的天数;

PASS_MIN_DAYS0注:密码修改之间最小的天数;

PASS_MIN_LEN5注:密码最小长度;

PASS_WARN_AGE7注:密码过期警告时间

UID_MIN500注:UID 最小值规定

UID_MAX60000注:UID最大值规定

CREATE_HOMEyes注:是否创用户家目录,要求创建;

批量创建用户 newusers passwd(格式文件)

使用方法:1.先创建格式与/etc/passwd文件一直的文件,需要添加的用户及其信息均填入其中

2. newusers 格式文件    即可

注意:此方法生成的用户,需要手动建立对应的家目录

方法: 复制某用户家目录下文件至相应新建家目录即可

批量修改用户口令 chpasswd

(用法与上述一致,文件格式改为/etc/passwd中用户、密码这两部分即可,后面的内容不需

要加入)

用户属性修改  usermod [OPTION] login (只能操作一个用户)

-u UID: 新UID

-g GID: 新基本组

-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加

组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;

-s SHELL:新的默认SHELL;

-c ‘COMMENT‘:新的注释信息;

-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移

动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_name: 新的名字;

-L: lock指定用户,在/etc/shadow 密码栏的增加 !

-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉

-e  YYYY-MM-DD: 指明用户账号过期日期;

-f   INACTIVE: 设定非活动期限;

删除用户 userdel [OPTION]... login(单用户操作)

-r: 删除用户家目录

用户ID信息查询 id [OPTION]... [USER]

-u: UID

-g: GID

-G: Groups

-n: Name

用户切换

su [options...] [-] [user [args...]]

切换用户的方式:

su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录

su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

root su至其他用户无须密码;非root用户切换时需要密码

换个身份执行命令:

su [-] UserName -c ‘COMMAND‘

选项: -l --login:

su -l UserName 相当于 su - UserName

用户密码修改

passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限

passwd: 修改自己的密码;

常用选项:

-l:锁定指定用户

-u:解锁指定用户

-e:强制用户下次登录修改密码

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-i inactivedays:非活动期限;

--stdin:从标准输入接收用户密码;

echo "PASSWORD" | passwd --stdin USERNAME

用户密码策略修改

chage [OPTION]... LOGIN

-d LAST_DAY

-E, --expiredate EXPIRE_DATE

-I, --inactive INACTIVE

-m, --mindays MIN_DAYS

-M, --maxdays MAX_DAYS

-W, --warndays WARN_DAYS

–l,显示密码策略

下一次登录强制重设密码

chage -d 0 tom

chage -m 0 –M 42 –W 14 –I 7 tom

chage -E 2016-09-10 tom

其他快捷命令:

chfn 指定个人信息

chsh 指定shell

finge 需手动添加的命令,默认下未安装,可以查看用户详情

2.组创建组 groupadd [OPTION]... group_name

-g GID: 指明GID号; [GID_MIN, GID_MAX]

-r: 创建系统组;

CentOS 6: ID<500

CentOS 7: ID<1000

修改、删除组

组属性修改: groupmod

groupmod [OPTION]... group

-n group_name: 新名字

-g GID: 新的GID;

组删除: groupdel

groupdel GROUP

组密码修改

组密码: gpasswd

gpasswd [OPTION] GROUP

-a user: 将user添加至指定组中;

-d user: 从指定组中移除用户user

-A user1,user2,...: 设置有管理权限的用户列表

newgrp命令:临时切换基本组;

如果用户本不属于此组,则需要组密码

修改、查看组成员

groupmems [options] [action]

options:

-g, --group groupname 更改为指定组 (只有root)

Actions:

-a, --add username 指定用户加入组

-d, --delete username 从组中删除用户

-p, --purge 从组中清除所有成员

-l, --list 显示组成员列表

groups [OPTION].[USERNAME]... 查看用户所属组列表

时间: 2024-10-06 12:55:30

用户、组与权限的相关文章

Linux用户,组和权限管理

用户,组,权限 一.了解什么是用户,组和权限 1.对于linux系统来说,简单明了的特点就是多用户,多任务,也就是说一台linux系统的主机上面可以同时允许多个用户登录,当通过多个终端登录时可以同时使用这台linux的系统,然而对于linux习题来说,一切皆文件,别人和自己的工作任务都是以文件的形式存在的,不同的用户之间岂不是没有隐私或者安全而言,其实在linux上不是这样的,我们可以理解linux把每一个用户分配一间屋子,没有钥匙即权限我们是进不去浏览以及修改文件的,但是既然是一间屋子,那当然

用户 组 和权限 以及权限的 分类

关于文件的安全我们要从3A验证 说起 1  Authentication:认证 2  Authorization:授权 3  Accouting|Audition:审计 由于系统文件的用户太多为了便于管理 我们便把系统的用户 进行分类 赋予权限 合理地分配资源 所以今天介绍的是 系统用户 用户组 的一些权限的 分配 修改 和文件的 权限修改 和赋权 以及一些特殊权限的用法 用户的分类 管理员:root 0 普通用户:1-65535 系统用户:1-499(CENTOS6) 1-999 对守护进程获

用户,组和权限

一级标题 二级标题 1.Linux的安全模型 资源分派: Authentication:认证,验证用户身份 Authorization:授权,不同的用户设置不同权限 Accouting|Audition:审计 当用户登录成功时,系统会自动分配令牌token,包括:用户标识和组成员等信息 用户 管理员:root, 0 普通用户:1-60000 自动分配 系统用户:1-499 (CentOS 6以前), 1-999 (CentOS 7以后) 对守护进程获取资源进行权限分配 登录用户:500+ (Ce

linux 用户 组 和权限管理

Multi-task  Multi-Users 每个使用者: 用户标识 . 密码: Authentication(认证机制): Authorization  (授权机制): Account / Audition (审计): 组:用户组,用户容器 用户类别: 管理 普通用户 系统用户 登录用户 用户标识: UserIo ,UID 16bits 二进制数字:0-65535 管理员:0 普通用户: 1-65635 系统用户   1-499(Centos6)    1-1000(CentOS7) 登录用

用户、组和权限

在Linux系统中每一个文件都具有"所有者与所属用户组"属性,那么下面我们就来简单介绍一下所有者与所属用户组. 在Linux系统中每一个文件都具有"所有者与所属用户组"属性,那么下面我们就来简单介绍一下所有者与所属用户组. ☆所有者即用户(Username/UID),),用户分为管理员用户和普通用户. 管理员用户: 名称:一般为root                         uid:0 普通用户(uid范围:1-65535): 1. 系统用户:名称可以随便

Linux用户、组和权限的概念

用户.组和权限 安全上下文(Security Context): 1.权限 权限定义的例子: 文件: tom和jerry同时运行/tmp/inittab.new tom(属主) tom(属组) TOM:     ls /tmp/inittab.newJerry:     ls /tmp/inittab.new只会运行Tom,因为进程的属主是Tom 用户的三个主要权限: r,w,x 文件:r:可读,可以使用类似cat等命令查看文件内容:w:可写,可以编辑或删除此文件:x:可执行,eXcutable

Django用户认证系统(三)组与权限

Django的权限系统很简单,它可以赋予users或groups中的users以权限. Django admin后台就使用了该权限系统,不过也可以用到你自己的代码中. User对象具有两个ManyToManyField字段,groups和user_permissions groups = models.ManyToManyField(Group, verbose_name=_('groups'), blank=True, help_text=_('The groups this user bel

linux用户、组和权限——学习笔记

linux用户.组和权限--学习笔记 1.linux用户user 2.linux组group 3.用户和组的配置文件 3.1.Passwd文件格式 3.2.shadow 文件格式 3.3.group文件格式 3.4.gshdow文件格式 4.用户和组管理命令 4.1.用户管理命令 4.2.组帐号维护命令 4.3.用户创建:useradd 4.4.小实验 4.5.用户属性修改 4.6.删除用户 4.7.查看用户相关的ID 信息 4.8.切换用户或以其他用户身份执行命令 4.9.设置密码 4.10.

用户、组和权限:

用户.组和权限    安全3A          资源分派:            Authentication:认证            Authorization:授权            Accouting|Audition:审计                用户user        令牌token,identity        Linux用户:Username/UID        管理员:root , 0        普通用户:1-65535            系统用户

Linux系统用户、组和权限及管理

初学Linux,现将对用户.组和权限及管理做了一些整理,希望大家相互学习! 用户: 即在系统内将有限的资源在多个使用者之间进行分配的一个系统组件: 用户分类:Linux环境中用户一般分为管理员和普通用户: 管理员(root)是系统中的超级用户,被授予对系统资源所有的访问权限,可以对其它其它用户及组进行管理: 普通用户又分为系统用户和登录用户: 系统用户:仅用于运行服务程序,保障系统正常运行: 登录用户:系统资源的正常使用者,访问资源的权限需要Root管理指定: 用户ID(User ID UID)