用户与用户组权限管理详解

用户及用户组权限管理

   Linux是一个多任务多用户的系统,多用户可以同时登陆同一台主机。为了考虑到每个人的隐私权和工作空间,这时候文件所有者(owner)就是即用户的角色就变得尤为重要了,同时为了用户与用户之间方便合作,共享一些公共资源,这时,为了实现资源的快速分配,我们把多个用户放在一个公共的空间,分别赋予他们不同的读写执行等操作的权限,这些用户共同组成的一个整体,就是所谓的用户组(group)。

第一部分 Linux权限管理

用命令ls -l可以列出用户的权限。

#ls -l

这里我们以test文件为例,来详细说明。

第一类drwxr-xr-x

d:文件类型,常见的类型有d(目录)、-(一般文件)、c(字符设备)、b(块设备)、l(链接文件)、s(套接字文件)等,其余的九位数字即为文件权限。

linux权限采用UGO机制,U(user)表示所属主,G(group)表示所属组,O(other)表示除所属主和所属组之外的其他用户。其中r(readable)代表可读的,用数值4来表示;w(writable)代表可写的,用数字2来表示;x(excutable)代表可执行的,用数字1来表示。

权限的组合机制--以二进制的方式组合。

---     0000

--x0011

-w-0102

-wx0113

r--1004

r-x1015

rw-1106

rwx 1117

本例中前三位rwx为所属主的权限:rwx对应的数值为7,中三位表示所属组的权限:r-x对应的数值为5,后三位表示其他人的权限:r-x对应的数值为5,则它们组合起来为755。

在系统创建目录与文件时会自动给它们添加一些属性,这就是umsk默认权限属性。我们可以通过umask来查看。

#umask

对于文件的默认权限是644,对于目录的默认权限是755。

权限的管理命令--chmod。

chomod:修改命令的权限位。

用法:  chmod [OPTION]... MODE[,MODE]... FILE...

常用的用法

1.赋权表示法:直接操作一类用户的所有权限位rwx。

对于两类用户权限相同合并到一起ug=, go=来表示。

2.授权表示法:操作一类用户一位或多位权限。

对于两类用户权限机制相同:ug+, ug-, ...合并在一起。

3.数值表示法:用二进制数值来表示每一类用户的多位权限位

第二部分 用户和用户组

学习用户和用户组管理之前我们先学习他们的配置文件。

保存用户信息的文件:/etc/passwd。

#tail /etc/passwd

它们由“:”隔开的7个字段组成。

用户名:加密的用户密码:UID:GID:注释信息:用户的家目录:登陆的shell

保存用户组的信息:/etc/group。

#tail -1 /etc/group

它们由“:”隔开的4个字段组成。

用户组名:加密的组密码:GID:组内用户。

#tail -1 /etc/shadow

它们是由““:”分开的九个字段。

登录名:密码:最近一次的修改时间:密码的最短使用期限:密码最长使用期限:提前警告的天数:非活动期限:账号的禁用日期:保留字段

用户的分类

用户可以分为管理用户和普通用户。普通用户可以分为系统用户和登陆用户。用户用UID来标识,管理用户的ID=0,普通用户的ID为1-60000,其中系统用户为1-499(centOS7为1-999),登陆用户为500-60000(centOS7为1000-60000)。用户通过/etc/passwd库的密码解析来验证用户的密码,并通过后授权登录。

用户管理命令

useradd命令:添加用户

useradd  [选项]  登录名

常用选项:

-c, --comment COMMENT:注释信息,一般为Full Name;

#useradd -c "www.Fedora.com " fefora

-d, --home  /PATH/TO/HOME_DIR:家目录路径;目标路径不能事先存在,否则会有警告,不会得利skel相关的文件给用户

#useradd -d /tmp/test test

-g, --gid GROUP:用户的基本组组名或GID;

#useradd -g 1003 rex

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:用户所属的附加组列表,彼此间用逗号隔开,中间没有空格;

#useradd -G fedora,gentoo centos

-m, --create-home:强制创建家目录;

-M:不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes;

-r, --system:创建一个系统账户

#useradd -r apache

-s, --shell SHELL:用户的登录 shell 名,默认为留空,让系统根据 /etc/default/useradd 中的SHELL 变量选择默认的登录shell;

#useraddr -s /bin/sh rex

-u, --uid UID:用户 ID 的数字值。此值必须为唯一的,除非使用了 -o 选项。此值必须非负,默认使用大于等于UID_MIN,且大于任何其他用户 ID 最小值。

#useradd -u 2000 slackware

useradd -D  选项:设置某默认选项;-e,-f等默认选项。

usermod命令:修改账号信息

usermod [选项] 用户名

-c, --comment  COMMENT用户密码文件中注释字段的新值。通常使用 chfn(1) 工具对其进行修改。

-d, --home  HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的文件会移动到新目录中;

#usermod -m -d /tem/test rex

-g, --gid GROUP:用户的新初始登录组的组名或数字代号。此组必须存在。

