linux学习—权限管理

用户、组和权限(一)--为了让每个用户具有较安全的管理机制,文件的权限管理是很重要的。Linux通常将文件的访问方式分为三个类别(owner/group/other),并且具有Read/Write/eXecute等的权限。




目录

  • 用户
  • 用户组
  • 安全上下文
  • 组的类别
  • passwd,shadow,group,gshadow文件
  • useradd,userdel,groupadd,groupdel命令
  • passwd,usermod,gpasswd,groupmod命令
  • groupmems,newgrp,groups命令


一、用户

Linux是多用户的系统,经常会出现多个用户同时使用主机,考虑到每个人的隐私以及个人爱好,文件拥有者(用户)就相当重要了。

用户类别           UID
管理员 root ,0
系统用户 1-499(centos6) ,1-999(centos7)
普通用户

1—65535

登录用户 500+(centos6) , 1000+(centos7)


二、用户组

用户组多用于团队开发,每个团队的成员需要同时可以修改自己团体内任何人文件,且不能让其他团体的人看到自己文件的内容,这时通过用户组的权限设置可以实现。

管理员组  root 0
系统组
普通组

现在用家庭的概念做一个形象的比喻:

假设有一家人,家里有三兄弟,分别是王大毛、王二毛、王三毛,这个家庭属于王大毛门下,所以,王大毛家有三个人(王大毛、王二毛、王     三毛),而且这三个人分别拥有自己的房间,共同拥有一个客厅,王大毛家相当于用户组,三兄弟相当于3个用户;

有一个人叫做张小猪,他对于王大毛家的人就是其他人。



三、安全上下文

进程发起者  命令   对象

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



四、组的类别

主要组(也叫私有组)    用户创建的时候,组名自动创建//组名同用户名

附加组(真正常用的)

思考:多个用户可以属于一个主要组吗?   

     答:可以手动设置,但是最好不要这样设置,安全考虑



五、passwd,shadow,group,gshadow文件

/etc/passwd

pwconv    将passwd中的密码映射到/etc/shadow

pwunconv  取消映射

  /etc/shadow

用户名

密码位

密码上一次的修改时间

密码的最小存活期

密码的最大存活期

密码过期之前提前多少天提醒用户将会过期

密码过期之后在用户仍不改密码后多少天触发帐户过期

帐户过期时间

保留位

/etc/group

组名  组密码组ID  以当前组为附加组成员列表(,为分隔符)

grpconv 将组密码映射到/etc/gshadow

grpunconv 取消组密码的映射

    /etc/gshadow

组名  组密码  管理员列表  以当前组为附加组成员列表



六、useradd,userdel,groupadd,groupdel命令

1、useradd + [选项] + 用户名

useradd  用户创建   adduser也可以(其实adduser就是useradd的软链接)

-u+UID     指定UID创建用户

-o 配合-u  指定已存在的UID创建用户

例如:useradd -u 600 lisi

useradd -u 600 wangwu -o

cat /etc/passwd 查看lisi和wangwu的UID相同

(以:为分隔符,第三列为UID)

-g+GID或组名   指定已存在的主要组创建用户

-G+附加组号或者附加组名   指定已存在的附加组创建用户,以,为分隔符可以同时指定多个

-c+注释信息   附加注释信息创建用户

-d+目录路径   指定目录路径,创建用户(目录名已存在,基名不存在)

-s   指定登录shell创建用户

例如:useradd -s /sbin/nologin wangwu  创建不可交互式登录用户wangwu

之后输入su - wangwu ,显示登录失败

-N   不创建私有组作为主组,即使用users组作主组

-r   创建系统用户

 2、/etc/default/useradd   创建用户的默认配置文件

GROUP=100       表示使用useradd -N时默认使用的组为GIP为100的组

HOME=/home      自动创建家目录时,从哪个目录下创建与用户同名的家目录

INACTIVE=-1     用户是否设置 密码过期后,多少天帐户过期,为-1时,不会触发帐户过期

EXPIRE=         是否指定一个帐户过期时间,为空表示帐户默认永不过期

SHELL=/bin/bash 使用useradd创建用户时,如不使用-s 指定则默认的用户shell为/bin/bash

SKEL=/etc/skel  家目录的内容数据参考目录,自动创建家目录时,从哪个目录拷贝模板文件

(利用useradd新增用户后,新增用户家目录下的各项数据都是由/etc/skel 复制过去的)

CREATE_MAIL_SPOOL=yes  创建用户时是否在/var/spool/mail下为用户与用户同名的邮箱文件。

