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

相关推荐

  • grep与正则表达式

    一、grep        grep常用于文本搜索。通过自定义的模式(pattern),筛选出使用者需要的文本内容。除了有grep,还有egrep和fgrep。其中egrep = grep  –E,而fgrep则是不支持正则表达式。     &nbs…

    2017-07-29
  • 【Linux基础】计算机及操作系统基础

    【Linux基础】计算机及操作系统基础 计算机的组成及其功能 计算机的组成 简单来说,计算机应由两部分组成:第一部分:硬件 冯诺依曼结构体系 当前计算机主要是基于冯诺依曼体系结构设计的,在该体系中,计算机硬件由5个部件组成。分别是:运算器、控制器、存储器、输入设备和输出设备。而现今运算器和控制器一般集成在一起,叫中央处理器(Central Processin…

    Linux干货 2018-03-04
  • 作业:0805

    1.查出用户UID最大值的用户名、UID及shell类型 > cat /etc/passwd|cut -d: -f 1,3,7 |sort -t: -k2 -n| tail -1 2.查出/tmp的权限,以数字方式显示 > st…

    Linux干货 2016-08-08
  • 马哥教育网络班21期-第四周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -a /etc/skel/ /home/tuser1 chmod -R 700 /home/tuser1/  2、编辑/etc/group文件,添加组hadoop。 echo "hadoop:x:2…

    Linux干货 2016-08-05
  • DNS服务器类型及查询过程

    什么是DNS   DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。 DNS域名称   域名系统作为一个层次结构和分布式数据库,包含各种类型的数据,…

    Linux干货 2017-02-08
  • Bash的I/O重定向及管道

    每周更新的博客定时派送啦,本周与大家一起分享的是重定向和管道 首先了解一下 读入数据:Input 输出数据:Output 我们来看一下重定向:  >  覆盖重定向 上面图中 > 文件名     创建空文件 touch 文件名 创建空文件 这两种方法都可以创建一个新的文…

    2017-07-21