用户

  • 超级管理员用户 root 0
  • 普通用户 (0-65535)
    • 系统用户:启动系统服务和进程的用户,不可以登陆. (1-999centos7)(1-499centos6)
    • 可登陆用户:能登录系统的用户(1000-65535 centos7)(500-65535 centos6)

普通用户的id是递增的,系统用户的id是递减的

用户添加useradd

创建用户
Usage: useradd [options] LOGIN
useradd taosiyu -d # 指定用户的家目录
useradd -d /文件夹/文件 用户名
ll home
ll /opt/taosiyu
cd /opt/taosiyu
# bashrc 别名
# profile -g # 指定用户组的id
useradd -g 组 用户名
id taosiyu -G # 指定用户的附加组 groups 附加组
useradd -G root,taosiyu1 taosiyu2
# 把taosiyu2 加到root, 和taosiyu1的附加组中 在组里就能使用组里的权限处理文件
id taosiyu3 cd /text/
ll /etc/skel/ -a -k # 指定复制哪个文件夹下的内容,需要和-m一起使用
-m # 创建用户的家目录
useradd -k /etc/sysconfig/metwork-scripts/ -m taosiyu
ll /home/taosiyu -c + 'message' # 创建指定用户的描述信息
useradd -c "where are your future"
vim /etc/passwd
# /etc/passwd查看描述信息"message" -N
# 不创建同名的组,以user为组 GROUP=100 默认100,
# 这里就是系统用户组
useradd -N taosiyu -r
useradd -r taosiyu
id taosiyu -s # 指定用户登录后使用的shell
cat /etc/shells
useradd -s /sbin-nogloin 用户名
passwd taosiyu
ssh taosiyu@190.198.107.133
#nologin登录后默认被系统退出 -u # 指定用户的id,创建用户时uid始终以最大uid顺延
useradd -u 2000 taosiyu
id taosiyu
useradd taosiyu
useradd taosiyu1
id taosiyu1 # uid=2001 -D 显示系统的默认配置
useradd -D # 查看系统配置
-D [option] -s可以修改系统的默认配置. 每创建一个用户都是从/etc/skel复制
  • 相关文件

    • /etc/default/useradd 创建用户的默认文件.
    • /etc/skel/*默认复制的文件
    • /etc/login.defs

用户修改usermod

usermod修改
-c # 修改描述信息
usermod -c 'taosiyu made in furtue' taosiyu
grep 'taosiyu' /etc/passwd -d # 修改家目录,默认不会创建新目录.如果向移动家目录,则需要使用-m
-m # 移动家目录,只能和-d一起使用
cd ~
ll /home
usermod -d /opt/taosiyu taosiyu
ll /home
grep 'taosiyu' /etc/passwd -g # 修改用户组
-G # 修改客户的附加组,默认情况是替换,将之前的附加组替换成新设置的(后面必须是组)
usermode -G root,taosiyu taosiyu1
id taosiyu1
username -G taosiyu2 taosiyu1 # taosiyu2替换上边的root,taosiyu附加组 -a # 修改客户的添加,默认是追加附加组 -a -G 顺序不能变
usermod -a -G root taosiyu1 -l +newname +oldname # 修改用户的登录名
usermod -l taosiyu guorui
id taosiyu -L # 锁定用户,不能登录系统,修改密码默认解锁用户锁.
passwd taosiyu
usermod -L taosiyu
ssh taosiyu@192.168.107.133 # 拒绝登录 -U # 解锁用户锁
-s # 修改用户登录后的shell
-u # 修改用户的uid
-e # 失效日期,后面加年月日,修改用户的失效时间,失效后无法登陆
usermod -e 2019-08-07 taosiyu # 后面加年月日

删除用户userdel

默认删除用户,不删除用户家目录
userdel taosiyu
id taosiyu
ll /home/taosiyu -f # 强制删除,登录状态下也能删除
# 删除用户时,默认家目录不会被删除,默认情况下,用户登录状态下不能删除用户,强制删除后用户不退出还可以使用.
-r # 删除家目录
userdel -f -r taosiyu

查看用户相关信息id

-g 只显示组id
-G 只显示附加组id
-u 只显示用户id
-n 显示名称,需要和显示id搭配使用

切换用户

su [options] [-] [USER [arg]...]

-    # 完整切换,登录式切换,环境变量等都会切换
-c # 切换用户执行命令,然后切换回原用户 echo $PATH # 查看环境变量
exit # 退出切换

切换用户的方式

  • 完整切换:su - username 登录式切换,环境变量等都会切换
  • 不完整切换:su username不会切换用户的环境变量,家目录等.
  • root切换普通用户不需要密码,非root用户切换需要密码

切换用户执行命令

su - taosiyu -c 'whoami'
ll /home/root

sudo执行本身不能执行的命令

sudo 修改配置文件为/etc/sudoers

vim /etc/sudoers
taosiyu ALL=(all) NOPASSWD:ALL
sudo useradd guorui 用户名 ALL=(ALL) NOPASSWD:ALL
# NOPASSWD,不用输入密码

/etc/passwd文件

用户名:密码,使用x占位:UID:GID:描述信息:家目录:登录后使用的shell

设置密码passwd

passwd taosiyu # 设置密码

-d # delete 删除指定用户的密码,删除之后用户不能登陆
passwd -d taosiyu -l # 锁定用户
-u # 解锁用户
-e # 在下次登陆以后强制用户修改密码
-f # 强制操作
-x maximun=Days # 密码的最长使用时间
-n minmum=DAYS # 密码的最短使用时间
-waningday # 密码过期多长时间提醒
-i --inactive=Days # 密码过期多久之后该用户不能使用
# inacticeday 密码过期多长时间以后禁用
--stdin # 从标准输入读取密码
echo '123'|passwd --stdin user # 修改密码

存放文件/etc/shadow

  • 用户名
  • 密码($6 加密方式 默认sha512)$盐$加密后的密码串$
  • : 从1970年1月1日到最后一次修改密码经过的时间
  • 密码的最短使用时间 (0表示随时可以修改)
  • 密码的最常使用时间(99999表示永不过期)
  • 密码过期多久提醒(默认是一周)
  • 密码过期多长时间锁定(

    linux之用户,用户组,软件操作的更多相关文章

    1. 通过登入IP记录Linux所有用户登录所操作的日志

      通过登入IP记录Linux所有用户登录所操作的日志 对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作 ...

    2. Linux系统用户/用户组/文件权限相关

      目录一.Linux系统用户/用户组权限相关二.Linux系统文件权限相关 一.Linux系统用户/用户组权限相关 .命令:usermod 用法:usermod [-agGus] user args ‘ ...

    3. linux —— 学习笔记(软件操作:安装、卸载、执行)

      目录: 0.相关基本命令    1.安装软件    2.卸载软件    3.打开软件  0.相关基本命令 与软件操作相关的主要命令有:dpkg  和 apt-get . dpkg   : “dpkg ...

    4. linux普通用户提权操作

      [root@test1 ~]# vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALLzhouyu ...

    5. Linux:用户&用户组操作

      用户:查看用户:whoami.who am i.who mom likes创建用户:adduser dgw切换登录用户:su -l dgw退出当前用户: exit删除用户:deluser dgw -- ...

    6. Linux 创建用户 用户组 用户权限

      首先 你要有个root账号 然后才能做下面几条操作: useradd username 创建用户usernamepasswd user_pwd     给已创建的用户username设置密码 关于us ...

    7. linux 创建用户 用户组,sudo,禁止root远程ssh登录

      创建用户  useradd hanli 为新用户设置密码(在root下可以为普通用户重置密码)  passwd hanli 创建用户组  groupadd  op 将用户添加到用户组  usermod ...

    8. Linux命令--用户用户组管理

      新增用户组 : groupadd groupadd [-g GID] 组名 不加-g 则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的 修改用户组信息 : groupmod grou ...

    9. 学习linux之用户-文件-权限操作

      添加用户组 添加 gropuadd 用户组名 修改 groupmod 用户组名 删除 groupdel 用户组名 添加用户 添加 useradd 用户名 设密码 passwd 密码 删除 userde ...

    随机推荐

    1. Python模块struct(二进制数据服务)

      struct模块 Python没有专门处理字节的数据类型.但由于b'str'可以表示字节,所以,字节数组=二进制str. 而在C语言中,我们可以很方便地用struct.union来处理字节,以及字节和 ...

    2. kylin实战(一)

      kylin适用场景 OLAP 它适合数据量大,查询维度多,但是业务改动不频繁的场景.因为业务多,则kylin的cube很多.每次业务变更,kylin修改的工作量大,且每次全量跑数据耗费时间比较长. 它 ...

    3. javaScript--for循环的性能提升

      //为什么性能提升? //第一种写法每次循环时都需要从内存中取出students.length并判断条件是否成立 //第二种写法只需要取一次students.length就可以 //第二种方式弊端:l ...

    4. 问题[scrapy.spidermiddlewares.offsite] DEBUG: Filtered offsite request to...

      原因是二次解析的域名被过滤掉了, 解决办法 解决办法一: yield scrapy.Request(url=detail_url, meta={'item': item}, callback=self ...

    5. python中的list,tuple,dict,set简介---陈雨童

      变量和对象 变量把对象和自己连接起来(指针连接对象空间),引用建立了变量和对象之间的映射关系,这就是引用.引用完成,就实现了赋值.变量通过对象的内存地址指向对象,类似于软链接 将变量a赋值给变量b,其 ...

    6. java-并发编程之fork/join框架

      Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架.Fork/Join框架要完成两件事情: 1.任务分 ...

    7. vfprintf()函数

      函数声明:int vfprintf(FILE *stream, const char *format, va_list arg) 函数参数: stream—这是指向了FILE对象的指针,该FILE对象 ...

    8. angularJS限制 input-text 只能输入数字

      最初的目的是为了让输入的字段仅为数字,不要包含英文,理所当然想到了正则表达,比起对每一个字符判断ASCII码要方便的多 JS正则表达式的使用,可以参考正则表达式 以match为例,全局匹配非数字 va ...

    9. IE 不兼容 console 关键字

      如果在JS文件中写了console.log()方法,在IE下打开 开发者工具就没问题,不打开就有问题js 报错 不执行等等 ...... (IE这都是什么鬼!!),百度过后的解决方法如下: 好吧,这其 ...

    10. 关于Sass和Less牵扯的问题

      关于Sass和Less牵扯的问题 关于Sass和Less Sass和Less都算是一种编程语言(后面会详谈此处牵扯出来的编程语言),都是CSS预处理器,都具有相同的功能,可以帮助我们快速编译CSS代码 ...