linux用户管理详解

今天试下用markdown编辑器写试试

linux用户管理详解(1)

  • 用户和用户组
  • linux帐号管理
  • 切换用户
  • *例行任务管理

linux 用户和用户组

linux是一个多用户分时系统,想要使用合法的系统资源,就必须要在系统中有合法的帐号, 帐号名唯一且要设置密码,使用用户一方面可以识别用户 二个可以合理的设计用户的文件权限为每个用户的数据提供安全保障,为了更方便的管理用户和权限控制还引入了 用户组的改变 下面我 就大略的讲下 这些东西的用法 有错的话 大家 多多指点 谢谢了

UID 和 GID

UID 我们每创建一个用户 系统都会产生一个32为整数记录和区分不同用户的ID,简称UID,普通用户的话UID通常是大于500的 用户分为三种根用户 、系统用户和普通用户 。GID 是 用户组的ID,

命令
查看自己用户信息

root@iZ2352nx154Z ~]# id
uid=0(root) gid=0(root) groups=0(root)
groups的话 是用户组所属群组

id 命令还要其他的话

-g或–group   显示用户所属群组的ID。
-G或–groups 显示用户所属附加群组的ID。
-n或–name   显示用户,所属群组或附加群组的名称。
-r或–real   显示实际ID。 -
u或–user   显示用户ID。
-help   显示帮助。
-version   显示版本信息。
或则id +用户名则是查看其他用户信息

其他

groups 查看自己所属的用户组
who 查看当前在线用户

/etc/passwd 和 etc/shadow

登录linux 是需要用户和密码的 系统记录用户名和密码最重要的两个文件就是etc/passwd 和/etc/passwd 中的几行内容
[root@iZ2352nx154Z ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
1 是用户名 uid的字符串标记方式
2 是密码统一的x 密码是存放在shadow里面
3 是UID
4 是GID
5 是说明栏
6 是家目录
7 所使用的shell的状态的 Nologin是未登录
以上给的用户案例大部分是系统用户 系统用户不是传统用户 是系统运行程序所有的用户 比如 mysql 运行mysqld进程

帐号管理

添加用户

useradd命令用于新加用户,使用方法很简单 只需要useradd username;即可
前面 我们提到 用户会在/etc/passwd 或者/etc/shadow 里面新增用户记录和分配uid,用户文件都在/home里面
useradd -u 555 user1 指定uid添加 -g 指定用户组添加
修改密码的话
passwd username; 然后需要输入两边密码就好

修改用户

前面我们已经知道了/etc/passwd 里面存有用户的信息
cat /etc/passwd | grep username 格式上面的已经说过了
[root@iZ2352nx154Z /]# useradd test
[root@iZ2352nx154Z /]# cat /etc/passwd | grep test
test:x:504:504::/home/test:/bin/bash
信息的话 我们就只能更改 家目录和用户名和GID可以修改
修改用户名 usermod -l new-name old-name
[root@iZ2352nx154Z /]# usermod -l new-test test
我们在查看/etc/passwd 文件 这个时候 用户名已经改了
new-test:x:504:504::/home/test1:/bin/bash
修改家目录的话
更改家目录的 usermodel -d /new-home -m username;
[root@iZ2352nx154Z /]# usermod -d /home/test1 -m new-test
查看 用户信息cat /etc/passwd | grep new-test
new-test:x:504:504::/home/test1:/bin/bash 这个时候 家目录已经改了
修改 uid usermod -u NEW-UID username 就不做举例了
usermod -u NEW-UID username
修改用户组id gid : usermod -g groupname username
usermod 就说这么多了

新增和删除用户组

用户更改用户组在前面usermod 顺便基础下 用户组的操作
groupadd group1 添加用户组、
groupdel group1 删除用户组
查看用户组信息的话 是/etc/group文件

检查用户信息

users 查看当前用户 信息相对简单
who 可以查看到用户登录的终端和时间 第一列用户名 第二列终端 第三列登录时间
[root@iZ2352nx154Z /]# who
root pts/1 2017-08-03 14:11 (183.12.240.63)
w 命令 则可以看到更多信息
[root@iZ2352nx154Z /]# w
16:59:56 up 166 days, 23:05, 1 user, load average: 0.80, 1.86, 2.43
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 183.12.240.63 14:11 1.00s 2.50s 0.01s w
第一行显示当前时间、系统时间、已登录用户数量、系统负载
下面的分别
第一列:登录用户的用户名
第二列:用户登录终端
第三列:如果用户从网络登录,则是主机名或者ip
第四列:登录时间
第五列:用户闲置时间
第八列:用户当前运行的进程

切换用户

su 切换用户
[git@iZ2352nx154Z /]$ su git
Password:
然后输入密码登录
sudo 使用其他用户执行命令

linux 的用户管理就总结到现在 谢谢!

你可能感兴趣的:(linux)