zoukankan      html  css  js  c++  java
  • Linux系统学习之Linux账号管理

    一、基本介绍

    Linux用户分为三类,即普通用户、根用户、系统用户。

    普通用户指的是所有使用Linux系统的真实用户。

    根用户就是root用户,权限最大,它的ID为0,也被称为超级用户,root用户拥有对系统绝对的控制权:可以修改、删除、运行任何文件。所以从另外一方面来说,它也是最危险的。

    系统用户是指系统运行时必须有的用户,并不是指真实的使用者。

    比如在RedHat或CentOS下运行网站服务时,需要使用系统用户apache来运行httpd进程,而运行mysql数据库服务时,需要使用系统用户mysql来运行mysqld进程。

    通过ps aux命令可以查看系统用户进程。

    ls -l 文件名 可以查看该文件权限

    ls -l (在不加文件名的前提下可以查看所有文件权限)

    id 可以查看自己的UID

    groups 可以确认自己所在的组

    who 查询当前在线用户

    二、账号管理

    新增用户: useradd 用户名

    修改密码 :passwd 用户名修改或者直接passwd (注意前者密码设置很简单,可通过,后者密码如果设置过于简单,会导致设置失败)

    修改用户:usermod

    例如:
    
    [root@Cfhost-170820-UCNK ~]# useradd tom
    
    [root@Cfhost-170820-UCNK ~]# passwd tom
    
    Changing password for user tom.
    New password: 
    Retype new password: 
    Sorry, passwords do not match.
    New password: 
    BAD PASSWORD: it is too short
    BAD PASSWORD: is too simple
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    
    //查看用户tom在/etc/passwd中的记录,冒号隔开的是用户tom的新家目录
    [root@Cfhost-170820-UCNK ~]# cat /etc/passwd | grep tom
    
    tom:x:559:559::/home/tom:/bin/bash//如果希望修改家目录为/home/tom_new,可以使用以下命令
    [root@Cfhost-170820-UCNK ~]# usermod -d /home/alice_new -m alice
    usermod: directory /home/alice_new exists
    
    [root@Cfhost-170820-UCNK ~]# usermod -d /home/tom_new -m tom
    
    [root@Cfhost-170820-UCNK ~]# cat /etc/shadow | grep tom
    
    tom:$6$Pii73qyW$8NvDm/UevXhiPowgdvtjv78pjrDUazxOldmuAEYIQZ0yiGRQQpgD9bZwsIkO
    wuAOzv/D33IEL8/s..yPZPm8m.:17476:0:99999:7:::
    [root@Cfhost-170820-UCNK ~]# usermod -L tom//冻结该用户
    //执行下列命令时,你会发现第二列多了一个感叹号,使用usermo -U tom命令可以解冻结
    [root@Cfhost-170820-UCNK ~]# cat /etc/shadow | grep tom
    tom:!$6$Pii73qyW$8NvDm/UevXhiPowgdvtjv78pjrDUazxOldmuAEYIQZ0yiGRQQpgD9bZwsIkOwuAOzv/D33IEL8/s..yPZPm8m.:17476:0:99999:7:::
    

     删除用户:userdel 用户名

    userdel tom 该命令将会删除tom在/etc/passwd和/etc/shadow中的记录,但是并不会删除原来用户的家目录和邮件信息。可以使用userdel -r 用户名 来达到彻底删除的目的。

    新增和删除用户

    groupadd 组名 #新增组

    groupdel 组名 #删除组

    检查用户信息:

    users 查看当前有哪些用户

    who 查看在线用户

    w 可以查看用户更加详细的信息(包括登录时间、ip地址等)

    调查用户:finger

    finger命令在不加任何参数的情况下,同样会显示系统的登录用户,如下图所示

    Login     Name       Tty      Idle  Login Time   Office     Office Phone
    root      root       pts/0      38  Nov  6 19:04 (183.240.196.151)
    root      root       pts/1      21  Nov  6 19:29 (183.240.196.151)
    root      root       pts/2          Nov  6 19:46 (183.240.196.151)
    root      root       pts/3      21  Nov  6 19:46 (183.240.196.151)
    

    补充:如果在finger 用户名 会显示该用户名更加详细的信息

    切换用户:

    su 命令单独使用直接切换为root用户

    su - 用户名 切换到该用户

    注意:使用su命令虽然方便,但还是存在缺陷,就是切换到其他用户时,需要知道该用户的密码,如果需要切换到root,那就需要知道root的密码。我们知道root是系统中1权限最高的用户,如果让太多人知道root密码是非常不安全的,所以我们建议使用sudo。

    例行任务管理

    单一时刻执行一次任务:at

    例如: at now + 10 munutes

    //30分钟后关机

    atq查看当前使用at命令调度的任务列表

    atrm 删除已经进入任务队列的任务

    周期性执行任务:cron

    crontab -l 查看设置的任务

    crontab -r 删除所有任务

    crontab -u 用户名 -l  //查看该用户任务列表

  • 相关阅读:
    20145316《Java程序设计》第七周学习总结
    第三周博客问题总结
    20145316《Java程序设计》第六周学习总结
    20145316《Java程序设计》实验一:Java开发环境的熟悉(Windows + IDEA)
    八、九章知识点整理
    20145316许心远《Java程序设计》第5周学习总结
    第六章:继承与多态(知识梳理/查漏补缺)
    20145316许心远《Java程序设计》第4周学习总结
    实现最大索引堆
    Java排序算法全
  • 原文地址:https://www.cnblogs.com/youcong/p/7789093.html
Copyright © 2011-2022 走看看