【Linux笔记】Linux的用户、组管理

1. Linux的用户、组管理

  1)   用户

    i.      添加用户

      useradd 用户名

      useradd 不带参数直接添加用户时,家目录默认在/home下,默认使用bash shell

      例1:

      [[email protected] etc]# useradd testyx

      [[email protected] etc]# cd /home

      [[email protected] home]# ls

      ads_yx  testyx

      [[email protected] home]# passwd testyx

      Changing password for user testyx.

      New password:

      BAD PASSWORD: it is too simplistic/systematic

      BAD PASSWORD: is too simple

      Retype new password:

      passwd: all authentication tokens updated successfully.

      [[email protected] home]# cat /etc/passwd|grep testyx

      testyx:x:501:502::/home/testyx:/bin/bash

 

      useradd -d 家目录 -g 组名 -G 组集合(逗号间隔) -p 密码 -s shell 用户名

      例2:

      [[email protected] home]# useradd -d /home/test1 -g test -p 123456 -s /bin/bash testyx1

      [[email protected] home]# cat /etc/passwd|grep testyx1

      testyx1:x:502:501::/home/test1:/bin/bash

      [[email protected] home]# cat /etc/group|grep test

      test:x:501:

      testyx:x:502:

    ii.      修改用户

      usermod

      -c<备注>  修改用户帐号的备注文字。
      -d登入目录>  修改用户登入时的目录。
      -e<有效期限>  修改帐号的有效期限。
      -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
      -g<群组>  修改用户所属的群组。
      -G<群组>  修改用户所属的附加群组。
      -l<帐号名称>  修改用户帐号名称。
      -L  锁定用户密码,使密码无效。
      -s<shell>  修改用户登入后所使用的shell。
      -u<uid>  修改用户ID。
      -U  解除密码锁定。

      注意:更改家目录时,目的家目录必须存在且为绝对路径

      例1:修改 testyx的用户名为 testyxc
      # usermod -l testyxc testyx
      例2:锁定账号 testyxc
      # usermod -L testyxc
      例3:解除对 testyxc的锁定
      # usermod -U testyxc    

    iii.      删除用户

      userdel 用户名

      只删除用户,不删除家目录

      例:

      [[email protected] home]# userdel testyx

      [[email protected] home]# cd /home

      [[email protected] home]# ll

      total 12

      drwx------ 3 ads_yx  yxtest 4096 Sep 15 07:52 ads_yx

      drwx------ 2 testyx1 test   4096 Sep 22 01:57 test1

      drwx------ 2     501    502 4096 Sep 22 01:50 testyx

      userdel  -r用户名

      删除用户及家目录

      例:

      [[email protected] home]# userdel -r testyx1

      [[email protected] home]# ll

      total 8

      drwx------ 3 ads_yx yxtest 4096 Sep 15 07:52 ads_yx

      drwx------ 2    501    502 4096 Sep 22 01:50 testyx

      可以看到/home 下的testyx1的用户家目录test1已经被删除

  2)  切换用户

    i.     su 用户名

      不会重新加载切换用户的环境变量

      例:

      [[email protected] home]# cd /opt

      [[email protected] opt]# pwd

      /opt

      [[email protected] opt]# su ads_yx

      [[email protected] opt]$ pwd

      /opt

      可以看到切换到ads_yx用户后,当前目录没有改变

    ii.     su – 用户名

      会重新加载切换用户的环境变量

      [[email protected] opt]# pwd

      /opt

      [[email protected] opt]# su - ads_yx

      [[email protected] ~]$ pwd

      /home/ads_yx

      可以看到切换到ads_yx用户后,当前目录改变为ads_yx的家目录,因为su – ads_yx时重新加载了用户的环境变量

    iii.     sudo

      普通用户下获取超级用户权限

      配置:在/etc/sudoers文件中找到 root ALL=(ALL) ALL 这一行,在它下面加入并保存:

      ads_yx  ALL=(ALL)    NOPASSWD:ALL

      

  3)  查看当前用户

    i.      查看当前用户的uid 和 gid

      [[email protected] home]# id

      uid=0(root) gid=0(root) groups=0(root)

    ii.      查看当前用户是谁

      [[email protected] home]# whoami

      root

  4)  环境变量

    i.     系统环境变量

      系统环境变量是放在/etc/profile文件中,使环境变量生效是source命令

      

      [[email protected] ~]# echo $PATH

      /opt/lampp/bin:/opt/jdk1.7.0_75/bin:/opt/jdk1.7.0_75/jre/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

  ii.     用户环境变量

      用户自己环境变量是放在用户家目录的.bash_profile文件中*(该示例的shell为bash)

      

      [[email protected] ~]# su - ads_yx

      [[email protected] ~]$ echo $PATH

      /opt/lampp/bin:/opt/jdk1.7.0_75/bin:/opt/jdk1.7.0_75/jre/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ads_yx/bin

  iii.     env查看环境变量

      [[email protected] ~]$ env

      SHELL=/bin/bash

      TERM=xterm

      HISTSIZE=1000

      JRE_HOME=/opt/jdk1.7.0_75/jre

      USER=ads_yx

      ……

      PATH=/opt/lampp/bin:/opt/jdk1.7.0_75/bin:/opt/jdk1.7.0_75/jre/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ads_yx/bin

      ……

  5)  用户组

    iv.      添加用户组

      groupadd  -g  组id  组名

      例:

      [[email protected] ~]# groupadd -g 580 testcc

      [[email protected] ~]# cat /etc/group|grep testcc

      testcc:x:580:

    v.      修改用户组

      groupmod  -g  新的组id  –n 组新名 组旧名

      例:

      [[email protected] ~]# groupmod -g 581 testcc

      [[email protected] ~]# cat /etc/group|grep testcc

      testcc:x:581:

    vi.      删除用户组

      groupdel  组名

      例:

      [[email protected] ~]# groupdel testcc

      [[email protected] ~]# cat /etc/group|grep testcc

      [[email protected] ~]#                               --查询不到组信息