#usermod -g gentoo centos

-G, --groups  GROUP1[,GROUP2,...[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加新的附加组。

-l, --login  NEW_LOGIN:修改当前用户的用户名。

-L, --lock:锁定用户的密码。这会在用户加密的密码之前放置一个“!”。

-U, --unlock 解锁用户的密码。这将移除加密的密码之前的“!”。

userdel命令:删除用户账号

userdel [选项]  登录名

-r, --remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除。

用户组管理命令

  groupadd命令:添加用户组

groupadd [选项] GROUP

-g  GID:指明GID。

#groupadd -g 1011 suse

-r, --system:系统组。

#groupadd -r httpd

groupmod命令:修改组信息

groupmod [选项] GROUP

-g  GID

-n NEW_NAME:修改组名。

groupdel命令:删除组

groupdel [选项] GROUP


时间: 2024-10-14 08:42:37

用户与用户组权限管理详解的相关文章

Linux用户、用户组权限管理详解 --- 02

2,用户.用户组管理操作详解: 2.1 adduser 添加用户: adduser [-u uid][-g group][-d home][-s shell] -u:直接给出userID                      -g:直接给出GID -d:直接将根目录建立在已存在目录         -s:定义shell 添加用户 garfield 1 adduser garfield 通过前面介绍的三个用户管理文件检验用户 garfield 的添加是否成功: 当我们新建用户时,通过 /etc

Oracle权限管理详解

转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级.Role 角色级.这些权限可以授予给用户.特殊用户public或角色,如果授予一个权限给特殊用户"Public"(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户.对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角

Elasticsearch shield权限管理详解

ElasticSearch本身没有权限管理模块,只要获取服务器的地址和端口,任何人都可以随意读写ElasticSearch的API并获取数据,这样非常不安全.如果获取了ES的访问IP和端口,一条命令就可以删除整个索引库.好在Elastic公司开发了安全插件shield来解决权限管理问题. https://www.elastic.co/products/shield 一.shield安装 bin/plugin install license bin/plugin install shield 第二

Nodejs之MEAN栈开发(八)---- 用户认证与会话管理详解

用户认证与会话管理基本上是每个网站必备的一个功能.在Asp.net下做的比较多,大体的思路都是先根据用户提供的用户名和密码到数据库找到用户信息,然后校验,校验成功之后记住用户的姓名和相关信息,这个信息经过处理之后会保存在cookie.缓存.Session等地方,然后还有一个过期时间,避免每次都要去捞数据库.在node下基本上也是这个思路,这一节的内容会涉及到user模型的加密方式.如何生成一个Json Web Token(JWT).以及在客户端用Angular创建注册和登录页面,在请求需要认证的

Oracle权限管理详解(转载)

转载:http://czmmiao.iteye.com/blog/1304934  作者:czmmiao Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级.Role 角色级.这些权限可以授予给用户.特殊用户public或角色,如果授予一个权限给特殊用户"Public"(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户.对管理权限

Shiro权限管理详解<转载>

1 权限管理1.1 什么是权限管理 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源. 权限管理包括用户身份认证和授权两部分,简称认证授权.对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问. 1.2 用户身份认证1.2.1 概念 身份认证,就是判断一个用户是否为合法用户的处理过程.最常用的简单身份认证方式是系统通过核对用户输入的用户名

【我的Linux,我做主!】Linux权限管理详解

(1)了解文件所有者所属组的概念及修改假设Tom现在有一个kindle在使用,他买了后说:"不仅我可以使用,我们班的所有同学如果需要也可以找我来使用,但是除了我们班级之外的其他人都不能使用".在此kindle的属主user就是Tom,kindle的属组group就是Tom所在的班级,其他人other都不能使用这个kindle.所以对文件设置权限,就是对对应的u,g,o进行相关设置.文件属性信息的含义如下(图1-2):修改aa.txt文件的属主和属组信息(图1-3):# chown ro

用户与组的管理详解

A.首先创建hehe用户 [[email protected] ~]# useradd -M -s /bin/sh -u 1000 hehe //创建hehe用户 [[email protected] ~]# cat /etc/passwd //查看hehe信息 B.创建haha组 [[email protected] ~]# groupadd –g 2000 haha //新建haha组 [[email protected] ~]# cat /etc/group //查看haha组信息 C.将

Linux权限管理详解

Linux中权限的种类较多,可以划分为用户对文件的权限.用户对系统命令的权限和文件特殊权限三类.下面详细阐述. 阐述设置权限的意义和作用 一.用户对文件的权限 用户对文件的权限是指用户拥有的对文件的增删改查操作.又可以细分为基本权限(ugo).umask权限和ACL权限. 1.基本权限 1).权限位 Linux文件的权限为一共是10位.第一位标示文件类型,之后每三位标示所有者.所属组和其他人的权限. 2).权限含义 3).相关命令 2.umask权限 3.ACL权限 1).ACL权限的含义和作用