inux系统用户和组管理
添加删除用户和组
useradd 添加用户
passwd
userdel 不会删除主目录
groupadd 添加用户组
gpasswd
groupdel
添加用户后影响到的文件:useradd a1 同时出现a1的组,同时创建/home/a1,并将/etc/skel.*所有隐含文件(文件夹)copy到 /home/a1/下。
1. vi /etc/passwd 用户账号信息文件
vi /etc/shadow 用户密码文件,man 5 shadow
vi /etc/group 用户组账号信息文件
vi /etc/gshadow 组密码文件
mkdir /home/a1
cp -r /etc/skel.* /home/a1/
chown -R a1.a1 /home/a1 将文件及文件夹的组改到a1下
查看/etc/passwd文件
如:添加a1用户
1.使用:分割
2.创建的账号 uid = 500 , 组ID gid = 501, 500之前的都是系统自动创建的id
查看/etc/shadow文件,如:a1:$1$BsMdkfjkKLJFdfdfd./ :13822:0:99999:7:::
1.用户密码:使用md5加密密码,是单向加密
2.密码之后是一个Unix time,如:13822是一个天数,从1970-1-1号开始计算
3.0代表密码的最短历史,立刻可以更改密码
4.99999代表密码可以使用的最长时间,密码永不过期
5.7代表密码过期后7天后通知你
6.如:a1:$1$BsMdkfjkKLJFdfdfd./ :13822:0:99999:7::: 在最后一个:号前加1,如:a1:$1$BsMdkfjkKLJFdfdfd./ :13822:0:99999:7::1:,表示密码1970-1-1号过期
查看/etc /group
1.显示组,组ID,如:a1:x:501:其他用户
2.Linux只区分两种用户,uid = 0 和 uid != 0, 所以在root:x:0:root 后,加,用户名,加入的用户名并不是管理员,没有root用户权限
问题:
1.创建两个机器A,B,如何在B机器上使用A机器创建的所有用户名和密码?
答:复制4个文件,并且复制home目录下的文件和文件夹
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
scp -r /home/* 192.168.0.254: /home/ scp意思是SSH copy
tail /etc/passwd
tail /etc/shadow
修改密码使用时间
vi /etc/login.defs 下的PASS_MAX_DAYS ,UID等
删除用户
usedel a1
userdel -r a1 删除他的目录
使用usermod 修改 用户的属性,如:主目录等,如果不知道usermod命令去修改密码,怎么办?
1.vi /etc/passwd 来修改密码
将用户a1指定到其他多个组,如:root组,bin组,如何做?,使用-G参数
usermod -G root bin weixl ,使用参数 -G
查看:/etc/group 是否已经更改,修改成功。
id a1 可以看到a1所属的组
注意;usermod -G ttt xinyuqing,此时,a1只在ttt和xinyuqing组里,就不存在上次指定的组里了
groupadd
groupdel
修改组密码,用来切换当前组的时候使用,
将多个用户加到一个组里,使用参数 -M,将weixl,xinyuqing加到root组里,Shell编程中使用
gpasswd -M weixl,xinyuqing root
技巧:如果把passwd,shadow,group,gshadow文件删除,如何恢复?
使用单一模式进入,这四个文件已经备份了
ls /etc/passwd 存在passwd passwd-,passwd-是passwd的备份,将这个文件复制到相关文件下,就可以恢复了
使用authconfig命令可以将口令放回/etc/passwd文件中
etc/passwd文件用“:”分割七段
account password UID GID GECOS directory Shell
root x 0 0 root /root /bin/bash
sync x 5 5 sync /sbin /bin/sync
account:用户命令账号
Passwd:用户口令,安全性考虑用“X”代替该字段,密码保存在shadow文件中
UID:用户号
GID:用户所属的组号
GECOS:可选的用户信息说明
Directory:用户的主目录
Shell:用户所使用的Shell,乳沟该字段为空,则使用/bin/sh
当前系统当中登录的用户:
users 显示当前系统登录的用户,只显示列表
who 显示当前登录在本机的用户及来源,tty1,第一个控制台,pts/0 虚拟控制台,就是一个shell
w 当前登录本机的用户及运行的程序,包括 远程登录的用户,
write 给当前联机的用户发送消息
wall 给所有登录在本机的用户广播消息
last 查看每个用户的登录日志,时间,来源等
lastlog 查看每个用户最后登录的情况
finger 查看用户信息,每一个用户登录的邮件信息等
使用who显示:
tty1第一个用户名
pts/0 指打开的控制台,终端
echo AAAAAAAAAA > dev/pts/2
echo AAAAAAAABBBB > dev/pst/1
w 远程登录的用户,如 远程登录用户
ssh 192.168.0.11
w
杀掉远程登录的进程,如:pts/3
skill -9 pts/3
write 给当前联机的用户发送消息,write有一个开关,mesy(message),修改为y
mesg
mesg y
write root pts/2
jaadfafadf
adfdfadaf
打开pst/2终端,就可以看到输入的内容了
wall所有人后台前台登录的用户都能看到内容
wall aaaaaaaaaaaaaaaaaaaaaaaaaaaaa
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29056818/viewspace-768511/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29056818/viewspace-768511/