每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要.相关的知识,希望对你有一定的参考价值。

我搜的是“linux shell”,这是百度百科上的一句话,请问是什么意思?最好能详细说下,谢了。

类似Windows操作系统上每个用户登录之后可以设置自己的桌面图片、“开始”菜单内容等个性化配置,Linux操作系统也可以对不同用户进行类似的配置。
不过Unix体系的操作系统(包括Linux)最基本的“用户界面”是称为Shell的一种程序,这种程序专门接收用户输入的指令并提供相应的运行环境,直观感知类似DOS(也有一类图形化的界面,工业标准为XWindow)。
相对于Windows这种封闭的商业软件只提供一个用户界面(就是你看到的“Windows”,尽管你可以个性化定制,但本质上是“同一个”),Unix类操作系统有不同的Shell供用户选用,如bash、csh等,这些Shell程序可能是操作系统带有的,也可以是你自己到别处找来安装的(这是Unix开放性的一种体现)。不同的Shell的区别主要包括命令集的内容、具体命令格式等,具体可以参考有关的文档。用户可以配置一种默认的Shell程序,这样当他登录系统后,系统自动运行这个Shell程序,用户就自动进入这个Shell程序提供的“运行环境”了。当然,用户也可以在登录后自行运行所需要的Shell程序。追问

谢谢,还有问题,比如好几个人,用不同的shell登陆linux,那他们各自对系统做的设置修改会影响到别人吗?这跟权限有关吧? 还有他们各自如果创建文件的话别人会看见吗?还是完全独立开的各不联系?

追答

每个用户帐号建立时,系统会为他建立一个配置文件(文件名.profile),有关Shell之类的个性化配置都保存在这里,用户之间互不干扰。其实Windows也是类似的机制。
不同用户建立文件时,会设定三个级别的三种存取权限,三个级别分别是用户(自己)、用户组、全局,三种存取权限是可读、可写(修改)、可运行,组合起来就决定了各个用户对该文件能不能查看、修改、运行。创建文件时的默认的权限设置也可以按用户定制。

参考技术A 多人可以同时登录进系统,各自处理各自的事物,互不干扰。 参考技术B 刚入门啊,建议你还是多看看鸟哥的私房菜吧,可以学到很多很多

linux用户及管理权限

  linux用户大体分为两种:一是:管理员用户;二是普通用户,普通用户又可以分为系统用户和登录用户。因为linux是一个多用户多任务的系统,所以每一个要使用系统资源的用户,都要向管理员申请一个账号,使用这个账号登录到系统。每个用户都拥有一个自己的名字和密码,以登录到用户。

  每个用户都有唯一的用户标识(userid,UID),是以16bits二进制数字来表示0-65535。以CentOS为例管理员用户的UID是0;普通用户的UID为1-65535,其中系统用户的UID在centos6及早些版本为1-499,在CentOS7中为1-999。登录用户在CentOS6及早些版本为500-60000,在CentOS7中为1000-60000。

  有些时候一些用户需要统一管理,于是就可以创建一些用户组。同理用户组也分为管理员组和普通用户组,他们也有他们的组标识(GID),他们的分配方法与UID的完全相同。有时一个用户需要多重身份在系统工作,所以用户组又可以分为用户的主组和附加组。也因为权限的不同可以分为私有组和公共组,顾名思义私有组属于用户自己私有,所以私有组与用户名同名且只有一个用户,公共组就可以拥有多个成员。

  当用户登录linux系统时,由于linux并不认识账号名称,所以它会先去查找一个名为/etc/passwd的文件,通过识别UID进行名称解析,用户组名称也需要解析,但是它是通/etc/group的文件进行名称解析。用户的密码存储在/etc/shadow文件下,用户组的密码存储在/etc/gshadow下。为了防止账户丢失,密码都是通过加密保存的,加密算法通常有以下三类:对称加密,非对称加密和单项加密。

    对称加密即为加密和解密使用同一个密钥,特点是加密解密速度快,缺陷是密钥分发困难,需要记的密钥过多;

     非对称加密使用是一对密钥,同时密钥对又可分为公钥和私钥。特点是加密和解密使用不同的密钥,缺陷是加密速度慢;

    单项加密就是只能加密不能解密,它的的特点是定长输出,无论密码多长,通过它加密后的输出结果都是定长的,所以发生一些微小的变化都容易发生雪崩效应。主要算法有MD5,sha1等。



