Linux系统用户管理与文本处理

1、列出当前系统上所有已经登录的用户的用户名,同一个用户登录多次,则只显示一次。

~]# who | cut -d’ ‘ -f1 | sort -u

2、取出最后登录到当前系统的用户的相关信息。

~]# who | sort -k 3 -r | head -n 1 | cut -d’ ‘ -f1 | id

3、取出当前系统上被用户当做其默认shell最多的那个shell。

cut -d: -f7 /etc/passwd | uniq -c | sort -n -k 1 | tail -1 | grep -o “[^[:space:]].*$” | cut -d ‘ ‘ -f2

4、将/etc/passwd中的第三个字段数值最大的后10个用户信息全部改为大写后保存至/tmp/maxusers.txt文件中。

sort -n -t : -k 3 /etc/passwd | tail -n 10 | tr ‘a-z’ ‘A-Z’ >/tmp/maxusers.txt

5、取出当前主机的IP地址。

ifconfig ens33 | grep “\<inet\>” | grep -o “[^[:space:]].*$” | cut -d’ ‘ -f2

6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/etc/ect.conf文件中。

ls /etc/*.conf | tr ‘a-z’ ‘A-Z’ >/etc/etc.conf

7、显示/var目录下一级子目录或文件的总数。

ls -d /var/* |wc -l

8、取出/etc/group文件中第三个字段数值最小的10个组的名字。

sort -n -t : -k 3 /etc/group | head -10 | cut -d: -f1

9、将/etc/fatab和/etc/issue文件的内容合并为同一个内容后保存至/etc/etc.test文件中。

cat /etc/fstab > /etc/etc.test

cat /etc/issue >> /etc/etc.test

10、请总结描述用户和组管理类命令的使用方法并完成以下练习:

(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;

useradd -u 2002 -g distro -G peguin slackware

(7)修改slackware的默认shell为/bin/tcsh

chsh -s /bin/tcsh slackware

(8)为用户slackware新增附加组admins;

usermod -a -G admins slackware

 

用户和组管理类命令主要有useradd,userdel,usermod,passwd,groupadd,groupdel, gpasswd,chsh,id ,su等。

 

groupadd:添加用户组

groupadd [options] group

-g GID : 指定GID,默认是上一个组的GID+1;

        -r:创建系统组;

 

groupmod:修改组属性

groupmod [options] GROUP

-g GID : 修改组ID

-n new name :修改组名:

 

groupdel:删除组

groupdel GROUP

 

useradd:添加用户或更新默认新用户信息

useradd [options] LOGIN

-u, –uid UID:指定UID

-g, –gid GID:指定基本组ID,此组得事先存在

-G,–groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用户的附加组,多个组之间用逗号分隔

-c comment:指明注释信息

-d :以指定路径为用户家目录,通过复制/etc/skel此目录并重命名;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件

-s, –shell SHELL:指定用户的默认shell,可用的所有shell存储在/etc/shells文件中

-r,–system:创建系统用户

-m,–create_home:创建用户家目录

-M:不创建用户家目录

-D:显示用户创建时的默认信息

-D option:修改用户创建时的默认信息

 

usermod:修改用户属性

usermod [options] LOGIN

-u, –uid UID:修改用户的ID

-g, –gid GROUP:修改用户所属的基本组;

-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用户所属的附加组,原来的附加组会被覆盖;

-a, –append:与-G一同使用,用于为用户追加新的附加组

-c comment:修改注释信息

-d, –home Home_dir:修改用户家目录;用户原有的文件不会被移动至新位置

-m,–move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;

-l, –login new_login:修改用户名

-s, –shell SHELL:修改用户的默认shell

-L,–lock:锁定用户密码,即在用户原来的密码字符串之前添加一个“!”,禁止用户登录

-U,–unlock:解锁用户密码,

 

userdel:删除用户

userdel [options] LOGIN

-r:删除用户时一并删除家目录

 

passwd:密码管理

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]

(1)passwd:修改用户自己的密码

(2)passwd username:修改指定用户的密码,仅root有此权限

-l, -u:锁定和解锁用户

-d:删除用户密码

-e date:过期期限,日期

-i days:非活动期限;时间范围

-n days:最短使用期限

-x days:最长使用期限

-w days:警告期限

–stdin:

 

gpasswd:

gpasswd 【option】 group

-a username: 向组中添加用户

-d username:从组中移除用户

 

Chsh:修改用户默认登录shell

chsh [-s shell] [-l] [-u] [-v] [username]

-s:指定用户登录shell

-l:列出可以shell

-u:帮助

-v:显示版本信息

 

id:显示用户实际和有效的用户和组ID

id [OPTION]… [USER]

-u: 仅显示有效的UID

-g:仅显示用户的基本组ID

-G:显示用户所属的所有组ID

-n:显示名字而非ID;

 

su: switch user

登录式切换:会通过重新读取目标用户的配置文件来重新初始化

su – username

su -l username

非登录式切换:不会读取目标用户的配置文件进行初始化

su username

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102985

(0)
一叶扁舟一叶扁舟
上一篇 2018-07-15 16:02
下一篇 2018-07-15 16:11

相关推荐

  • 第一周作业笔记

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux笔记 2018-06-21
  • linux用户组命令使用方法

    实现用户账号的管理,要完成的工作主要有如下几个方面:
    用户账号的添加、删除与修改。
    用户口令的管理。
    用户组的管理。

    Linux笔记 2018-04-05
  • 运维自动化之系统部署

    运维自动化之系统部署 安装程序 CentOS系统安装 系统启动流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init   anaconda: 系统安装程序 gui:图形窗口 tui: 基于图形库curses的文本窗口   &nbs…

    Linux笔记 2018-05-27
  • 学习笔记(12)

    学习笔记(12)

    Linux笔记 2018-04-30
  • Linux文件管理

    文件系统与目录结构图: 文件系统结构: /boot:引导文件存放目录 /bin:供所有用户使用的基本命令 /sbin:供管理员使用的基本命令 /lib:系统内核目录 /lib64:辅助共享库存放位置 /etc:配置文件目录 /home/username:普通用户的家目录 /root:管理员的家目录 /media:挂载点 /dev:设备文件及特殊文件储存位置 …

    2018-03-30
  • One

    编译器好难用T_T

    Linux笔记 2018-06-26