linux修改时间_Linux用户与用户组

0b113b8b414f5b8a032eceec867a1166.png

Linux 是一个多用户、多任务的操作系统;我们应该了解单用户多任务和多用户多任务的概念;

理解单用户和多用户

Linux 的单用户多任务:

比如我们以yanhui 登录系统,进入系统后,我要打开vim 来写文档,但在写文档的过程中,我感觉少点音乐,所以又打开Spotify来点音乐;当然听点音乐还不行,微信 还得打开,想知道几个弟兄现在正在做什么,这样一样,我在用yanhui 用户登录时,执行了vim、spotify以及微信等,当然还有输入法sougou ;这样说来就有点简单了,一个yanhui用户,为了完成工作,执行了几个任务;当然yanhui这个用户,其它的人还能以远程登录过来,也能做其它的工作。

Linux 的多用户、多任务:

有时可能是很多用户同时用同一个系统,但并不所有的用户都一定都要做同一件事,所以这就有多用户多任务之说。比如同一个系统下,有多个项目要发布,不同的工程师就可以登录到这个系统,用同一个系统,做不同的发布工作。 需要注意的是:多用户多任务并不是大家同时到一台机器的的键盘和显示器前来操作机器,多用户可能通过远程登录来进行,比如对服务器的远程控制,只要有用户权限任何人都是可以上去操作或访问的。

多用户的角色区分:

用户在系统中是分角色的,在Linux系统中,由于角色的不同,权限和能完成的任务也不同,值得注意的是用户的角色是通过UID和识别的,特别是UID;在系统管理中,系统管理员一定要坚守UID 唯一的特性;

root 用户:系统唯一,也称为真实用户,可以登录系统,可以操作系统任何文件和命令,拥有最高权限; 虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户; 普通真实用户:这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的;

多用户操作系统的安全:

多用户系统从使用上来说对系统管理更为方便。从安全角度来说,多用户管理的系统更为安全,比如yanhui用户下的某个文件不想让其它用户看到,只用设置一下文件的权限,就只有yanhui这一个用户可读可写可编辑就行了,这样一来只有yanhui一个用户可以对其私有文件进行操作。Linux 在多用户下表现最佳。

从服务器角度来说,多用户的下的系统安全性也是最为重要的,我们常用的Windows操作系统,它在系纺权限管理的能力只能说是一般般,根本没有没有办法和Linux或Unix 类系统相比;

用户(user)和用户组

用户(user)的概念

通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user)。比如其他同事想用我的计算机,但我不想让他用我的用户名登录,因为我的用户名下有不想让别人看到的资料和信息,这时我就可以给他建一个新的用户名,让他用我所开的用户名去折腾,这从计算机安全角度来说是符合操作规则的;

当然用户(user)的概念理解还不仅仅于此,在Linux系统中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,比如我们访问http://LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody ;如果想多了解Linux系统的一些用户,请查看 /etc/passwd ;

用户组(group)的概念

用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;

举例:我们为了让一些用户有权限查看某一文档,比如是一个时间表,而编写时间表的人要具有读写执行的权限,我们想让一些用户知道这个时间表的内容,而不让他们修改,所以我们可以把这些用户都划到一个组,然后来修改这个文件的权限,让用户组可读,这样用户组下面的每个用户都是可读的;

用户和用户组的对应关系是:一对一、多对一、一对多或多对多;

  • 一对一:某个用户可以是某个组的唯一成员;
  • 多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如yanhui和alan两个用户只归属于bewithu这个用户组;
  • 一对多:某个用户可以是多个用户组的成员;比如yanhui可以是root组成员,也可以是summer用户组成员,还可以是hzy用户组成员;
  • 多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;其实多对多的关系是前面三条的扩展;理解了上面的三条,这条也能理解;

用户(user)和用户组(group)相关文件、命令、目录

用户配置文件

/etc/passwd 注:用户的配置文件

/etc/shadow 注:用户影子口令

解释一下/etc/shadow存的内容: linux的root密码存在于“/etc/shadow”这个文件中,不过要有root权限才能在linux下看到“/etc/shadow”这个文件。如果没有设置root的密码,root第一个:后是!如图:

19b540201dab1d4314bc8ed4f75556af.png

如果设置了root的密码,就会变成下面:

9137860f9afe213eff86017e7dde8fcb.png

在这里,主要是对shadow密码存储结构做一些介绍,参考了一下网络上的相关内容,自己总结一下。 密文字符串格式为:$id$salt$encrypted,通过$来分割,其中$id用来指定使用的算法,如下表格所示:

624a1397bbc9acf546ce9349845e246a.png

从我上面的截图可以看到,密文采用的是SHA-512算法。$salt是一个最多16个字符的随机生成的字符串,用来增加破解难度。$encrypted就是通过加密算法和salt算出来的密文。

接下来,描述一下这个密码存储的结构。

  1. 账户名:账户名与/etc/passwd里面的账户名是一一对应的关系。
  2. 密码:这里可以看到3类,分别是奇奇怪怪的字符串、*和!!其中,奇奇怪怪的字符串就是加密过的密码文件。星号代表帐号被锁定,双叹号表示这个密码已经过期了。奇奇怪怪的字符串是以$6$开头的,表明是用SHA-512加密的,$1$ 表明是用MD5加密的、$2$ 是用Blowfish加密的、$5$是用 SHA-256加密的。
  3. 修改日期:这个是表明上一次修改密码的日期与1970-1-1相距的天数密码不可改的天数:假如这个数字是8,则8天内不可改密码,如果是0,则随时可以改。
  4. 密码需要修改的期限:如果是99999则永远不用改。如果是其其他数字比如12345,那么必须在距离1970-1-1的12345天内修改密码,否则密码失效。
  5. 修改期限前N天发出警告:比如你在第五条规定今年6月20号规定密码必须被修改,系统会从距离6-20号的N天前向对应的用户发出警告。
  6. 密码过期的宽限:假设这个数字被设定为M,那么帐号过期的M天内修改密码是可以修改的,改了之后账户可以继续使用。
  7. 帐号失效日期:假设这个日期为X,与第三条一样,X表示的日期依然是1970-1-1相距的天数,过了X之后,帐号失效。
  8. 保留:被保留项,暂时还没有被用上。

用户组配置文件

/etc/group 注:用户组(group)配置文件

/etc/gshadow 注:用户组(group)的影子文件

相关命令

用户的

useradd 注:添加用户 或 adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以用来修改登录名、用户的home目录
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
finger 注:查看用户信息工具 
id 注:用户的uid、gid既所属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:通过另一个用户来执行命令,如果要用sudo不需要root密码就可以执行命令,需要编辑/etc/sudoers来实现

用户组的

groupadd 注:添加用户组
groupdel 注:删除用户组
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值