时间: 2025-01-02 05:16:13

【Linux笔记】Linux的用户、组管理的相关文章

Linux查找过滤及用户/组管理

1.        列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut –d ' ' –f1 | uniq 2.        取出最后登录到当前系统的用户的相关信息. who | tail -1 who | head -1 3.        取出当前系统上被用户当作其默认shell的最多的那个shell cut –d : -f7 /etc/passwd | uniq –c | sort  -n | tail -1 4.        将

linux 中usermod、用户密码管理及密码随机生成工具mkpasswd

一. usermod命令 1. usermod更改用户的属性 usermod -u 111 user1 更改用户user1的UID为111 usermod -g grp2 user2 更改user2的组为user2 usermod -d /home/test user3 更改user3的家目录为/home/test/ usermod -s /sbin/nologin user2 更改user2登录的shell 为不能登录 2. id user1 查看用户UID,GID,扩展组等信息 一个用户可以

第2章 系统用户/组管理

2.1 用户和组的基本概念 用户和组是操作系统中一种身份认证资源. 每个用户都有用户名.用户的唯一编号uid(user id).所属组及其默认的shell,可能还有密码.家目录.附属组.注释信息等. 每个组也有自己的名称.组唯一编号gid(group id).一般来说,gid和uid是可以不相同的,但绝大多数都会让它们保持一致,大致属于约定俗成类的概念吧. 组分为主组(primary group)和辅助组(secondary group)两种,用户一定会属于某个主组,也可以同时加入多个辅助组.

linux基础篇-09,组管理groupadd groupmod groupdel groupwd

用户组管理 groupadd groupmod groupdel groupwd ################################################ 用户组类别 管理员组 普通组 系统组 一般组 ################################################ 用户组类别: 私有组:系统自动创建一个和用户名同名的组 用户基本组:默认组 附加组:默认组以为的组 ######################################

Linux笔记(十) - 权限管理

(1)ACL权限1.查看分区ACL权限是否开启:dumpe2fs -h /dev/sda3-h 仅显示超级块中信息,而不显示磁盘块组的详细信息2.临时开启分区ACL权限:mount -o remount,acl /重新挂载根分区,并挂载加入acl权限3.永久开启分区ACL权限: vim /etc/fstabUUID=xxx / ext4 defaults,acl 1 1 4.查看ACL权限:getfacl 文件名5.设定ACL权限:setfacl [选项] 文件名-m 设定ACL权限-x 删除指

Linux笔记(九) - 软件包管理

(1)软件包简介1.源码包   脚本安装包2.二进制包(rpm,系统默认包) (2)rpm包管理安装-i 安装 -v 显示详细信息 -h 显示进度--nodeps 不检测依赖性-U 升级例:安装: rmp -ivh 包名    升级: rmp -Uvh 包名-e 卸载例:rmp -e 包名-q 查询-a 所有-i 软件信息-p 未安装包信息-l 安装位置-f 系统文件属于哪个包-R 依赖性例:查询所有已安装的: rpm -qa | grep 包名    查询软件详细信息: rpm -qi 包名 

Linux笔记(二) - 权限管理

(1)改变文件或目录权限:chmod{ugoa}{+-=}{rwx}{mode=421}-R 递归修改可以同时更改多个 chmod g+w a.txt b.txt c.txt例:chmod g=rwx a.txt      chmod 755 a.txt(2)改变文件或目录所有者:chown例:chown admin a.txt(3)改变文件或目录所属组:chgrp例:chgrp  admins a.txt(4)显示设置文件的默认权限:umask-S 以rwx形式显示新建文件默认权限注:新建文件

Linux笔记--Linux进程通信

Linux进程间通信 文章来源: http://www.cnblogs.com/linshui91/archive/2010/09/29/1838770.html 一.进程间通信概述进程通信有如下一些目的:A.数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B.共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到.C.通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程).D.

Linux笔记Linux 系统命令及其使用详解(大全)

开机默认界面修改:字符界面和图形界面-->修改ect/inittab文件 Windows远程Telnet访问Linux系统:telnet+远程Linux系统IP地址 Linux目录结构: /:根目录 /bin:存放必要的命令 /boot:存放内核以及启动所需的文件等 /dev:存放设备文件 /etc:存放系统的配置文件 /home:用户文件的主目录,用户数据存放在其主目录中 /lib:存放必要的运行库 /mnt:存放临时的映射文件系统 /proc:存放存储进程和系统信息 /root:超级用户的主

第2章 系统用户/组管理(2) su和sudo

本文目录: 2.1 su 2.2 sudo 2.2.1 /etc/sudoers文件 2.2.2 sudo和sudoedit命令 2.1 su 切换用户或以指定用户运行命令. 使用su可以指定运行命令的身份(user/group/uid/gid). 为了向后兼容,su默认不会改变当前目录,且仅设置HOME和SHELL这两个环境变量(若目标用户非root,则还设置USER和LOGNAME环境变量).推荐使用--login选项(即"-"选项)避免环境变量混乱. su [options...