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
下一篇 2016-11-21

相关推荐

  • AWK——文本处理三剑客

    GNU awk ·文本处理三工具:grep,sed,awk          grep,egrep,fgrep:文本过滤工具:pattern          sed:行编辑器  &nbsp…

    Linux干货 2016-09-20
  • 看了还想看—普通权限及umask

        权限在操作系统是尤为重要的,无论是windows和linux中,都少不了权限这么一说,权限的大小决定了你能操作些什么,在linux中,权限对目录和文件的意义是不同的,并且还有特殊权限。今天,我们就来说说一说权限在linux中的重要性以及权限操作命令。     权限:权限决…

    Linux干货 2016-08-03
  • 高级文件系统管理之逻辑卷管理

    一,概述 逻辑卷管理器(LVM)     LVM: Logical Volume Manager, Version:2          dm:device mapper (设备映射),将一个或多个底层块设备组织成一个逻辑设备的模块 &nb…

    Linux干货 2016-09-10
  • 链接分析算法之:HillTop算法

       Hilltop算法是由Krishna Baharat 在2000年左右研究的,于2001年申请专利,但是有很多人以为Hilltop算法是由谷歌研究的。只不过是Krishna Baharat 后来加入了Google成为了一名核心工程师,然后授权给Google使用的。     &nbsp…

    大数据运维 2015-04-08
  • 第五周学习总结-rpm&yum

    我们都知道,计算机只能识别二进制程序,而程序员编写的源代码都是以纯文本形式存在,因此,要想让计算机识别并运行这些源代码程序,就必须通过中间的转换机制让源代码变为二进制程序文件,而这种转换过程就称为编译过程。Linux的各发行版本中由于各厂商的编译过程不尽相同,因此就诞生了各种不同的软件管理包组件。其中我们最熟知的就要数Redhat系列的rpm包了。 rpm包…

    2018-01-03
  • 制作epel源

    在linux的使用过程中,ISO镜像的rpm包并不是十分的齐全。这个时候就需要去epel源去下载安装rpm包安装。这里简单的描述下epel源的配置方法。仅供参考。 1.关闭SELinuxsed -i.bak ‘s/SELINUX=enforcing/SELINUX=permissive/’ /etc/selinux/config se…

    2017-12-18