Linux用户与组管理

linux用户及组管理

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

# who | cut -d' ' -f 1 | uniq

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

# cat /etc/passwd | grep "^`last -1 | cut -d' ' -f1 | head -1`"

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

# cat /etc/passwd | cut -d: -f7 | uniq -c | sort -nr | head -1

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

# cat /etc/passwd|sort -t':' -k3 -n|tail|tr [a-z] [A-Z] 2&>1/tmp/maxusers.txt

5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。

# ifconfig eno16777736 | grep  "\<inet\>" | cut -d' ' -f 10

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

# ls /etc | grep -o ".*\.conf$" | tr [a-z] [A-Z] >>/tmp/etc.conf

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

# ls -a /var/ | wc -l

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

# cat /etc/group | sort -t':' -k 3 -n | head | cut -d':' -f1

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

# cat /etc/fstab /etc/issue >>/tmp/etc.test

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

useradd [选项] 登录名
        -u, --uid UID:指定UID;
        -g, --gid GROUP:指定基本组ID,此组得事先存在;
        -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
        -c, --comment COMMENT:指明注释信息;
        -d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
        -s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
        -r, --system:创建系统用户;
示例:
1、创建UID为2222属主为gentoo 附加组为root的test用户
# useradd -u 2222 -g gentoo -G root test
2、创建用户指定家目录为/home/googhome,默认shell为sh的系统用户test1
# useradd -r -d /home/goodhome -s /bin/sh

userdel:删除用户及相关文件

userdel [选项] 登录
        -r:删除用户时一并删除其家目录;
        -f:强制删除用户,不论用户是否登录;
示例:
1、删除用户test,但保留家目录
# userdel test
2、删除用户test1,并删除家目录,且不论用户是否登录
# userdel -fr test1

passwd:创建用户密码

(1) passwd:修改用户自己的密码;
(2) passwd USERNAME:修改指定用户的密码,但仅root有此权限;

    -l, -u:锁定和解锁用户;
    -d:清除用户密码串;
    -e DATE: 过期期限,日期;
    -i DAYS:非活动期限;
    -n DAYS:密码的最短使用期限;
    -x DAYS:密码的最长使用期限;
    -w DAYS:警告期限;
示例:
1、修改test用户密码为test@test.COM
# passwd test 
2、清除test1用户的密码,且设定新密码最短使用期限为7天,最长试用期前为90天
# passwd test1 -d -n 7 -x 90

groupadd:创建新工作组

groupadd [选项] group_name

        -g GID:指定GID;默认是上一个组的GID+1;
        -r: 创建系统组;
示例:
1、创建组ID为2222的test系统组
# groupadd -r -g 2222 test

groupdel:删除工作组

groupdel [选项] GROUP
示例:
1、删除工作组test
# groupdel test

su:切换用户身份

登录式切换:会通过读取目标用户的配置文件来重新初始化
        su - USERNAME
        su -l USERNAME
    非登录式切换:不会读取目标用户的配置文件进行初始化
        su USERNAME

    注意:管理员可无密码切换至其它任何用户;
示例:
1、以非登录式切换方式登录账户test
# su test
2、以登录切换方式登录账户test1
# su - tets1

usermod:修改用户

usermod [选项] 登录
        -u, --uid UID:修改用户的ID为此处指定的新UID;
        -g, --gid GROUP:修改用户所属的基本组;
        -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;
        -a, --append:与-G一同使用,用于为用户追加新的附加组;
        -c, --comment COMMENT:修改注释信息;
        -d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
        -m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;
        -l, --login NEW_LOGIN:修改用户名;
        -s, --shell SHELL:修改用户的默认shell;

        -L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";
        -U, --unlock:解锁用户的密码;
示例:
1、修改test用户的UID为3333,并增加test1的附加组且原有附加组不变
# usermod -u 3333 -aG tets1

chfn:改变用户finger信息

chfn [选项] [参数]
     -f: 设置全名
     -o:办公地址
     -p:办公电话
     -h:住宅电话
示例:
设置test用户全名为test@linuxboy.com
# chfn -f tets tets@linuxboy.com

chsh:改变用户的登录shell

