Linux用户及文件权限管理

Linux,用户,用户组,文件,权限

从一个小白开始,学习了一段时间Linux,感谢马哥,对Linux有了个初步的认识,上学时候学到的计算机方面的知识,也在脑袋里复活了,虽然实在算不上满血复活。 第一篇博客作业:用户及文件权限管理,Linux下的用户和文件权限系统,这方面与Windows区别还是比较大的,利用这个机会自己梳理下。

linux的权限系统主要是由用户、用户组和权限组成。

用户就是一个个的登录并使用linux的用户。linux内部用UID表示。

用户组就是用户的分组。linux内部用GID表示。

权限分为读、写、执行三种权限。

1、用户及用户组:

1.1用户:

储存用户和组的文件目录

用户:UID /etc/passwd

组  :GID /etc/group

Linux中,在储存用户和组信息的文件,不会直接将用户或组密码储存在其中,而是在其他文件中储存,但并不是直接以密码保存,而是保存加密后的文件,影子口令

用户:/etc/shadow

组  :/etc/gshadow

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

cuiyuzhe:x:1000:1000:cuiyuzhe:/home/cuiyuzhe:/bin/bash

docker:x:1001:1001::/home/docker:/bin/bash

archlinux:x:1002:1002::/home/archlinux:/bin/bash

通过上面示例可以看到,在/etc/passwd文件中,每个用户信息作为一行,而每一行分为7段,用 :分隔,分别表示:

用户名 :密码占位符 :UID :用户私有组(基本组)GID :注释 :用户家目录 :默认shell

1.2 用户组:

用户组分为(1)基本组,私有组:本组只有该用户自己,用户创建文件后,该文件的默认组为该用户的基本组

(2)附加组,额外组:基本组以外的其他组

在创建一个用户时,如果未指定用户私有组和家目录时,系统默认会为该用户创建一个以该用户名为组名的组,作为该用户的私有组组GID一般与用户UID相同。且会在/home目录下为该用户创建一个与该用户同名的目录作为该用户的家目录。

1.3 存储密码文件

储存密码信息文件:/etc/shadow

mysql:!:17301:0:99999:7:::

wangml:!!:17303:0:99999:7:::

各字段的含义:用户名 :加密后的密码 :最后一次密码修改时间 :密码最短使用时间 :用户过期时间 :修改密码警告时间。

 

1.4 用户及用户组管理命令

创建用户组: groupadd

NAME
groupadd – create a new group

SYNOPSIS
groupadd [options] group

参数:

-g:GID,手动指定ID号
-r:创建系统组:1-499,1-999,
每个进程的执行都代表了所在用户的身份

修改组命令:groupmod

NAME

groupmod – modify a group definition on the system

SYNOPSIS
groupmod [options] GROUP

-g :GID
-n: new name

删除组命令:groupdel

创建用户命令:useradd

NAME
useradd – create a new user or update default new user information

SYNOPSIS
useradd [options] LOGIN

useradd -D

useradd -D [options]

-u:–uid :指定uid号
-g:–gid: 指定基本组ID,此组需要事先存在
-G:–groups:GROUP1,GROUP2,GROUP3 指明用户所属的附加组,多个组之间用逗号分隔。
一个用户可以属于多个附加组。但是一个用户只能有一个基本组。
-c:–comment :指明注释信息

-d:以指定的路径为用户的家目录:创建方式通过复制/etc/skel/并重命名实现的,指定的家目录如果事先存在。则不会为用户复制环境配置文件。(一些隐藏文件)

-s:–shell:指明用户的默认shell SHELL:所有的可用shell别表为/etc/shells

-r:–system:创建系统用户。
-m:强制为用户创建主目录
-M:不为用户创建主目录
-f:–inactive :密码过期后账号被彻底禁用之前的天数,0,表示立即禁用,-1表示禁用这个功能

-r:–system:创建系统用户。
-m:强制为用户创建主目录
-M:不为用户创建主目录
-f:–inactive :密码过期后账号被彻底禁用之前的天数,0,表示立即禁用,-1表示禁用这个功能

修改用户属性命令:

usermod命令:修改用户属性

NAME
usermod – modify a user account

SYNOPSIS
usermod [options] LOGIN

