Linux —— 用户权限管理

权限:

为什么需要权限管理?
    1.计算机资源有限,我们需要合理的分配计算机资源。
    2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重要的

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

通过 ls 命令我们可以看到文件的具体权限信息。
drwxrwxr-x 2 linlin linlin 4096 Jun  5 02:29 .
drwxrwxr-x 5 linlin linlin 4096 May 29 02:38 ..
-rw-rw-r-- 1 linlin linlin    0 Jun  5 02:29 file

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

权限:r  w  x

对于文件:
r:可读,可以使用cat等命令查看文件内容
w:可写,可以进行编辑修改,或删除操作
x:可执行,可以在命令提示符下当做命令提交给内核运行

对于目录:
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:可读可写可执行

储存用户和组的文件
用户:UID /etc/passwd
组  :GID /etc/group

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

储存用户信息的文件:/etc/passwd
linlin@ubuntu:~/linlin$ tail -3 /etc/passwd
linlin:x:1000:1000:linlin's ubunto,,,:/home/linlin:/bin/bash
mysql:x:121:129:MySQL Server,,,:/nonexistent:/bin/false
wangml:x:1002:1002:wangml:/home/wangml:/bin/bash

通过上面示例可以看到,在/etc/passwd文件中,每个用户信息作为一行,而每一行分
为7段,用 :分隔,分别表示:
用户名 :密码占位符 :UID :用户私有组(基本组)GID :注释 :用户家目录 :默认shell

储存组信息文件:/etc/group
linlin@ubuntu:~/linlin$ tail -3 /etc/group
mysql:x:129:
xiaolinlin:x:1001:wangml
wangml:x:1002:

表示为 组名 :密码占位符 :GID :

UID:根据用户类别分类
    管理员ID号永远为0
    普通用户ID号1~65535,16位表示用户
        系统用户ID号1~499
        一般用户ID号500开始
在/etc/passwd文件中,添加一般用户时,用户ID一般为该文件中最大的一般用户ID+1

用户组:
    基本组,私有组:本组只有该用户自己,用户创建文件后,该文件的默认组为该用户的基本组
    附加组,额外组:基本组以外的其他组

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

对于系统用户来说,没有默认shell,即系统用户不允许登陆

储存密码信息文件:/etc/shadow
mysql:!:17301:0:99999:7:::
wangml:!!:17303:0:99999:7:::
用户名 :加密后的密码 :最后一次密码修改时间 :密码最短使用时间 :用户过期时间 :修改密码警告时间 :;:
可以使用 man shadow 命令查看具体信息

只有管理员root可以查看/etc/shadow文件
root@ubuntu:/home/linlin/linlin# ls -l /etc/shadow
-rw-r----- 1 root shadow 1336 Jun  4 02:52 /etc/shadow

通过以上内容可以知道,没添加一个用户,就是在 /etc/passwd /etc/shadow /etc/group 这三个文件中各加
入一行信息,所以,我们可以直接通过修改这是三个文件来添加用户,而不需要使用命令

用户管理:

添加用户:useradd 用户名,有事也可以使用 adduser,adduser是一个软链接
-u:手动指定UID
-g:指定基本组GID
-G:指定额外组,附加组
-c:指定注释信息
-d:指定某个目录为家目录
-s:指定用户默认shell
    在/etc/shells下指定了当前系统下的可用的安全shell
-m -k:给用户强制创建家目录,并将/etc/skel下的文件复制到家目录下
-M:不给用户创建家目录
-r:添加系统用户

删除用户:userdel 选项 用户名
默认在删除用户时不会删除用户家目录
-r:删除用户的同事删除用户家目录

查看用户账号的基本信息:id
linlin@ubuntu:~/linlin$ id
uid=1000(linlin) gid=1000(linlin) groups=1000(linlin),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)

检索用户信息:finger 用户名
linlin@ubuntu:~/linlin$ finger linlin
Login: linlin            Name: linlin's ubunto
Directory: /home/linlin              Shell: /bin/bash
On since Thu May 18 01:32 (PDT) on tty7 from :0
   18 days 20 hours idle
No mail.
No Plan.

修改用户账号信息:usermod 选项 内容 用户名
-u:修改UID
-g:修改基本组
-G:修改附加组,如果此前用户已有附加组,则使用-G后,该附加组会被覆盖,如果需要添加
附加组,则使用 -G -a
-c:修改注释
-d:指定新家目录,一般与-m一起使用,表示在创建新家目录的同时,将原来家目录下的内容
复制到新的家目录中
-e:指定用户过期时间
-L:锁定账号
-U:解锁账号

chsh:修改用户默认shell

chfn:修改用户注释信息

修改用户密码:passwd 用户名
--stdin:从标准输入读取
-l:锁定用户账号
-u:解锁
-d:删除用户密码
    Linux中,禁止空密码用户登录

pwck:检查用户账号完整性

组管理:

创建组:groupadd
-g:指定GID
-r:添加系统组

删除组:groupdel

修改组属性:groupmod
-g:修改 GID
-n:修改组名

gpasswd:为组设定密码

newgrp:登录到一个新组,exit退出

改变用密码过期时间:chage
-d:最近一次的修改时间
-E:过期时间
-r:非活动时间
-m:最短使用期限
-M:最长使用期限
-W:警告时间

改变文件属主:chown 用户名 files
只有管理员才可以改变文件属主
-R:修改目录文件属性时将目录内的文件一起修改
--reference=文件1 文件2... :将文件2...的属主、属组修改为与文件1相同

修改文件属组:chgrp
只有管理员才可以使用,使用方法和chown一样、

使用chown 用户名:组名 文件 或 chown 用户名.组名 文件 可以同时修改文件的属主属组
chown 组名 文件:只改属组