用户管理一些常用的命令


 添加用户的命令: useradd    格式为:useradd [选项] 登录名

        常用选项为:  

          -u 、--uid: 指定UID

          -g 、--gid :指定基本组ID ,此组必须事先存在

          -G --groups :指明用户所属的附加组,多个组用逗号分隔

          -c 、 --comment :指明注释信息

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

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

          -r  --system : 创建系统用户

   创建用户是的诸多默认设置配置文件为/etc/login.defs


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

     useradd -D 【选项】:修改默认的选项值 ,修改 的结果保存于/etc/default/yseradd文件中

 

    usermod命令 :修改用户属性

          命令格式   usermod [选项] 登录名

      常用选项   -u  :  修改UID

              -g  : 修改GID

             -G  : 修改用户所属的附加组    ,原来的附加组会被覆盖

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

              -c  :修改注释信息

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

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

              -l  :修改用户名

              -s  :修改用户的默认shell

              -L  :锁定用户密码;即在用户原来密码字符串之前添加“!

              -U : 解锁用户的密码


    userdel命令 :删除用户

            命令格式     userdel [选项] 登录名

            常用选项          -r  : 删除用户时一并删除其家目录


    passwd命令:

            ① passwd :修改用户自己的密码

            ② passwd USERNAME: 修改指定用户的密码,默认仅root有此权限

                常用选项    -l ,-u : 锁定和解锁用户

                            -d : 清除用户密码

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

                            -i  DAYS :非获得期限

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

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

                            -w DAYS : 警告期限



     groupadd 命令 :添加组

            groupadd  【选项】 groupname

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

                    -r : 创建系统组;

       groupmod 命令: 修改组属性

              groupmod   [选项] groupname

            常用选项  -g :修改GID

                    -n :修改组名

        groupdel :删除组

                groupdel [选项] group


    gpasswd命令 :  

       组密码文件:/etc/gshadow 

            gpasswd [选项] group

                    -a USERNAME :向组中添加用户

                    -d USERNAME :从组中移除用户

        

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

            newgrp [-] [group]

                    - : 模拟用户重新登录以实现重新初始化工作状态

    

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

          chage [选项] 用户名

         常用选项       -m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。 

                        -M:密码保持有效的最大天数。

                         -w:用户密码到期前,提前收到警告信息的天数。

                         -E:帐号到期的日期。过了这天,此帐号将不可用。

                         -d:上一次更改的日期。 

                          -i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

                         -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期

        

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

        ID  [选项] ...[用户]

                -u : 仅显示有的UID

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

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

                -n : 显示名字而非ID 

                

    su 命令 : switch user 

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

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

    管理员可无密码切换至其他任何用户

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


权限管理:

   用户在系统中所扮演的角色不用,所拥有的权限就有所不同,权限基本分为r(read),w(write),x(execute)三种权限。模型为:rwxrwxrwx 所有者为:用户或用户组但是相同权限所针对的对象不同,意义有所不同。同时也可用数字表示r=4,w=2.x=1

    文件: r:可获取文件的数据,w:可修改文件的数据,x:可将此文件运行的进程;

     目录:r:可使用ls命令获取其下的所有文件列表,w:可修改此目录下的文件列表,x : 可cd至          此目录中,且可使用 ls -l 来获取所有文件的详细属性信息

            文件一般为数据记录,不需要执行(x)权限, 即  -rw-rw-rw-,最大为666

            目录的x权限表示用户能否进入, 默认应该所有权限打开, 即 drwxrwxrwx, 为777权限。

  权限管理命令:

     chmod命令:更改权限

          ① chmod [OPTION]... MODE[,MODE]... FILE...

          ②chmod [OPTION]... OCTAL-MODE FILE...

          ③chmod [OPTION]... --reference=RFILE FILE...

            三类用户: u:属主 g:属组 o:其他 a:所有

                    

          选项: -R, --recursive : 递归修改                                    change files and directories recursively

    chown命令:更改属主属组

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

          chown [OPTION]... --reference=RFILE FILE...

              -R, --recursive:递归修改             

     chgrp命令:更改属组

           chgrp [OPTION]... GROUP FILE...

           chgrp [OPTION]... --reference=RFILE FILE...

  进程访问文件所拥有的权限:

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

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

     否则,就应用other的权限

 通常用户创建的普通文件和目录的权限是不同的,这是因为有umask的存在,umask为文件默认权限,是文件的权限的反向掩码。通过执行umask命令可以看到四位数字,umask返回4位的数字,第一位是特殊权限,可以先只看后三位,一般root用户的umask为0022表示----w--w-,普通用户的umask为0002表示-------w-

  默认权限的计算:  文件的权限:666-umask, 目录的权限:777-umask

     umask命令:查看当前umask

     umask MASK:设置umask    但此类设定仅对当前shell进程有效




本文出自 “11448219” 博客,请务必保留此出处http://11458219.blog.51cto.com/11448219/1791350

以上是关于每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要.的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习笔记——Linux用户管理和权限管理

Linux用户组管理

linux下root用户不是拥有所有权限吗,为啥挂载光盘时不是这样?

如何更改linux文件目录拥有者及用户组

1.10 Linux文件目录用户与用户组修改

用户和用户组