一、用户管理

1、为什么需要用户

1)计算机及网络资源的合理分配  2)可以控制用户访问系统的权限。3)身份认证 4) 进程 以某个用户的身份来运行

2、用户分类

用户的角色是通过UID(用户ID)来识别的,而不是用户名

Linux系统三大类用户:root用户、系统用户、普通用户

    1)root用户

root用户UID为0,权限最高的

    2)系统用户

又成虚拟用户、伪用户或假用户,不具有登录Linux系统的能力,但却是系统运行不可缺少的用户

CentOS6:1~499

CentOS7:1~999

    3)普通用户

能登录Linux系统,使用的权限有限,由管理员创建

CentOS6:500~65535

CentOS7:1000~65535

3、用户授权

某个用户对某一个文件或者是某一个文件夹的操作权限,为授权(authorization)

4、组

将多个用户与权限建立关联关系的容器,一次给文件设置权限

管理组、普通组

基本组、附加组

5、管理用户和组

常用命令:useradd,passwd,userdel,usermod,groupadd,gpasswd,groupdel,groupmod

1) useradd命令

useradd [-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-m [-k skeleton_dir] | -M] [-s shell]
[-u uid [ -o]] [-n] [-r] login

(-c:指定描述信息,-d:指定家目录,-e:帐 号 终 止 日 期,-f:非活动时间,-g:基本组,-G:附加组,-s:指定的shell,-u:指定uid

[root@localhost software]# useradd -u 501 user1

user1:x:501:501::/home/user1:/bin/bash

即:用户名:密码:用户UID:基本组ID:用户描述信息:用户家目录:bash

(注意:创建用户时,如果没有指定基本组,则会自动创建一个与用户名同名的组)

2)passwd命令

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

用法:

passwd: 修改自己的密码

passwd username 修改指定用户的密码

[root@localhost ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:
重新输入新的 密码:

参数:

--stdin :可以通过来自前一个管道的数据,作为密码输入

-l   :lock的意思,会将/etc/shadow第二列最前面加上!使密码失效

-u   :与-l相对,是Unlock的意思

-S   :列出密码相关参数,即shadow文件内的大部分信息

-n   :后面接天数,shadow的第4字段,多久不可修改密码

-x   :后面接天数,shadow的第5字段,多久内必须要改动密码

-w   :后面接天数,shadow的第6字段,密码过期前的警告天数

-i   :后面接“日期”,shaodow的第7字段,密码失效日期

[root@localhost ~]# echo "yubing" | passwd --stdin yubing
更改用户 yubing 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

[root@localhost ~]# passwd -S yubing
yubing PS 2015-12-31 0 99999 7 -1 (密码已设置,使用 SHA512 加密。)

[root@localhost ~]# passwd -l yubing 锁用户

3)usermod 修改用户属性

-a|--append  ##把用户追加到某些组中,仅与-G选项一起使用 -c|--comment ##修改/etc/passwd文件第五段comment -d|--home    ##修改用户的家目录通常和-m选项一起使用 -e|--expiredate  ##指定用户帐号禁用的日期,格式YY-MM-DD -f|--inactive    ##用户密码过期多少天后采用就禁用该帐号,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1 -g|--gid     ##修改用户的gid,改组一定存在-G|--groups  ##把用户追加到某些组中,仅与-a选项一起使用 -l|--login   ##修改用户的登录名称 -L|--lock    ##锁定用户的密码 -m|--move-home   ##修改用户的家目录通常和-d选项一起使用 -s|--shell   ##修改用户的shell -u|--uid     ##修改用户的uid,该uid必须唯一 -U|--unlock  ##解锁用户的密码

案例:

  • 新建用户user02,指定密码为:12345,创建user的组

[root@localhost ~]# useradd user02
[root@localhost ~]# echo "123456" | passwd --stdin user02
更改用户 user02 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost ~]# groupadd user

  • 把user02用户加到user组中

[root@localhost ~]# usermod -aG user user02 #多个组之间用空格隔开
[root@localhost ~]# id
uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

  • 修改user02用户的家目录

[root@localhost ~]#usermod -d /test/user02

  • 修改用户名

[root@localhost ~]#usermod -l userchain user02

[root@localhost ~]# id userchain
uid=503(userchain) gid=503(user02) 组=503(user02),504(user)

  • 指定账号的过期日期

[root@localhost ~]# usermod -e “2016-08-11” userchain

  • 指定用户帐号密码过期多少天后,禁用该帐号

[root@localhost ~]#usermod -f 0 userchain

(注意:usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序)

4)userdel 删除命令

语法
userdel [-r] login

描述
userdel 命 令 修 改 系 统 帐 号 档删 除 所 有 login 会 参 考 的 部 份 。使 用 者 名 称 必 须是 存 在 的 。

-r 使 用 者 目 录 下 的 档 案 一 并 移 除 。 在 其 他 位 置 上 的 档案 也 将 一 一 找 出 并 删 除 。

[root@localhost ~]# userdel -r userchain
[root@localhost ~]# id userchain
id: userchain:无此用户
4)groupadd 组创建命令

-g GID 指定gid号

