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)
上一篇 2017-10-29 13:01
下一篇 2017-10-29 15:35

相关推荐

  • find命令

          find:实时查找工具,根据我们指定的内容或者条件在系统上进行实时查找,比locate在实际场景中用的多得多的多      具体用法:find   查找路径      查找条件         &n…

    Linux干货 2017-04-10
  • linux根下的文件

    /boot:系统启动时要加载引导的静态文件,内核和ramdisk及grub等 /bin:系统自身启动和运行时可能用到的核心二进制程序,不能关联至独立分区。 /sbin:管理类基本命令,不能关联至独立分区,系统启动便会用到的程序。 /lib:基本共享库文件,以及内核模块文件 /lib64:专用于x86_64系统上的辅助共享库文件存放位置 /etc:大多数应用程…

    Linux干货 2017-03-30
  • 马哥教育网络班N22期+第5周课程练习

    马哥教育网络班N22期+第5周课程练习 1. 显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;  grep -E "^[#][[:space:]]+[^[:space:]].*" /etc/rc.d/rc.sysinit 2. 显示…

    Linux干货 2016-09-19
  • 文件查找工具

    文件查找     我们常常需要知道哪个文件放在哪里,才能够对该文件进行一些修改或维护等动作。 有些时候某些软件配置文件的文件名是不变的,但是各发行版 放置的目录则不同。 此时就得要利用一些搜寻指令将该配置文件的完整文件名捉出来,这样才能修改。     比较实用的两个文件查找工具l…

    Linux干货 2016-08-21
  • Tomcat基础知识

    标签:centos  Java1.7  Tomcat8   零、tomcat简介 一、安装java环境 二、安装tomcat 三、tomcat目录结构以及相关文件 四、WebAPP结构及简单部署 五、tomcat常用组件配置 零、tomcat简介 1、tomcat简介       tomcat是SU…

    Linux干货 2017-02-09
  • 计算机组成及Linux基础

    计算机组成及Linux基础

    Linux干货 2018-03-04