手工创建家目录的方法(加深理解)

mkdir /home/machao

chmod 700 /home/machao/

cp -r /etc/skel/.[^.]*  /home/machao/

chown -R machao.machao /home/machao

     3、userdel -r +用户名   删除用户名连同家目录以及邮箱文件一起删除

     4、groupadd + [选项] + 组名  创建组 (创建的组不分主要组和附加组,因为没有用户)

-g+GID或者组名  创建指定GID的组

-r   创建系统组

     5、groupdel+ 组名   删除组



七、passwd,usermod,gpasswd,groupmod命令

 1、passwd + username   指定要修改密码的用户名(仅root运行,普通用户不输入用户名,可直接修改自己的密码)

-l              锁定用户  实际就是在密码位前加!!

-u              取消用户锁定

-e              强制用户下次登录时更改密码

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

-x + maxdays: 最大使用期限

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

-i + inactivedays:非活动期限

--stdin         从标准输入接收用户密码(常用)

 2、usermod + username  用户属性修改

-u+UID              修改用户ID

          -g+GID或者组名   修改用户主要组

          -G+GID或者组名[,组名]   设定用户的附加组为哪些组,之前的附加组信息被覆盖

          -aG                  增加用户的附加组,不会覆盖之前的附加组

          -s+shell           修改用户的登录shell

          -c+注释信息      修改用户的描述信息

          -d+目录路径      新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项

          -l+目标用户名+原始用户名  更改用户名

          -L+用户名         锁定指定用户,在/etc/shadow密码栏增加!

          -U+用户名          解锁指定用户,将/etc/shadow密码栏的!拿掉

          -e+年月日          指明账户过期的日期

          -f              设定非活动期限

3、gpasswd + [选项] + 组名 (重点难点)

gpasswd + 组名        设置组密码

gpasswd -a + 用户名  添加指定用户到指定组名的附加组

gpasswd -d + 用户名  删除用户

gpasswd -M + 用户名(多个用户用,分隔)  仅root执行,设置用户列表到指定用户组名的组

(可以用命令groupmems -l -g +组名   查看指定组下用户列表)

gpasswd -A + 用户名(多个用户用,分隔) 设置指定组的管理员   仅root执行

(管理员只可以修改组密码,单个踢出组成员,单个添加组成员;管理员可能不是组成员,也就不能访问组内的文件,但是管理员可以                  把自己加入该组内,然后访问文件)

    4、groupmod

-n+目标组名+原始组名   修改组名

-g+目标GID+原始组名    修改组ID



八、groupmems,newgrp,groups命令

1、groupmems  仅限于root

-g + 组名 -a + 用户名  添加指定用户到指定组名的附加组

-g + 组名 -d + 用户名  删除指定用户

-g + 组名 -p              清空所有指定组成员

-g + 组名 -l              查看指定组有那些成员(仅附加组)

2、newgrp + 组名(普通用户执行)

非附加组成员的普通用户在正确输入组密码后临时变更指定组名为主要组,原主要组临时变成附加组

附加组成员的普通用户无须输入密码就可以临时变更指定组名为主要组,原主要组临时变成附加组

*******************

使用newgrp之后实质就是进入了一个子shell,在这个子shell环境下的主要组为指定组,使用exit后,只是退出了子shell,当前用户没有变(注意理解)

进入guanyu用户下,查看用户的主要组和附加组,使用了newgrp命令之后,主要组和附加组发生变化;exit退出之后,用户并没有变

*********************

    3、groups + 用户名    查看指定用户属于那些组(包含主要组和附加组)

小总结:添加删除组成员可以用usermod -G,gpasswd -d,groupmems -g + 组 -d +用户



linux学习—权限管理

原文地址:http://blog.51cto.com/13570193/2062465

时间: 2024-10-13 01:51:57

linux学习—权限管理的相关文章

Linux学习-权限管理

用户.组和权限(二)--http://blog.51cto.com/13570193/2062465(持续上篇内容) 目录 vipw,vigr,chfn,chsn命令 ID命令 切换用户 文件权限详解 案例 一.vipw,vigr,chfn,chsn命令 文件修改: vipw 等同于vim /etc/passwd    修改passwd文件 vigr  等同于vim /etc/group       修改group文件 chfn+用户名                           修改用

linux学习随笔——linux文件权限管理和网络配置

