Linux用户和组管理

进程以其发起者的身份运行;

进程对文件的访问权限,取决于发起此进程的用户的权限;

 

系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户;这类用户从不用登录系统;

 

 

groupadd命令:添加组

 

groupadd [选项] group_name

 

-g GID:指定GID;默认是上一个组的GID+1;

-r: 创建系统组;

 

groupmod命令:修改组属性

 

groupmod [选项] GROUP

-g GID:修改GID;

-n new_name:修改组名;

 

groupdel命令:删除组

 

groupdel [选项] GROUP

 

useradd命令:创建用户

 

useradd [选项] 登录名

-u, –uid UID:指定UID;

-g, –gid GROUP:指定基本组ID,此组得事先存在;

-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;

-c, –comment COMMENT:指明注释信息;

-d, –home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;

-s, –shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;

-r, –system:创建系统用户;

 

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs  

 

useradd -D:显示创建用户的默认配置;

useradd -D 选项: 修改默认选项的值;

 

修改的结果保存于/etc/default/useradd文件中;

 

usermod命令:修改用户属性

 

usermod [选项] 登录

-u, –uid UID:修改用户的ID为此处指定的新UID;

-g, –gid GROUP:修改用户所属的基本组;

-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;

-a, –append:与-G一同使用,用于为用户追加新的附加组;

-c, –comment COMMENT:修改注释信息;

-d, –home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;

-m, –move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;

-l, –login NEW_LOGIN:修改用户名;

-s, –shell SHELL:修改用户的默认shell;

 

-L, –lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";

-U, –unlock:解锁用户的密码;

 

userdel命令:删除用户

 

userdel [选项] 登录

-r:删除用户时一并删除其家目录;

passwd命令:

 

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]

 

(1) passwd:修改用户自己的密码;

(2) passwd USERNAME:修改指定用户的密码,但仅root有此权限;

 

-l, -u:锁定和解锁用户;

-d:清除用户密码串;

-e DATE: 过期期限,日期;

-i DAYS:非活动期限;

-n DAYS:密码的最短使用期限;

-x DAYS:密码的最长使用期限;

-w DAYS:警告期限;

 

–stdin:

echo "PASSWORD" | passwd –stdin USERNAME

 

gpasswd命令:

 

组密码文件:/etc/gshadow

 

gpasswd [选项] group

-a USERNAME:向组中添加用户

-d USERNAME:从组中移除用户

 

newgrp命令:临时切换指定的组为基本组;

 

newgrp [-] [group]

 

-: 会模拟用户重新登录以实现重新初始化其工作环境;

 

chage命令:更改用户密码过期信息

 

chage [选项] 登录名

 

-d

-E

-W

-m

-M

 

id命令:显示用户的真和有效ID;

 

id [OPTION]… [USER]

-u: 仅显示有效的UID;

-g: 仅显示用户的基本组ID;

-G:仅显示用户所属的所有组的ID;

-n: 显示名字而非ID;

 

su命令:switch user

 

登录式切换:会通过读取目标用户的配置文件来重新初始化

su – USERNAME

su -l USERNAME

非登录式切换:不会读取目标用户的配置文件进行初始化

su USERNAME

 

注意:管理员可无密码切换至其它任何用户;

 

-c 'COMMAND':仅以指定用户的身份运行此处指定的命令;

 

其它几个命令:chsh, chfn, finger, whoami, pwck, grpck

 

命令总结:groupadd, groupmod, groupdel, useradd, usermod, userdel, passwd, gpasswd, newgrp, id, su, chage

 

 

 

权限管理:

 

ls -l

rwxrwxrwx:

左三位:定义user(owner)的权限

中三位:定义group的权限;

右三位:定义other的权限

 

进程安全上下文:

进程对文件的访问权限应用模型:

进程的属主与文件的属主是否相同;如果相同,则应用属主权限;

否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组权限;

否则,就只能应用other的权限;

 

权限:

r:readable, 读

w:writable, 写

x:excutable,执行

 

文件:

r:可获取文件的数据;

w: 可修改文件的数据;

x:可将此文件运行为进程;

 

目录:

r:可使用ls命令获取其下的所有文件列表;

w: 可修改此目录下的文件列表;即创建或删除文件;

