Linux运维 第二阶段 (四)用户及用户组管理

简介:

1、配置文件(/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow):

#whatis passwd

#man 5  passwd(配置文件中各字段表示的内容)

account登录名:password密码:UID:GID基本组ID:GECOS注释comment:home  directory:shell用户的默认shell

#man 5  shadow

account:encrypted  passwd加密的密码:date of lastpassword change:minimum password age:maximum password age:password warningperiod:password inactivity period:account expiration date:reserved field

/etc/skel(模板文件目录,skeleton骨骼,骨架,包括:.bashrc,.bash_logout,.bash_profile

/etc/default/useradd(指定创建用户时的某些默认值)

/etc/login.defs(指定创建用户时的某些默认值)

2、用户类别:

管理员:用0表示;

普通用户(1-65535):系统用户(1-499);一般用户(500-65535)

用户组类别:

管理员组;

普通组:系统组;一般组

注:私有组,创建用户时如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组作为私有组或初始组;基本组,用户的默认组;附加组,额外组,默认组以外的其它组。

3、命令:

用户管理命令: useradd,userdel,usermod,id,passwd,chsh,chfn,chage

组管理命令:groupadd,groupdel,groupmod,gpasswd,newgrp

 

#useradd options  USERNAME

options:

-u UID--uid,UID,添加用户时UID默认从最后一个添加的用户ID号加1,无论中间是否有未被使用的号)

-g GID--gid,GID基本组,初始组)

-G GID--groups,GID附加组)

-d /PATH/TO/SOMEDIRECTORY--home,/path/to/somedirectory指定默认家目录)

-s SHELL--shell,SHELLPATH,/etc/shells文件中指定了当前系统可用的安全shell,若用户的shell不可用则无法切换,查看当前用户shell#echo  $SHELL

-m -k--create-home,--skel,强制创建家目录并将模板目录下的文件复制到创建的家目录中)

-M(不创建家目录,但会应用配置文件/etc/login.defs中的各项值)

 

#userdel options  USERNAME

#userdel -r  USERNAME-r同时删除用户家目录及邮件目录/var/spool/mail

 

#id options  USERNAME

options:

-u--user显示的是UID

-g--group,GID

-u|-g -n--name,-u-g合用,显示名称)

 

#usermod options  USERNAME

options:

-u UID--uid

-g GID--gid

-a -G  GID--apend添加用户至一附加组,必须要与-G合用,否则会覆盖此前的附加组)

-c   “.....”--comment,注释信息)

-d HOME_DIR  -m--home,--move-home,既指定新的家目录位置,又移动此前家目录下的文件到新指定的目录下)

-s  SHELL--shell

-l NEW_LOGIN--login,改变登录的用户名)

-L--lock锁定账号)

-U--unlock解锁)

 

#passwd (更改当前用户密码,RHS333加密机制)

#passwd options  USERNAME(更改指定用户密码,仅管理员使用)

options:

--stdin(用于标准输入,如#echo  “redhat” |  passwd  --stdin USERNAME

-d(用于清空密码,默认禁止空密码登陆)

-l(锁定账号)

-u(解锁)

 

#chsh USERNAMEchange your login shell修改用户的默认SHELL

#chfn USERNAMEchange your finger information修改注释信息)

#pwckverify integrity ofpassword files检查用户账号完整性)

 

#chage options  USERNAME

options:

-d LAST_DAY--lastday最近一次的修改时间)

-E EXPIRE_DATE--expiredate过期时间)

-I INACTIVE--inactive非活动时间)

-m MIN_DAYS--mindays最短使用期限)

-M MAX_DAYS--maxdays最长使用期限)

-W WARN_DAYS--warndays警告时间)

 

#groupadd options  GROUPNAME

-g GID--gid

-r  --system,添加为系统组)

 

#groupmod options  GROUPNAME

-g GID--gid

-n NEW_GROUPNAME--new-name,更改组名)

 

#groupdel GROUPNAME

#gpasswd GROUPNAME(为组设密码)

#newgrp GROUPNAME(从基本组临时切换到其它组,可退出)

 

#su [-l]  USERswitch user

#su user1(半切换)

#exit

#su -l  user1(完全切换,使用-l(--login)-均可)

 

 

 

 

以上是学习《马哥网络视频》做的笔记。










