Linux用户与组管理命令
1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
who | cut -d" " -f1 | sort -u
或
who | cut -d" " -f1 | uniq
2、取出最后登录到当前系统的用户的相关信息。
w | tail -1
或
last -1
3、取出当前系统上被用户当作其默认shell的最多的那个shell。
cat /etc/passwd | cut -d":" -f7 | sort | uniq -c | sort -n | tail -1
4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
sort -t':' -k3 -n /etc/passwd | tail -10 | tr 'a-z' 'A-Z' | tee /tmp/maxusers.txt
或
sort -t':' -k3 -n /etc/passwd | tail -10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt
5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
ifconfig | cut -d' ' -f10 | head -2 | tr -d '\n'
或
ifconfig | cut -d' ' -f10 | head -2 | tail -1
或
ip addr | cut -d' ' -f6 | head -9 | tail -1
6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
ls /etc/*.conf | tr 'a-z' 'A-Z' | tee /tmp/etc.conf
7、显示/var目录下一级子目录或文件的总个数。
find /var | wc -l
8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
sort -t":" -k3 -n /etc/group | head -10 | cut -d":" -f1
9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
cat /etc/{fstab,issue} > /tmp/etc.test
10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
用户管理命令:
(1)useradd:创建用户,useradd [选项] 用户名
-u:指定UID(默认是上一个用户的 UID+1)
-g:指定基本组(此组 事先必须存在)
-G:指定附加组,多个组之间用 逗号 分隔(组 事先必须存在)
-c:添加注释信息
-d:以指定的目录为用户的家目录(通过复制 /etc/skel 此目录并重命名来实现用户家目录,如果 指定的目录 事先存在,则不会复制)
-s:指定用户的默认shell(可用的所有shell 存储在 /etc/shells 文件中)
-r:创建系统用户
-p:设置密码(明文保存密码,不用)
-M:不为用户创建家目录
-D:显示创建用户的默认配置
-D [选项]:修改创建用户的默认配置(修改的结果保存在 /etc/default/useradd 文件中)
(2)usermod:修改用户属性,usermod [选项] 用户名
-u:修改用户的UID
-g:修改用户的基本组(此组 事先必须存在)
-G:修改用户的附加组,原有的附加组会给覆盖(组 事先必须存在)
-a:与-G 一同使用,用于为用户添加新的附加组
-c:修改注释信息
-d:修改用户的家目录,用户家目录原有的文件不会被移动
-m:与-d 一同使用,用于将原有的家目录文件移动到新的家目录
-l:修改用户名
-s:修改用户的默认shell
-L:锁定用户密码(通过在用户原来的密码字符串前添加一个“!”来达到禁止用户登录)
-U:解锁用户密码
(3)userdel:删除用户,userdel [选项] 用户名
-r:删除用户时一并删除用户的家目录和邮箱(默认不删除)
(4)passwd:
passwd:修改用户自己的密码
passwd 用户名:修改指定用户的密码(仅root 有权限操作)
-l,-u:锁定和解锁 用户
-d:清除用户密码
-e:使用户密码过期(用户下次登录必须重设密码)
-i 天数:密码过期后的活动期限(仅root有权限操作)
-n 天数:密码的最短使用期限(仅root有权限操作)
-x 天数:密码的最长使用期限(仅root有权限操作)
-w 天数:密码过期前的警告期限(仅root有权限操作)
--stdin:(echo "密码" | passwd --stdin 用户名,给用户设置密码)
(5)id:显示用户信息,id [选项] 用户名
-u:仅显示uid
-g:仅显示gid
-G:显示用户所属的所有组的ID
(6)su:切换用户,su [选项] 用户名
-c 命令:以指定用户的身份运行命令
登录式切换:重新读取目标用户的配置文件来进行初始化—su - 用户名 或 su -l 用户名
非登录式切换:不读取目标用户的配置文件—su 用户名
组管理命令:
(1)groupadd:添加组,groupadd [选项] 组名
-g:指定GID(默认是上一个组的 GID+1)
-r:创建系统组
(2)groupmod:修改组属性,groupmod [选项] 组名
-g:修改GID
-n:修改组名
(3)groupdel:删除组,groupdel [选项] 组名
(4)gpasswd:给组添加密码,gpasswd [选项] 组名
-a 用户名:向组中添加用户
-d 用户名:从组中移除用户
-r:删除密码
-A:指定组的管理员
(5)newgrp:临时切换用户的基本组,newgrp [-] 组名
-:会模拟用户登录以实现重新初始化工作环境
练习:
(1)创建组distro,其GID为2016;
groupadd -g 2016 distro
(2)创建用户mandriva, 其ID号为1005;基本组为distro;
useradd -u 1005 -g distro mandriva
(3)创建用户mageia,其ID号为1100,家目录为/home/linux;
useradd -u 1100 -d /home/linux mageia
(4)给用户mageia添加密码,密码为mageedu;
echo "mageedu" | passwd --stdin mageia
(5)删除mandriva,但保留其家目录;
userdel mandriva
(6)创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
usergroup peguin
useradd -u 2002 -g distro -G peguin slackware
(7)修改slackware的默认shell为/bin/tcsh;
usermod -s /bin/tcsh slackware
(8)为用户slackware新增附加组admins。
groupadd admins
usermod -aG admins slackware
Linux用户与组管理命令的更多相关文章
- linux学习16 Linux用户和组管理命令演练和实战应用
一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...
- linux用户与组管理命令的基本操作
用户账号管理命令 为了提高系统的利用率,避免因多个用户共用一个root账号而造成不必要要的系统安全隐患,通常需要为 新用户添加账户.在Linux系统中,添加用户只能由超级用户来完成,也就是说,只能由r ...
- Linux用户和组管理命令-用户创建useradd
用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...
- Linux用户和组管理命令-用户删除userdel
删除用户 userdel 可删除Linux 用户 格式: userdel [OPTION]... Login 常见选项: -f, --force 强制 -r, --remove 删除用户家目录和邮箱 ...
- Linux用户和组管理命令-用户属性修改usermod
用户属性修改 usermod 命令可以修改用户属性 格式: usermod [OPTION] login 常见选项: -u UID: 新UID -g GID: 新主组 -G GROUP1[,GROUP ...
- Linux用户和组管理命令-切换用户su
切换用户或以其他用户身份执行命令 su: 即 switch user,命令可以切换用户身份,并且以指定用户的身份执行命令 格式: su [options...] [-] [user [args...] ...
- linux学习(五)用户与组管理命令,以及用户信息文件解释
目录 (1)/etc/passwd文件 (2)/etc/shadow passwd命令 userdel命令 usermod命令 groupadd @(用户与组管理命令) linux是一个多用户多任务的 ...
- linux用户、组管理及权限(一)
一.用户管理 1.为什么需要用户 1)计算机及网络资源的合理分配 2)可以控制用户访问系统的权限.3)身份认证 4) 进程 以某个用户的身份来运行 2.用户分类 用户的角色是通过UID(用户ID)来 ...
- Linux 用户和组管理
这是用户和组管理的知识点,不想看文字就看视频吧,还是视频为主,文字为备忘录 视频链接: 项目1用户管理 1.创建一个新用户user01,设置其主目录为/home/user01: #useradd –d ...
随机推荐
- maven实战迷你版记录
1. ~/.m2 文件 默认情况下,该文件夹下放置了 Maven 本地 仓库.m2/repository.所有的 Maven 构件(artifact)都被存储到该仓库中,以方便重用. 默认情况下,~ ...
- db2-表处于暂挂状态
有时当对表数据进行操作时,表锁了,处于暂挂状态,网上搜的大部分不能解决的话可以尝试用以下语句进行解锁 call sysproc.admin_cmd('reorg table 表名')
- deployment删除后,副本集未删除,解决之道
在删除的body上加上,body.setPropagationPolicy("Foreground");就可以删除deployment的同时连同副本集一同删除.
- tp3.2水印上传文件
<html> <html lang="en"><head> <meta charset="UTF-8"> ...
- jquery 滑块导航菜单
带滑块的导航菜单,鼠标悬浮时,滑块会移动至鼠标位置,离开时,滑块会回到原来的位置,点击菜单之后滑块会停留在被点击菜单位置,等待下一次的鼠标悬浮事件或者点击事件,效果图: 图片效果不行,直接上代码: & ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(9)、空间数据的容器-地图MapView
1.前言 在上一篇内容里介绍了 关于ArcGIS Android开发的未来(“Quartz”版Beta)相关内容,期间也提到了关于API接口的重构,开发思路的调整,根据2015UC资料也可以知道新版预 ...
- time和datetime模块
在Python中,通常有这几种方式来表示时间: 1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素. 由于Python的time模块实现主要调用C库,所以各个平台可能有 ...
- Node.js-npm安装包目录修改
请借我一个哭的表情....=.= 等我发现的时候为时已晚~所有安装的包都去了C盘,而强迫症的我想卸载了之前所有的包再重新下一遍!!! 切记!安装好npm后,记得修改: 原始路径: 修改后的路径(如果没 ...
- 使用Excel调用ABAP系统的函数
效果:在excel里创建一个按钮,开发一些VB script,可以连接指定的ABAP系统并执行系统里的ABAP function module. 在这里例子里执行ABAP系统的函数TH_USER_LI ...
- 816 Ambiguous Coordinates (many cases problem)
https://www.cnblogs.com/Java3y/p/8846955.html -- link of the problem 816 IDEA: check the dot and int ...