[root@localhost ~]# groupadd mygrp2
[root@localhost ~]# tail /etc/group
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
slocate:x:21:
user1:x:501:
yubing:x:502:
user02:x:503:
user:x:504:
mygrp2:x:505:
5)groupdel 删除组

[root@localhost ~]# groupdel mygrp2

二、用户权限

1、用户权限主要包括:r w

针对文件: r: 可使用查看工具查看内容(cat,vi) w: 可编辑其内容  x: 将此文件向内核提请启动为进程

针对目录: r:可以使用ls命令列出其内部所有文件及子目录的相关信息

w: 在此目录内创建及删除文件

x:可以cd进此目录,可以切换进此目录,使用ls -l查看目录及子文件的所有权限信息

2、用户启动某进程访问某文件资源,权限匹配机制

1)首先查看此进程的属主,与被访问的文件的属主是否为同一个用户,如果是,则以被访问的属主的身份去运行该文件,从而应用的权限为属主的权限

例如:在系统上,以root用户的身份运行ls命令,查看/etc/fstab文件,而这个被访问的文件的属主为root,此时判定位同一个用户

2)如果不是,要查看运行进程用户,是不是属于被访问文件的属组,如果是,则应用组权限,如果不是,即应用其他权限

linux用户、组管理及权限(一)的更多相关文章

  1. Linux的组管理和权限管理

    前言 前面的文章中提到:Linux在管理用户权限时,既是面向用户的,又是面向组的,通过管理用户的权限规定了其对所拥有的文件的权限(读.改.执行),通过管理组的权限而规定了该组中用户对于某一文件的权限. ...

  2. linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解

    linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...

  3. 用户管理_组管理_权限管理.ziw

    2017年1月10日, 星期二 用户管理_组管理_权限管理 用户管理: useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage ...

  4. Linux 实用指令(5)--组管理和权限管理

    目录 组管理和权限管理 1 Linux组基本介绍 2 文件/目录 所有者 2.1 查看文件的所有者 2.2 修改文件所有者 3 组的创建 3.1 基本指令 3.2 应用实例 4 文件/目录 所在组 4 ...

  5. linux学习之路第八天(组管理和权限管理)

    组管理和权限管理 1.Linux 组基本介绍 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者,所在组,其他组的概念 1)所有者 2)所在组 3)其它组 4)改变 ...

  6. Linux操作系统(2):组管理和权限管理

    组管理和权限管理 Outline 1.查看文件所有者:ls -ahl 2.更改文件或目录权限命令:chmod 3.更改文件或目录所有者命令:chown 4.更改文件或目录所属组命令:chgrp 1)组 ...

  7. linux基础之用户和组管理及权限

    一.用户和组管理 相关配置文件 /etc/passwd: 用户名 : 密码占位符 : UID : GID : COMMENTS : 家目录 :默认shell /etc/group: 组名 : 组密码占 ...

  8. 第2章 细说Linux系统用户/组管理(1)

    2.1 用户和组的基本概念 用户和组是操作系统中一种身份认证资源. 每个用户都有用户名.用户的唯一编号uid(user id).所属组及其默认的shell,可能还有密码.家目录.附属组.注释信息等. ...

  9. Linux - 组管理和权限管理

    l Linux组基本介绍 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. 1) 所有者 2) 所在组 3) 其它组 4) 改变用户所在的 ...

随机推荐

  1. [IIS]IIS扫盲(四)

    IIS简易安装 义哥门户网   IIS(Internet Information Server,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器.FTP服务器.NNTP服务器和SMT ...

  2. django时区设置

    1. 创建web目录 django-admin.py startproject mysite 2. 启动web服务 python manage.py runserver python manage.p ...

  3. uboot和内核波特率不同

    uboot和内核波特率不同,在uboot启动后,修改uboot参数: set bootargs 'noinitrd root=/dev/mtdblock3 init=/linuxrc console= ...

  4. RealtekRTL8111内建网卡-黑苹果之路

    真是服了这神一样的黑苹果.好不容易配好显卡,登陆appstore却报“无法验证您的设备或电脑”,查了一圈,又说要配网卡为en0的,有说要在clover中配FIXLAN的,最准确的是网卡必须是内建(Bu ...

  5. JSP、HTML标签

    <%@ ...%> 表示是指令,主要用来提供整个JSP 网页相关的信息,并且用来设定JSP网页的相关属性,例如:网页的编码方式.语法.信息等.起始符号为: <%@ 终止符号为: %& ...

  6. NHibernate系列文章九:NHibernate对象二级缓存上

    摘要 NHibernate的二级缓存由SessionFactory管理,由所有Session共享. NHibernate缓存读取顺序: 首先从一级缓存中读取,如果一级缓存对象存在,则读取一级缓存对象并 ...

  7. Android IOS WebRTC 音视频开发总结(六七)-- 在线教育虽火要做好其实不容易

    本文主要介绍在线教育这个行业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help 最近很多朋友在咨询在线教育的事(其实之 ...

  8. 使用虚幻引擎中的C++导论(一-生成C++类)

    使用虚幻引擎中的C++导论(一) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如果有不 ...

  9. leetcode刷题: 002 Add Two Numbers

    You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...

  10. MFC CFileDialog用法例子。

     Set it to TRUE to construct a File Open dialog box. Set it to FALSE to construct a File Save As dia ...