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

相关推荐

  • 马哥教育网络班20期+第6周课程练习

    vim编辑器使用总结 一、文件的打开与关闭             打开文件:                 # vim [OPTION]… FILE…      …

    Linux干货 2016-07-17
  • centos 6.5下搭建svn服务端

    1、先配置好yum源,svn的包在系统光盘里就有 2、yum install subversion #安装svn的服务端程序 3、mkdir -p /application/svndata #创建svn的数据存储目录,名字可以随便取 4、svnserve -d -r /application/svndata/ #指定svn的数据存储目录,就是刚才创建的 5、…

    Linux干货 2015-10-08
  • LINUX-初学正则表达式

    正则表达式    简介       REGEXP:由一类特殊字符及文本字符由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)                    不表示字符字面意义,而表示控制或通配…

    2017-06-04
  • 路径操作

    路径操作模块 3.4版本之前 os.path模块 from os import path p = path.join(‘/etc’, ‘sysconfig’, ‘network’) print(type(p), p) print(path.exists(p)) print(path.split(p)) print(path.abspath(‘.’)) p =…

    2017-10-27
  • Centos系统 本地自动安装

    §·Centos系统光盘安装的流程 大概的了解下Centos的光盘系统安装流程: 1.插入光盘,出现菜单选择界面;通常情况下我们选择第一项: 第一项 : Install  or upgrade an existing system   2.默认进入图形界面安装并且进行一些必要的环境设置(安装前的配置阶段) 需要我们手工设置的项目…

    Linux干货 2016-09-15
  • Linux网络属性配置

      如何将linux主机接入到TCP/IP网络中:     第一步:         配置IP/NETMASK(ip地址、子网掩码):本地通信     第二步:   &n…

    Linux干货 2016-12-16