linux入门- 用户权限管理,组管理和时间管理

用户权限管理,组管理和时间管理

用户管理

保存用户信息的文件:/etc/passwd

文件详解:  root:x:0:0:root:/root:/bin/bash
用户名	  用户登陆系统的用户名
密码	  密码位
UID	      用户标示号
GID	      默认组标示号
描述信息	  存放用户的描述信息
宿主目录	  用户登陆系统的默认目录,默认是在/home/下
命令解析器  用户使用的Shell,默认是bash

保存用户密码信息的文件:/etc/shadow

root:$6$t9/xsbuGPTNn.TEo$915S0CmKqu/dz5B5zEkQ7TbFzs91ZFfU0Ct6Sdr91sB0leAqc4Ffse3SDm.Gvlu5jd1KTbHoGrLdEcHZMGUvQ/::0:99999:7:::
  文件详解:
       用户名	  登陆系统的用户名
密码	加密密码
最后一次修改时间	  用户最后一次修改密码距现在的天数,从1970-1-1起
最小时间间隔	      两次修改密码之间的最小天数
最大时间间隔	      密码有效天数
警告时间	          从系统警告到密码失效的天数
账号闲置时间	      账号闲置时间
失效时间	          账号失效的绝对天数(从1970-01-01开始)
标志	              保留字段

用户分类

超级用户:(root,UID=0)
普通用户:(centos7UID在1000到60000)      centos6(500-6000)
伪用户:  (centos7UID在1到999)     centos6(1-499) 
系统和服务相关的:bin、daemon、shutdown等
进程相关的:mail、news、games等
          伪用户不能登陆系统 

添加用户命令:useradd

-u 指定用户ID(uid)
-g 指定所属的组名(gid) 主组
-G 指定多个组,用逗号“,”分开(Groups) 其他组
-c 用户描述(comment)  ;
-e 失效时间(expire date)
创建:
useradd -u 1888 -g users -G sys,root -c "描述信息" ua
useradd   ub
useradd   uc
useradd   ud
useradd   ue
     (centos 7之前的版本,伪用户从1-999   centos7之后伪用户使用1-999   当前版本普通用户ID应该是1000到60000)
设置密码:
     passwd  ua    //密码设置两次
     passwd  ub
切换用户  su
 su -l ua
 su -l  ub
 su -l ua
 su -l  root
超级用户向普通用户切换不需要密码,普通用户向其他普通用户或者root用户切换都必须要密码

修改用户命令:usermod(user modify)

-l  修改用户名 (login)usermod -l a b(b改为a)
 usermod -l ucc uc
-g 添加组 usermod -g sys tom
       groups ua
       usermod  -g  root  ua
       groups ua
-G 添加多个组 usermod -G sys,root tom
      usermod -G sys,users ua
      groups ua
–L 锁定用户账号密码(Lock)
     usermod -L ub    //锁定b用户,普通用户即使被锁定,root依然可以登录
     su -l ua
     su -l ub     //发现密码正确,依然提示鉴定故障  因为被锁定
    
–U 解锁用户账号(Unlock)
     su -l root   //切换到root  解锁
     usermod -U ub
     su -l ua
     su -l ub     //发现密码正确,就切换用户了

删除用户命令:userdel(user delete)

-r  删除账号时同时删除目录(remove)
  userdel ud   //只是删除用户信息
  tail -5 /etc/passwd
  ls /home
  userdel -r ue 同时删除/etc/passwd里的信息
  tail -5 /etc/passwd
  ls /home

组管理

保存用户组的文件:/etc/group

文件详解:
组名	    用的所在的组
组密码	    密码位,一般不使用
GID	        主标示号
组内用户列表	属于该组的用户列表(从组)

添加组:groupadd

 -g 指定gid
      groupadd -g  16666  groupa
      groupadd  groupb
      groupadd  groupc
      tail  /etc/group  //显示文件后10行

修改组:groupmod

-n 更改组名(new group)
    groupmod  -n  groupaa  groupa  //把groupa的名称改为groupaa
    tail  /etc/group

删除组:groupdel

  groupdel groupaa   //删除组
  tail  /etc/group  

groups 显示用户所属组

 groups    用户名
 groups    ua

其他组相关命令