-c:–comment:改注释
-l:–login:改用户名
-u:修改UID
-g:–gid :修改用户所属的基本组
-G:–groups :修改用户所属的附加组,原来的附加组会被覆盖
-a:–append:与-G一同使用,用于为用户添加新的附加组
-d:–home :修改用户的家目录:用户原有的配置文件不会转移到新文件-m配合使用
-m:–move-home:只能与-d选项一同使用,用于将原有的家目录移动为新的家目录
-s:–shell:修改用户的默认shell
-L:–lock :锁定用户密码:即在用户原来的密码字符串之前添加一个”!”
-U:–unlock:解锁用户密码

userdel命令:删除用户

NAME
userdel – delete a user account and related files

SYNOPSIS
userdel [options] LOGIN

-r :删除用户时,一并删除其家目录

 

2、文件权限管理

由于Linux的一切皆文件的基本思想,对于权限的管理更多的则体现在管理文件权限上。为了方便的指派权限,在Linux中定义了文件属主,文件属组,其他人这三类人的权限。对于计算机来说,这三类都是一个标识符。

Linux进程有安全上下文,程以其发起者的身份运行,

如果进程的属主与文件的属主是否相同:

如果相同则应用属主权限;

否则,则检查进程的属主与文件的属组是否相同:

如果相同,应用属组权限:

否则,应用other权限

 

通过 ls 命令我们可以看到文件的具体权限信息。

[root@localhost /]# ls -l /etc/issue

-rw-r–r–. 1 root root 23 Nov 30  2016 /etc/issue

文件权限信息一共有9位,每3位一组,分别表示属主,属组,其他人的权限信息

rw-r–r– :

左三位:定义user(owner)权限:对应u

中三位:定义group权限:对应g

右三位:定义other权限:对应o

 

权限:r  w  x

对于文件:

r:read:可读,可以使用cat等命令查看文件内容

w:wirte:可写,可以进行编辑修改,或删除操作

x:excute:可执行,可以在命令提示符下当做命令提交给内核运行

对于目录:

r:可以对此目录执行ls命令,列出内部所有文件

w:可以在此目录下创建文件

x:可以使用cd命令切换进此目录,也可以使用ls -l命令查看内部文件的详细信息

对于目录来说,一般会有执行权限,而对于文件来说,一般默认没有执行权限。

表示没有某个权限时,使用 –

在表示文件权限时,也可以使用八进制数字0,1,2,4…表示

0 000 —:无权限

1 001 –x:可执行

2 010 -w-:可写

4 100 r–:可读

7 111 rwx:可读可写可执行

修改文件权限:chmod MODE 文件

-R:递归修改

–reference=文件1 文件2… :将文件2…将文件2…的属性修改为与文件1相同

 

 

修改某类用户权限时:chmod 用户类别(u g o a) +(-) MODE,a表示所有用户,可以省略

我们都知道,在创建一个文件后,系统会默认给文件赋予权限,那么,默认权限是由什么决定的?

umask:遮罩码,不加参数时表示查看系统默认遮罩码,加八进制位表示修改遮罩码

创建文件后默认权限 666-umask

创建目录后默认权限 777-umask

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88119

(0)
cyzcyz
上一篇 2017-10-29 13:01
下一篇 2017-10-29 15:35

相关推荐

  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 [ro…

    Linux干货 2016-07-29
  • 8/10作业脚本

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 3、编写脚本/root/bin/disk.sh,显示当前硬盘分区中空…

    Linux干货 2016-08-15
  • tomcat优化

    安装过程就不多说了,本次主要说明我在实际工作中的一些优化。    1,修改tomcat的运行模式,常见的有 bio,nio, apr三种    我选择的apr模式,这种对tomcat的性能有较大提高. a:可以根据压力测试工具来进行测试观察。(其实我没对修改apr模式后压测,我直接问百度的) b:重新启动tomcat后…

    Linux干货 2016-06-28
  • 马哥教育网络班20期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who |cut -d" " -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 # last | head -1 3…

    Linux干货 2016-06-26
  • RAID概述

    RAID 什么是RAID RAID(redundant arrays of independents disk,独立磁盘冗余阵列)是利用数组的方式组成磁盘组。RIAD大多是由廉价的磁盘组成容量巨大的磁盘组。,利用个别磁盘提供数据所产生的加成效果提升整个磁盘系统效能。 使用RAID目的 加快访问速度 使用一个虚拟磁盘,从而增加存储容量 减少磁盘失效带来不利的影…

    Linux干货 2016-11-22