一、相关文件

         /etc/passwd                  用户信息文件

         root:x:0:0:root:/root:bin/bash(以下依次为第1到第7字段)

         1、用户名

         2、密码标记

         3、uid:超级用户rootuid为0,普通用户要升级为管理员,uid改为0即可(不建议建立多个管理员账号;1-499系统用户uid(伪用户),不能登录系统,用来运行系统或服务的,其中1-99是系统保留的账号,自动创建,100-499是预留给用户创建系统账号的;500-65535普通用户的uid2.6内核之后uid可支持232

         4、gid:如果不指定用户所属的初始组,那么会建立和用户名相同的组

         5、用户说明

         6、用户家目录

         7、登录shell

         /etc/shadow                  影子文件

         root:密码位:15775:0:99999:7: : :         (以下依次为第1到第9字段)

         1、用户名

         2、加密密码:可在密码前人为加入“!”或“*”让密码暂时失效,使这个用户无法登录;所有伪用户密码都是“!!”或“*”代表没有密码不能登录,新创建的用户不设密码也是“!!”

         3、密码最近更改时间:用时间戳显示,以1970-01-01作为标准时间

时间戳转日期:#date  -d  “1970-01-01  15775 days”

日期转时间戳:#echo $(($(date  --date=”2015/04/28”  +%S)/86400 +1))

         4、两次密码的修改间隔时间(与3相比)

         5、密码有效期(与3相比)

         6、密码修改到期前的警告天数(和5相比)

         7、密码过期后的宽限天数(和5相比)

         8、密码失效时间,用时间戳表示

         9、保留

         /etc/group                      组信息文件

         root:x:0:root

         1、组名

         2、组密码位

         3、GID

         4、此组中支持其它用户,附加组是此组的用户

         /etc/gshadow                组密码文件

         如果给用户组设定了组管理员,并给该用户组设定了组密码,组密码就保存在这个文件中,且管理员可利用这个密码管理这个用户组

         》用户的家目录

         》用户邮箱目录              /var/spool/mail

         》用户模板目录               /etc/skel

         》手工删除用户,需处理以下文件

         /etc/passwd ;/etc/shadow; /etc/group;/etc/gshadow;/home/user;/var/spool/mail/user

         useradd的默认值与/etc/default/useradd/etc/login.defs有关

二、用户管理命令

         #useradd   用户名                     (常用)

         #useradd  -u|-g|-G|-c|-d|-s  用户名

         #userdel  -r  用户名                  (删除用户,连带家目录一并删除)

         #passwd -l|-u  用户名                 #passwd回车修改当前用户密码,#passwd 用户名,只有root用,-l(lock),-u(unlock)

         #usermod  -u|-G|-c|-d|-s|-L|-U  用户名(修改已存在的用户信息)

         #usermod  -l  新名  旧名            (用户改名)

         #groupadd  组名

         #groupdel  组名

        

         #usermod  -G  组名 用户名     (已存在的用户加入组,注意以下几条命令的区别)

         #gpasswd  -a  用户名 组名

         #gpasswd  -d  用户名 组名

三、用户相关命令

         #id 用户名                         (显示用户的UID初始组、附加组)

         #su -  用户名                      (切换用户身份,连带环境变量一直切换)

         #newgrp group1                     (改变有效组的命令,有效组,建立新文件时的默认属组)

四、用户权限赋予

         #groupadd  testgroup

         #gpasswd  -a aa  testgroup

         #chmod 770  /test

         #chgrp testgroup  /test

 



本文转自 chaijowin 51CTO博客,原文链接:http://blog.51cto.com/jowin/1641469,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 数据采集 运维
智能运维:利用机器学习优化IT基础设施管理
在数字化浪潮的推动下,企业对IT系统的依赖程度日益加深。传统的运维模式已经难以满足现代业务的需求,尤其是在处理海量数据和复杂系统时显得力不从心。本文将探讨如何通过机器学习技术,实现智能化的运维管理,从而提升效率、减少故障时间,并预测潜在问题,保障业务的连续性和稳定性。 【7月更文挑战第27天】
132 10
|
7月前
|
存储 Linux 数据库
Linux用户组管理“小窍门”
创建用户组 使用 groupadd 命令可以创建一个新的用户组。命令格式为: groupadd 用户组 例如,要创建一个名为 dev 的用户组,可以执行: groupadd dev 删除用户组 使用 groupdel 命令可以删除一个用户组。命令格式为: groupdel 用户组 例如,要删除 dev 用户组,可以执行:
106 5
|
11月前
|
运维 监控 网络协议
|
10月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
774 3
|
10月前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
672 3
|
11月前
|
Unix Linux 数据安全/隐私保护
Linux用户与用户组管理(详解)
Linux用户与用户组管理(详解)
169 5
|
11月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
602 1
|
11月前
|
安全 Shell Linux
Linux 用户和用户组管理
Linux 用户和用户组管理
78 1
|
存储 运维 监控
运维.Linux下执行定时任务(中:Cron的常用替代方案)
本文是关于Linux下执行定时任务系列的第二部分,主要探讨除了Cron之外的常用替代方案。介绍了Systemd Timers、Anacron及at命令三种工具,它们分别适用于不同场景下的定时任务需求。文章详细分析了每种工具的特点、工作原理、基本使用方法及其高级功能,并对比了它们各自的优缺点,帮助读者根据实际情况选择最适合的定时任务解决方案。此外,还提供了指向具体实例和进一步阅读材料的链接。
579 4
运维.Linux下执行定时任务(中:Cron的常用替代方案)
|
Linux
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理
系统启动以后一直存在且常驻内存没有界面的进程就是服务。Linux系统中的所有服务都保存在下列目录中:/usr/lib/systemd/system,进入该目录就能看到所有的服务。
121 3
入职必会-开发环境搭建37-Linux常用操作-Linux服务管理