每个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也是类似的机制。
不同用户建立文件时,会设定三个级别的三种存取权限,三个级别分别是用户(自己)、用户组、全局,三种存取权限是可读、可写(修改)、可运行,组合起来就决定了各个用户对该文件能不能查看、修改、运行。创建文件时的默认的权限设置也可以按用户定制。
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需要.的主要内容,如果未能解决你的问题,请参考以下文章