一.linux文件权限管理 查看某个文件的权限命令:ls -l linux文件权限有4种:读(r).写(w).执行(x)和无权限(-) 一般用10个字符表示其权限,按照(1-3-3-3)来分组划分 1位置 表示文件类型 "-"表示文件,"d"表示目录 2-4位 表示用户权限(u) 5-7位 表示组权限(g) 8-10  表示其他权限(o) 通常用chmod来修改权限:chmod     u+r 目标文件 也可以用数字来表示权限 r=4 w=2 x=1 chown命令

linux的权限管理

linux的权限管理命令主要有chown,chgrp,chmod. linux权限 linux的权限有:r,w,x. 对于文件而言:r表示可读,即可以用cat等命令查看:w表示可写,可以编辑或者删除此文件:x,表示可执行,可以再命令提示符下提交给内核执行(linux创建文件默认是不具有执行权限的). 对于目录而言:r表示可对此目录执行ls列出 内部的所有文件:w表示可以在此目录创建文件:x,表示可以cd到此目录,并且使用ls -l列出详细信息(linux目录一般都有x). linux的特殊权限有

Linux目录权限管理

权限介绍 在linux文件系统中,为系统中的文件(或目录)赋予了两个属性:访问权限和文件所有者,简称为"权限"和"归属".其中,访问权限包括读取.写入.可执行三种基本类型,归属包括属主(拥有改文件的用户账户).属组(拥有改文件的组账号). 使用带"-l"选项的ls命令时,将以长格式显示出文件或目录的详细信息,其中包括了该文件的权限和归属等参数. 第一个字符:表示该文件的类型,可以是d(目录).b(块设备文件).c(字符设备文件). "-

Linux文件权限管理

一.设置文件所属的用户以及所属的组(chown,chgrp) chgrp用来更改文件的组拥有者,其一般格式为: chgrp [option] group file (1)把文件test的组拥有者改为zfs: chgrp zfs test (2)把test及其子目录下的所有文件的组拥有者改为zfs: chgrp -R zfs test chown用来更改文件所有者与组拥有者,其一般格式为: chown [option] owner[:group] file (1)将test及其子目录下的所有文件的

Linux [拓展权限管理]

linux拥有3个特殊的拓展权限管理参数:   对文件影响 对目录影响 suid      以文件所有者的权限运行 Nothing sgid       以文件所属组的权限运行 目录中的文件继承目录的组 sticky Nothing 对于组有w权限的用户,只能在目录中创建或者修改自己拥有的文件(所属user为自己),但是不能修改或者删除其他用户的文件(虽然同组,并且组具有w权限) suid例子: /etc/password sgid, sticky例子: groupadd testgroup u

Linux基本命令—权限管理、文件搜索、帮助、压缩解压、网络通信

Linux基本命令-权限管理.文件搜索.帮助.压缩解压.网络通信 Linux 权限管理命令 文件搜索命令 帮助命令 压缩解压命令 网络通信指令 2017-11-12 权限管理命令 chmod 改变文件或目录权限: 格式:chmod [{ugo} {+-=} {rwx}] [文件或目录]:或 [mode=421] [文件或目录] -u:所有者: -g:所属组: -o:其他人 -rwx:可读可写可执行:对应权值 r-4.w-2.x-1,可按照数字改变权限:eg.rwxr-xr--表示754: eg.

Linux学习—磁盘管理知识点总结

磁盘管理 目录 设备文件 磁盘介绍 磁盘分区 创建磁盘分区 同步分区表 文件系统 一.设备文件 设备文件关联至设备驱动程序,用户通过操作这些设备文件间接管理对应的硬件设备 一个设备的名称表示整个磁盘,而分区则用设备名加上一个分区号来表示 设备文件类型: 块设备    存取单位是块,如磁盘 字符设备  存取单位是字符,如键盘 为了方便管理这些设备,系统设置了主设备号和次设备号用来区分 看如下示例: 8 代表主设备号  后边的数字代表次设备号 创建设备文件: mknod 文件名 b 主设备号 次设备

对Linux的权限管理的认识

Linux/GNU有一句广为流传的话就是"Linux的一切都是文件",系统的运行就是内核创建一系列进程来调用文件完成用户下达的任务.且Linux/GNU系统作为一个多用户多任务的操作系统,如何来管理各个用户及他们所创建的任务,就是一个软件工程,他的架构设计可以参考我们的社会结构,毕竟我们的社会先于软件工程发展了几千年,直到上世纪50年代后软件工程的硬件基础发展起来,它的依赖关系满足后自然就发展出来了(当然在软件系统中我们可以更少受一些不必要的社会规则的掣肘,更理想化).软件工程以所有用