权限管理

权限:计算机资源的访问能力

Linux定义了三种用户的使用权限:属主、属组和其他用户

安全上下文:用户是资源访问的凭证,计算机资源实际由进程访问,因而进程的权限由所发起用户的权限决定

权限(r, w , x)

文件:

  r:可读

  w:可写

  x: 可执行

目录:

  r:可以查看目录之下的文件

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

  x:可以切换进此目录,或可以查看内部文件的详细信息

三类用户(u:user;  g: group;  o: others)

每一类用户的权限由三位组成

权限的8进制表示法:

  0   000  ---  无权限

  1   001   --x  可执行、

  2   010   -w-  可写

  3   011   -wx  写和执行

  4   100   r--  只读

  5   101   r-x  读和执行

  6   110   rw-  读写

  7   111   rwx  读写执行 

eg: 755表示 rwxr-xr-x

属性管理命令:

  #chown: (管理员命令)改变文件或目录属主

   #chown USERNAME file....

   #chown [USERNAME]:GROUPNAME file: 修改文件属主和属组,GROUPNAME前加冒号,    USERNAME为可选项

    -R:修改目录及其内部文件的属性

    --reference=/path.../fiel1 file2: 将file2的属性改为file1的属性(属主属组均改变)  

  

  #chgrp: 修改文件的属组

   #chgrp GROUPNAME file

    -R: 递归修改属性

    --reference=file1 file2: 修改file2的属性为模板file1的属性

权限管理命令:

   chmod: 修改文件权限

    修改三类用户的权限:

      chmod MODE file,...

        -R: 递归修改

        --reference=file1 file2...

    修改某类或某些类用户(u,g,o,a)权限:

      chmod u=rwx file,...

      chmod u=rwx g=rwx file

      chmod ug=rwx file

    修改某类用户的某位或某些位权限

      chmod 用户类别+r file

      chmod 用户类别-w file

      chmod u+x,g-x file

      chmod u-wx file

 

umask: 遮罩码

创建文件的默认权限为666-umask,目录的默认权限为777-umask

umask 数字 :设置umask值

 

站在用户登录的角度来说,shell的类型:

  登录式shell:

  读取路径:/etc/profile --> /etc/profile.d/*.sh -->  ~/.bash_profile --> ~/bashrc --> /etc/bashrc

     正常通过某终端登录

     su - USERNAME

     su -l USERNAME

  非登录式shell:

  读取路径:~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh

     su USERNAME

     图形终端下打开命令窗口

     自动执行的shell脚本

 

bash 的配置文件

全局配置:

  /etc/profile, /etc/profile.d/*.sh,  /etc/bashrc

个人配置:

  ~/.bash_profile,  ~/.bashrc

profile 类:

  设定环境变量

  运行命令或脚本

bashrc类:

  设定本地变量

  定义命令别名

 

 

 

 

 

 


 

  

 

 

UID:用户ID号  /etc/passwd 是其数据库(信息库)

GID:组ID  /etc/group 是其数据库(信息库)

影子文件(密码加密存放文件):/etc/shadow,    /etc/gshadow

 

用户类别:

  管理员(UID为0)

  普通用户(UID为1-65535)

    系统用户(1-499)

    一般用户(500-65535)

 

用户组:

  管理员组

  普通组

    系统组

    一般组

私有组: 创建一个用户时若未指明其组,则会给该用户创建一个与用户同名的私有组

       每一个用户至少属于一个组,即至少在私有组

基本组:用户的默认组

附加组: 基本组以外的其他组

 

#cat /etc/passwd 的显示字段含义:

account、passwd、UID、GID(基本组ID)、GECOS(可选注释信息)、HOME DIR(家目录)、SHELL(用户默认shell)

#cat /etc/shadow的显示字段含义:

account、加密密码、days(从1970年1月1号到上次密码修改所经过的天数)、days(密码最短使用时间)、(密码最长使用时间)、days(离密码过期剩的天数)、days(密码过期后离账户锁定还剩的天数)、days(账户有效期,从1970.1.1算起)

 

#cat /etc/group 的显示字段含义

组名、密码占位符、组ID、以此组为附加组的用户列表

 

useradd USERNAME: 增加用户

属性由 /etc/default 决定

#passwd USERNAME:修改普通用户密码

 

groupadd GROUPNAME:添加组

 

用户管理命令

useradd:创建用户

useradd [options] USERNAME

  -u 指定UID

  -g 指定GID 或一个已存在的基本组

  -G GID...    指定附加组(可以有多个,用逗号隔开)

  -c  “comment”    指定注释信息

  -d /path/...  指定某个目录为用户的家目录(若不指定,默认在/home下创建一个与用户同名的家目录)

  -s 指定shell 的路径

  -m 强制为用户创建一个家目录(-k一起使用,将/etc/skel中的文件复制到创建的家目录)

  -M 不为用户创建家目录

  -r :添加一个系统用户

创建用户的配置文件 :/etc/login.defs

注:/etc/shells 指定了当前系统可用的安全shell

    不让用户登录,可设shell路径为 /sbin/nologin

  SHELL 变量保存当前用户的默认shell

  

id USERNAME:查看用户的账号属性信息

  -u(只看UID)、-g(查看基本组的组ID)、-G(所属所有组的组ID)

  -n(显示名称而非ID号,与-u 、-g、 -G一起使用)

 

finger USERNAME:检索用户的账号信息

 

userdel:删除用户

userdel [option] USERNAME

  userdel :不删除用户的家目录

  -r: 删除用户同时删除其家目录

 

修改用户账号属性:

  usermod

    -u, -g, -G(覆盖原有附加组,加-a选项为追加附加组),-c, -d(指定新家目录,与-m一起使用为移动此前家目录的文件至新家目录),-s, -l(loginname,修改用户名), -L(锁定账号), -U(解锁账号)

   

  chsh: change shell, 修改用户默认shell

  chfn: 修改注释信息

chage

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

 

密码管理

  passwd [USERNAME]

    --stdin: 从标准输入读取

    -l : 锁定用户账号

    -u: 解锁账号

    -d: 删除用户密码(无法登录)

  pwck: 检查密码完整性

 

组管理:

  groupadd

    -g:指定GID

    -r: 添加系统组

  groupmod

    -g GID

    -n GROUPNAME

  groupdel

  gpasswd [GROUPNAME] :给组设定密码

  newgrp :切换基本组(切换到其他无属组需要密码,退出为exit)

    newgrp GROUPNAME <----> exit

 

手动创建用户:

  1.编辑 /etc/passwd 文件,添加用户基本信息;

  2.将 /etc/skel 复制到 /home/USERNAME;

  3.编辑 /etc/shadow 文件,添加加密密码。

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

  

 

posted on 2021-04-26 12:09  dream见  阅读(120)  评论(0编辑  收藏  举报