修改文件权限:chmod MODE 文件
-R:递归修改
--reference=文件1 文件2... :将文件2...将文件2...的属性修改为与文件1相同
root@ubuntu:/home/linlin/linlin/test# ls -l file
-rw-rw-r-- 1 linlin linlin 0 Jun  5 02:29 file
root@ubuntu:/home/linlin/linlin/test# chmod 600 file
root@ubuntu:/home/linlin/linlin/test# ls -l file
-rw------- 1 linlin linlin 0 Jun  5 02:29 file

修改某类用户权限时:chmod 用户类别(u g o a) +(-) MODE,a表示所有用户,可以省略
root@ubuntu:/home/linlin/linlin/test# ls -l file
-rw------- 1 linlin linlin 0 Jun  5 02:29 file
root@ubuntu:/home/linlin/linlin/test# chmod g+r file
root@ubuntu:/home/linlin/linlin/test# ls -l file
-rw-r----- 1 linlin linlin 0 Jun  5 02:29 file

我们都知道,在创建一个文件后,系统会默认给文件赋予权限,那么,默认权限是由什么决定的?
umask:遮罩码,不加参数时表示查看系统默认遮罩码,加八进制位表示修改遮罩码
root@ubuntu:/home/linlin/linlin/test# umask
0044
root@ubuntu:/home/linlin/linlin/test# umask 0022
root@ubuntu:/home/linlin/linlin/test# umask
0022
创建文件后默认权限 666-umask
创建目录后默认权限 777-umask

Linux 用户和文件权限管理的更多相关文章

  1. Linux用户及文件权限管理

    Linux用户及文件权限管理

  2. Linux——用户及文件权限管理

    2019-07-31 用户管理 查看用户 who am i:打开当前伪终端的用户的用户名 pts/0 后面那个数字就表示打开的伪终端序号,你可以尝试再打开一个终端,然后在里面输入 who am i , ...

  3. Linux用户和文件权限管理

    本文为原创文章,转载请标明出处 目录 用户管理 系统用户文件 添加用户 useradd 设置用户密码 passwd 删除用户 userdel 用户管理 usermod 用户组管理 系统用户组文件 添加 ...

  4. linux 用户及文件权限管理

    Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同 ...

  5. (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理

    用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...

  6. 实验楼学习linux第一章第三节用户及文件权限管理

    用户及文件权限管理 常用命令 查看用户 whoami 创建用户 sudo adduser 用户名 切换账户 su 用户名 删除账户 sudo deluser 用户名 --remove-home 查看用 ...

  7. solaris用户与文件权限管理

    此文章已于 20:45:28 2015/3/22 重新发布到 zhuxuekui3 solaris用户与文件权限管理1 类别    「网站分类」Oracle 一.用户与用户组管理 三种用户:超级用户. ...

  8. Lniux 入门:03 用户及文件权限管理

    1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 通过第一节课程的学习,你应该已经知道, ...

  9. linux下的文件权限管理

    权限管理有两个层面 第一层区分用户:文件属主(u), 组用户(g), 其它(o) 第二层区分权限:读(r),写(w),可执行(x) 这两个层次构成文件权限管理的二维结构 u         g     ...

随机推荐

  1. 牛腩新闻发布系统(五):VS网站发布及常见问题

    导读:在千万个回眸中,终于看见了牛腩的归途.好吧,牛腩该整合的都整合完毕了,到了发布的时候了.这时候,不得不再次感慨那句不知道感慨了多少次的感慨:为什么,我要遭遇这么多的坎坷?下面,结合自己的情况,说 ...

  2. iOS学习笔记06-手势识别

    一.UIGestureRecognizer简单介绍 我们已经学习了触摸事件处理,但触摸事件处理起来很麻烦,每个触摸事件处理都需要实现3个touches方法,比较繁琐,实际上我们可以使用更加简单的触摸事 ...

  3. [BZOJ1584] [Usaco2009 Mar]Cleaning Up 打扫卫生(DP)

    传送门 不会啊,看了好久的题解才看懂 TT 因为可以直接分成n段,所以就得到一个答案n,求解最小的答案,肯定是 <= n 的, 所以每一段中的不同数的个数都必须 <= sqrt(n),不然 ...

  4. 算法复习——数位dp(不要62HUD2089)

    题目 题目描述 杭州人称那些傻乎乎粘嗒嗒的人为 62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司 ...

  5. 【JQ同胞遍历】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. laravel 操作数据库

    建立student控制器,控制器代码 namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; class StudentC ...

  7. Paul Graham:梦寐以求的编程语言

    我的朋友曾对一位著名的操作系统专家说他想要设计一种真正优秀的编程语言.那位专家回答,这是浪费时间,优秀的语言不一定会被市场接受,很可能无人使用,因为语言的流行不取决于它本身.至少,那位专家设计的语言就 ...

  8. 用systemtap跟踪打印动态链接库的所有c++函数调用过程

    http://gmd20.blog.163.com/blog/static/168439232015475525227/             用systemtap跟踪打印动态链接库的所有c++函数 ...

  9. MVC Html.AntiForgeryToken() 防止CSRF攻击 - CSDN博客

    原文:MVC Html.AntiForgeryToken() 防止CSRF攻击 - CSDN博客 (一)MVC Html.AntiForgeryToken() 防止CSRF攻击 MVC中的Html.A ...

  10. Android判断屏幕锁屏的方法总结

    由于做一个项目,需要判断屏幕是否锁屏,发现网上方法很多,但是比较杂,现在进行总结一下: 总共有两类方法: 一.代码直接判定 二.接收广播 现在先说第一类方法(代码直接判定): 1.通过PowerMan ...