x: 可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息;

 

mode:rwxrwxrwx

ownership:user, group

 

权限组合机制:

— 000 0

–x 001 1

-w- 010 2

-wx 011 3

r– 100 4

r-x 101 5

rw- 110 6

rwx 111 7

权限管理命令:

chmod命令:

       chmod [OPTION]… MODE[,MODE]… FILE…

       chmod [OPTION]… OCTAL-MODE FILE…

       chmod [OPTION]… –reference=RFILE FILE…

 

       三类用户:

         u:属主

         g:属组

         o:其它

         a: 所有

 

       (1) chmod [OPTION]… MODE[,MODE]… FILE…

 

         MODE表示法:

          赋权表示法:直接操作一类用户的所有权限位rwx;

           u=

           g=

           o=

           a=

 

          授权表示法:直接操作一类用户的一个权限位r,w,x;

           u+, u-

           g+, g-

           o+, o-

           a+, a-

 

        (2) chmod [OPTION]… OCTAL-MODE FILE…

 

        (3) chmod [OPTION]… –reference=RFILE FILE…

 

        选项:

         -R, –recursive:递归修改

 

        注意:用户仅能修改属主为自己的那些文件的权限;

 

从属关系管理命令:chown, chgrp

 

chown命令:

chown [OPTION]… [OWNER][:[GROUP]] FILE…

          chown [OPTION]… –reference=RFILE FILE…

 

          选项:

           -R:递归修改

 

         chgrp命令:

 

          chgrp [OPTION]… GROUP FILE…

          chgrp [OPTION]… –reference=RFILE FILE…

 

         注意:仅管理员可修改文件的属主和属组;

 

        思考:用户对目录有写权限,但对目录下的文件没有写权限时,能否修改此文件内容?能否删除此文件?

         模拟之;

 

        umask:文件的权限反向掩码,遮罩码;

         文件:

          666-umask

         目录:

          777-umask

 

         注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其加1;

          umask: 023

           666-023=644

           777-023=754

 

         umask命令:

          umask:查看当前umask

          umask MASK: 设置umask

 

         注意:此类设定仅对当前shell进程有效;

原创文章,作者:N24_小颜,如若转载,请注明出处:http://www.178linux.com/60284

(0)
N24_小颜N24_小颜
上一篇 2016-11-21 21:24
下一篇 2016-11-21 21:25

相关推荐

  • Linux文本处理三剑客之GNU awk的使用

    awk: Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 有多种版本:New awk(nawk),GNU awk(gawk) gawk –模式扫描和处理语言 基本用法:     awk[options] ‘program’ var=value file…   &nb…

    Linux干货 2016-10-06
  • Mariadb数据库复制系列(四):复制过滤器的实现

       实验四:复制过滤器的实现 复制过滤器的作用是让从节点仅复制主节点的指定的库,或指定数据库的指定表,而不是全部复制。其配置方式有两种,一种是在主节点上配置,通过定义主节点只记录部分库或表产生的二进制日志时间来实现;一种是通过从节点上配置,当复制了主节点的所有的二进制日志数据后,在SQL线程执行时,只执行指定的库或表相关的二进制日志时间;一般采取在从节点上…

    Linux干货 2016-11-24
  • 进程的简单概念

    什么是进程?进程是载入内存的一个指令集合。 PID代表进程号, centos7之前的第一个进程都为inet。centos7的第一个位systemd 进程优先级分为系统优先级和实时优先级,系统优先级0到139表示,值越大优先级越低。centos6用0到98表示值越大优先级越低 实时优先级用99到0表示,值越大优先级越高。 进程类型:守护进程和前台进程。(俩者可…

    Linux干货 2017-05-08
  • Shell 变量类型及用法

    一、      什么是变量          变量源于数学,在计算机语言中能储存计算机结果或能表示值的抽象概念,变量可以由变量名访问,在指令语言中,变量通常是可变的。Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个…

    Linux干货 2016-08-12
  • Ansible安装部署及常用模块详解

    Ansible命令使用 Ansible语法使用ansible <pattern_goes_here> -m <module_name> -a <arguments> -m NAME,–module-name=NAME:指定执行使用的模块 -u USERNAME,–user=USERNAME:指定远程…

    2017-07-11