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
下一篇 2017-10-29

相关推荐

  • 第十一周作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 发送者:     1)使用单向加密算法提取要发送文件的特征码;     2)使用自己的私钥加密特征码并附加在数据后面;     3)生成用于对称加密的临时密码;     4)用此临时密钥加密数据和已经使用私钥加密后的特征码; &nb…

    2017-03-20
  • 学习试题演练

    1.写一个脚本实现:提示用户给出自己的选择随后显示对应的信息。 区分大小写: if [[ "$option" =~ [Dd][Ii][Ss][Kk] ]];then 2.根据id号来判断用户类型,若没有则提示没有此用户 0:管理员 1-999:系统用户 1000+:登陆用户 不得不提下: bash -n usertype.sh 前期擅用是…

    Linux干货 2016-08-21
  • Bash快捷键

    Ctrl + a :移到命令行首Ctrl + e :移到命令行尾Ctrl + f :按字符前移(右向)Ctrl + b :按字符后移(左向)Alt + f :按单词前移(右向)Alt + b :按单词后移(左向)Ctrl + xx:在命令行首和光标之间移动Ctrl + u :从光标处删除至命令行首Ctrl + k :从光标处删除至命令行尾Ctrl + w :…

    Linux干货 2017-03-26
  • N22-妙手-第五周博客作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost grub]# grep "^[[:space:]]\+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,…

    Linux干货 2016-09-19
  • Keepalive高可用Nginx服务测试

    环境   系统版本:CentOS 7.2  节点1地址:10.1.8.81  节点2地址:10.1.8.83  虚拟IP地址:10.1.8.248 安装软件     yum -y install nginx     yum -y …

    Linux干货 2017-02-16