linux用户和权限管理

linux用户

linux用户分为三种,普通用户,超级管理员,程序用户

普通用户:权限受到限制的用户

超级管理员:拥有至高无上的权利

程序用户:不是给人使用的,是给程序使用,程序用户是不允许登录的

 

系统如何区分用户的身份       

系统区分用户的身份使用的是uid号

超级管理员的uid号 默认是0

普通用户的uid号 centos7 是 1000(包括1000) -60000  centos6 是 500-60000

程序用户的uid号  1-999

如何查看用户的uid:id  用户名


用户信息一般存放在/etc/passwd中

格式为:

liwu :x :1003:1003:普通用户:/home:/liwu:/bin/bash

liwu:用户名

x:密码占位符

1003:uid

1003:gid   (组id)

普通用户:备注信息

/home/liwu:家目录位置

/bin/bash:默认的shell类型          /bin/nologin 这个shell类型无法登录


密码和账号有效期等信息放在/etc/shadow中

root:$6$4V9hEko/:19717:7:99999:7:8: 19718 :  

格式为:

root: 用户名

$6$4V9hEko: 加密的密码  * !!代表不可以登录,若该字段为空,则表示无需密码即可登录

19717:从1970-1-1开始,最近一次修改密码的时间

7:七天以后,才可以修改密码

99999:密码的时间,99999天=273年 基本上等于永久有效

7:密码过期前7天,会提醒你改密码

8:密码过期8天后会被锁定

19718:明天过期,用户的有效期,超过有效期登录不了系统

保留字段:未使用


添加用户

useradd

格式:useradd  [选项]  用户名

        -u   指定uid

        -M  不生成家目录

        -s   指定shell类型    /bin/nologin

        -e   指定用户的失效时间  (YYYY-MM-DD)

        -d  指定家目录


密码管理

passwd 

格式为:passwd [选项]  用户名  更改密码    (当前用户只能修改自己的密码,只要超管才能修改别人的密码)

        -l  锁定用户

        -u  解锁用户

        -S  查看用户的状态

        -d  清空密码

     免交互修改密码 echo"123123" |passwd 用户  --stdin


修改用户

usermod 对已有的用户属性进行修改

格式为:usermod [选项]  用户名

        选项基本和useradd一致

          -l  修改用户名        

          -L 锁定用户

          -U 解锁用户

          -u 修改uid 

          -s  更改shell类型

可更改的shell类型            linux用户和权限管理_第1张图片

        主要用这俩


 删除用户

 userdel  [选项] 用户名

        -r  删除家目录


组的新建删除  

新建组

groupadd [选项] 组名

        -g  后面跟gid

删除组

groupdel 组名


组内管理

gpasswd  [选项]   组名

    -a  向组内添加一个用户   -a  用户

    -d  从组内删除一个用户  -d   用户

   -M  定义组成员列表,以逗号分隔


w  who  users查看当前登录用户信息

linux用户和权限管理_第2张图片

top  linux的任务管理器

linux用户和权限管理_第3张图片


权限和归属

程序访问文件时的权限,取决于此程序的发起者

  • 进程的发起者,同文件的属主:则应用文件属主权限

  • 进程的发起者,属于文件属组;则应用文件属组权限

  • 应用文件“其它”权限

例子 root用户和普通用户 是否都可以看 (cat /etc/shadow)

访问的人群分为了三类

        1.所属主(u) 2.所属组(g) 3.其他人(o)

权限分为了三类        

        1.读取(r  4)    2.写入(w  2)       3.执行(x  1)

文件夹: 有r  可以看文件夹下有哪些文件 

               有w 可以修改文件夹下的文件 

               有x 执行是文件夹的最小权限(文件夹的权限一定要有x,没有x,rw也没用)

文件:有r 可以看文件内容        有w 可以修改文件内容        有x 执行 可以运行文件

权限和属组的表现形式

      rw-         r--         r--

     属主      属组      其他

root 可读可写        root组中的其他用户 只可读        其他用户 只可读

一个文件删除,和本身权限有关吗

和 所在文件夹有关 只要文件夹有wx权限就可以删除

复制一个文件,需要什么权限

当前用户一定要有读 r 的权限


权限也可以用数字表示 

r  4        w  2     x   1

                                                             rw-        r--         r--

                                                              6           4         4


chmod

修改权限

格式为:chmod  [选项]  文件

-r 递归 所有都改

        u 属主

        g 属组

        o 其他人

        a 所有人

+是加上 在原有的基础上 加上权限

-是减去 在原有的基础上,减去权限

= 赋予 原有的权限不看, 就是等于号后面的权限

可以使用数字,也可以使用字母

例:chmod  u+x  1.txt   给  1.txt 在原有的权限上加上 执行的权限

        


chown

修改 属主 属组

-R 递归修改   所有都改

格式为:chown [选项] 属主:属组  文件或文件夹

属主,属组都改     chown   用户名:组名 文件

只改属主                chown 用户名 文件

只改属组               chown :组名 文件   (   :   .    都可以)


umask

umask 的值可以用来保留在创建文件权限   

实现方式:

新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变

新建目录的默认权限: 777-umask

非特权用户umask默认是 002

root的umask 默认是 022


三种特殊权限

suid 

#chmod u+s /usr/bin/vim
#此处s表示当使用这个命令程序时,把当前用户当成文件的所属主

guid

#chmod g+s /usr/bin/vim

#此处g表示当使用这个命令程序时,把当前用户当成文件的所属组

Sticky

# Sticky 位
#具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
#在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
#sticky 设置在文件上无意义

[root@localhost aa]#chmod o+t /opt/aa
# 添加Sticky 位
[root@localhost opt]#chmod o-t /opt/aa 
#减少Sticky 位

你可能感兴趣的:(linux,运维,服务器)