chsh[选项][参数]
    -l:显示系统支持的shell
    -s:指定新的shell
示例:
设置新的shell为sh
chsh -s /bin/sh

finger:查询用户信息

finger:[选项][参数]
        -s:显示用户的信息
        -l:多行方式显示用户信息

gpasswd:工作组文件管理公户

组密码文件:/etc/gshadow

    gpasswd [选项] group
        -a USERNAME:向组中添加用户
        -d USERNAME:从组中移除用户

groupmod:修改工作组信息

groupmod [选项] GROUP
        -g GID:修改GID;
        -n new_name:修改组名;

newuesrs:批量创建用户

newuesrs[参数]
        参数指包含用户信息的文本文件,且格式与“/etc/passwd”相同

chpasswd:批量更新密码 chpasswd:[选项] 以交互式方式修改用户密码,且默认密码为明文 -e:加密密码 -m:以MD5加密代替DES nologin:拒绝用户登录

通过修改用户的shell为/sbin/nologin并会给出默认提示,若要修改提示信息则修改/etc/nologin.txt文件

(1)、创建组distro,其GID为2016;

# groupadd -g 2016 distro

(2)、创建用户mandriva, 其ID号为1005;基本组为distro;

# useradd -u 1005 mandriva -g distro

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

# useradd -u 1100 mageia -d /home/linux

(4)、给用户mageia添加密码,密码为mageedu;

# passwd mageia
Changing password for user mageia.
New password:           #在此输入新密码mageia
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:    #在此重复输入新密码mageia
passwd: all authentication tokens updated successfully.

(5)、删除mandriva,但保留其家目录;

# userdel mandriva

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

# groupadd penguin    
# useradd -u 2002 slackware -g distro -G penguin

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

# chsh slackware -s /bin/tcsh  

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

# groupadd admins
# usermod slackware -aG admins

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

(1)
疯狂的青春疯狂的青春
上一篇 2018-05-24
下一篇 2018-05-24

相关推荐

  • 一次完整的http请求处理过程+MPM工作模式

     1、建立连接:接收或拒绝连接请求 2、接收请求:接收客户端请求报文中对某资源的一次请求的过程 Web访问响应模型(Web I/O)单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求复用I/O结构:启动一个进程,同时响应N个连接请求实现方法:多线程模型和事件驱动…

    2018-06-24
  • TEST

    TEST

    Linux笔记 2018-07-30
  • nginx实现请求转发

    反向代理适用于很多场合,负载均衡是最普遍的用法。 nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理。 nginx 反向代理官方文档: NGINX REVERSE PROXY 当在一台主机上部署了多个不同的web服务器,并且需要能在80端口同时访问这些web服务器时,可以使用 nginx 的反向代理功能: 用 nginx 在80端口监听所…

    Linux笔记 2018-07-08
  • 简述at和crontab命令

    制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00

    Linux笔记 2018-06-07
  • 进入各种模式操作 在centos虚拟机上实现内外网的连接

      进入单用户模式; 重启后在下面界面按任意键 进入此界面后按“ a ” 在下面界面 输入  1   进入单用户模式  1之前有空格     进入救援模式 1 重启后将鼠标键入界面里,在第一个界面的进度条没走完之前按一次ESC键即可进入(只能按一次ESC) 2 选择上图中的第三项光盘引导启动,之后选择下图的第三项救援模式启动。 &nbsp…

    2018-05-09
  • 加密和安全

    常见的加密算法和安全协议 一、对称加密:加密和解密使用同一个密钥,依赖于算法和密钥,其安全性依赖于密钥而非算法 常见的算法:DES ​ 特性: ​ 加密、解密使用同一个密钥 ​ 将明文分隔成固定的大小块逐个进行加密 ​ 缺点: ​ 密钥过多、密钥分发 二、非对称加密:采用的是公钥加密方法,密钥是成对出现的,公钥是从私钥中提取出来的 ​ 公钥:公开给所有人;p…

    Linux笔记 2018-05-10

评论列表(1条)

  • 马哥教育
    马哥教育 2018-05-31 20:14

    第二题要求是:最后登录到当前系统,而不是你直接取用户文件里面的用户。
    建议将脚本的执行结果都一起贴出来。