chgrp  改变目录或者文件所属组(只改组)
  用法:
  ll |grep aaa   //查看aaa所属组
  chgrp groupb  aaa    改变aaa原来所属组root 改为groupb
  ll |grep aaa   //查看aaa所属组
 	
chown  	 改变目录或者文件 所属用户及所属组
     ll |grep aaa     //查看aaa所属用户及组
     chown ua:groupc aaa      //改变aaa目录的所属用户及所属组
     ll aaa
     ll aaa/bbb/    //发现子孙目录没有变化
     chown -R  ua:groupc aaa   // 子孙目录都改变
     ll aaa
     ll aaa/bbb/    //发现子孙目录都变化

Sudo命令

一般用在非root用户下,临时提升非root用户的权限。
第一步:必须要在/etc/sudoers中配置非root用户
第二步:执行命令sudo reboot,输入该用户的密码,成功重启。

ls /sbin|grep reboot    
ls /sbin|grep shutdown  这些命令都是root用户才有权限执行的。
      
su -l   ua
sudo  shutdown -h now    //提示ua不在sudoers文件中   无权执行
su -l root
vim /etc/sudoers
:100
复制100  修改用户名
su -l ua
sudo  reboot   // 重启了
其他任何普通用户不能执行命令,都可以这么做。。。。

时间管理

GMT Greenwich Mean Time 格林尼治标准时间
CST 可视为美国、澳大利亚、古巴或中国的标准时间。
CST:Central Standard Time (USA) 中部标准时间(美国) UTC -6:00
CST:Central Standard Time (Australia) 中部标准时间(澳大利亚) UTC 9:30
CST:China Standard Time 中国标准时间(北京时间) UTC 8:00
CST:Cuba Standard Time 古巴标准时间 UTC -4:00
UTC 世界统一时间、世界标准时间、国际协调时间
DST 夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用。
PDT (Pacific Daylight Time)太平洋夏季时间。

列出所有时区:timedatectl   list-timezones 
查看当前系统时间:timedatectl
设置系统时区为上海: timedatectl  set-timezone  Asia/Shanghai
查看当前时间:date
查看硬件时间:hwclock -r or  --show
修改当前时间:date MMDDhhmmYYYY
            date  '121212122022'  
	        date -s  '2022-07-07 11:11:11'
用系统时间同步硬件时间:hwclock -w or --systohc      
用硬件时间同步系统时间:hwclock -s or  --hctosys    
使用ntpd服务同步网络时间:(centos7默认没有该服务,需要安装)
yum -y install  ntp  ntpdate          安装ntp  ntpdate服务
ntpd 网络时间协议服务:(centos7下默认没有该服务)
	查看启动状态 ntp(network time protocol) 
	   service ntpd status
	手动同步:
	   ntpdate  cn.pool.ntp.org   
	启动:
	   service ntpd start
	设置开机启动(chronyd时间服务和ntpd冲突)
	   systemctl disable chronyd
	   systemctl enable  ntpd    //设置开机启动
	ntpq -p  查看 同步间隔   

结果详细解释

ntpq -p命令列出了所有作为时钟源校正过本地NTP服务器时钟上层NTP服务器的列表,每一列的含义分别如下:
	remote:响应请求的NTP服务器的名称(IP地址或域名),带“*”的表示本地NTP服务器与该服务器同步
	refid:远程NTP服务器使用的上一级ntp服务器的IP地址
	st:远程NTP服务器的级别,由于NTP是层级结构,有顶端的服务器,多层的Relay Server再到客户端。所以服务器从高到低,级别可以设定为1~16级。为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器。
	t:本地NTP服务器与远程NTP服务器的通信方式。u:单播;b:广播;I:本地
	when:上次成功请求后到现在的秒数
	poll:本地NTP服务器与远程NTP服务器同步的时间间隔。
	reach:这是一个八进制的值,用来测试衡量前八次查询是否成功和服务器连接。377表示都成功,0表示不成功
	delay:网络延时,单位为微秒(μs)
	offset:本地NTP服务器与远程NTP服务器的时间偏移,单位为毫秒(ms)。offset越接近于0,主机与NTP服务器的时间越接近
	jitter:查询偏差的分布值,用于表示远程NTP的网络延时是否稳定,单位为微秒(μs)。

完结撒花,see you娜拉

猜你喜欢

转载自blog.csdn.net/weixin_44834205/article/details/126401590