大家好,这次给大家介绍一下liunx下用户和用户组的管理,要知道liunx系统里基本上都是文件,也就是说想平移整个系统的用户可以直接把相关文件复制过去就可以了,但是需要很多地方注意 下面有用户和用户组的介绍,还有教大家如何纯手工创建用户。好好加油哦。。



上次容易忘记的。但是很重要的,


#ait+. 引用上一个命令最后的参数


监控动态日志很重要以后会经常用:

[root@0425 ~]# tail -f /var/log/messages


拷贝目录 一定要-r

[root@0425 ~]# cp -r /etc/a/ /root/


创建没有的目录文件: -p


[root@0425 ~]# mkdir /etc/aaa/a

mkdir: 无法创建目录 “/etc/aaa/a”: 没有那个文件或目录

[root@0425 ~]# mkdir -p /etc/aaa/a

-----------------------------------------------------------------------


用户管理:


[root@0425 ~]# id


uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)


uid 0 root (管理员) gid 0(管理员组)

uid 1-499 (系统用户) gid 1-499(系统组)

uid 500-60000(普通用户) gid500-60000(普通用户)



附加组:比如 你的亲戚家里去 就不能那么随便了


不同的shell 习惯不一样操作也不一样对shell没有限制:


把用户设置非交互式的shell

/sbin/nologin 登录 的时候用户名和密码一闪而过


/bin/bash 常用的shell


---------------------------------------------

update updegrip

时间升级 () 空间升级(我的系统不行了)

---------------------------------------------

用户文件:

[root@0425 bin]# vim /etc/passwd

用户组文件:

[root@0425 bin]# vim /etc/group

用户密码文件:

[root@0425 bin]# vim /etc/shadow




添加用户:

[root@0425 ~]# useradd abc1

用户系统在:

[root@0425 ~]# vim /etc/passwd


passwd 文件内容

abc1:x:915:916::/home/abc1:/bin/bash

用户名 :密码占位符:uid:gid:描述信息:家目录:shell

姓名:钥匙 : ×××号码 : 门牌号码: 比如在家门口写着我爱我家 :家庭地址:你说的什么话




创建指定用户: -u 指定uid -g指定gid -c 描述 -d 家目录 -s shell

(设置家目录的时候最后不要加/那样会认成目录)

[root@0425 ~]# useradd -u 915 -g 916 -c home -d /mnt/abc2 -s /bin/bash abc1

--------------------

添加组: groupadd


组文件:

[root@0425 ~]# vim /etc/group



abc1:x:916:

组名:密码:gid:如有信息用户名

---------------------------

设置用户密码:

[root@0425 bin]# passwd abc2


-------------

普通用户设置密码的时候必须符合复杂性和长度

#(current)UNIX 当前密码是

# NEW NUIX passwd 新密码

---------------

存放密码文件:

[root@0425 bin]# vim /etc/shadow

----

root:$1$Cdnpi781$CQWJ6dmljpPTbwO68Gy4A.:15646:0:99999:7:::

第一列:用户名

第二列:密码

第三列:最后一次修改密码的时间 (算法:从1970年1月1号到现在是多少天)

第四列:密码的最小时间 (多天后可以用)

第五列:密码的有效期

第六列:密码快过期警告时间

第七列:密码过期后帐号过期时间

第八列:帐号有效期

第九列:保留列

------------------

!!(锁定密码)

mysql:!!:15645::::::


*(永久性不能登录密码)

ftp:*:15643:0:99999:7:::


-------------


修改组信息: groupmod


[root@0425 bin]# groupmod -g 1500 修改gid


[root@0425 bin]# groupmod -n ttnew tt 修改组名称


[root@0425 bin]# usermod -u -g -c -d -s 修改用户信息


usermod -f 密码过期后帐号过期时间 -e 帐号有效期

usermod -l 原名 新名 修改用户名

usermod -L 锁定帐户

usermod -U 解锁帐户


修改家目录的时候一定要注意:


[root@0425 dev]# useradd 444 创建一个用户444

[root@0425 dev]# usermod -d /mnt/444 444 原家目录在home下 改为mnt下

[root@0425 mnt]# su 444

bash-3.2$ 没有家目录!!!


下面必须要mv /home/444 /mnt/ 下这样才有家目录

如果在mnt下直接创建444文件夹 他还是不认 必须得cp /etc/skel/.bash* /mnt/444才可以认



修改密码信息:

主目录:

[root@0425 bin]# vim /etc/shadow


passwd -n 最小时间

passwd -x 最大时间

passwd -w 警告时间

passwd -i 密码过期时间

passwd -l 锁定用户密码

passwd -u 解锁密码

passwd -S 查看密码状态


删除用户信息:


groupdel 组名 删除用户组

userdel -r 用户名 删除用户连同家目录一起删除



关于用户的主配置文件;

[root@0425 bin]# vim /etc/default/useradd


1 # useradd defaults file

2 GROUP=100

3 HOME=/home 默认家目录

4 INACTIVE=-1 -1 永久生效

5 EXPIRE= 帐号有效期

6 SHELL=/bin/bash 默认shell是那个

7 SKEL=/etc/skel

8 CREATE_MAIL_SPOOL=yes 建立用户的时候是不是建立一个邮箱 (/var/spool/mail)

home=/home

shell=/bin/bash

CREATE_MAIL_SPOOL=yes



密码默认信息:


/etc/login.defs



------------------------------------------------------------------


附加组:


[root@0425 mnt]# groupadd kf

[root@0425 mnt]# groupadd yw

[root@0425 mnt]# useradd -G kf,yw wg 添加附加组

[root@0425 mnt]# usermod -a -G boss abc1 在abc1组里添加附加组 boss



[root@0425 mnt]# su wg

[root@0425 mnt]# sg yw



[root@0425 mnt]# groupadd boss

[root@0425 mnt]# gpasswd boss

正在修改 boss 组的密码

新密码:

请重新输入新密码:


[root@0425 ~]# id

uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

[root@0425 ~]# sg boss

[root@0425 ~]# id

uid=0(root) gid=505(boss) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),505(boss)

[root@0425 ~]# sg kf

[root@0425 ~]# id

uid=0(root) gid=502(kf) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),502(kf),505(boss)

[root@0425 ~]# sg yw

[root@0425 ~]# id

uid=0(root) gid=503(yw) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),502(kf),503(yw),505(boss)

[wg@0425 ~]$ sg boss

Password:

[wg@0425 ~]$ id

uid=500(wg) gid=505(boss) groups=500(wg),502(kf),503(yw),505(boss)

[wg@0425 ~]$ su - wg

Password:

su: incorrect password


[wg@0425 ~]$ sg kf

[wg@0425 ~]$ id

uid=500(wg) gid=502(kf) groups=500(wg),502(kf),503(yw),505(boss)

[wg@0425 ~]$ sg boss

Password:


[wg@0425 ~]$ sg yw

[wg@0425 ~]$ id

uid=500(wg) gid=503(yw) groups=500(wg),502(kf),503(yw),505(boss)

[wg@0425 ~]$ sg boss

Password:





组的密码文件:


[root@0425 bin]# vim /etc/ gshadow


[root@0425 mnt]# useradd -u 0 -o admin (添加重复uid的用户)



手动管理用户:

#groupadd redhat


vim /etc/group

redhat:x:5000:



#useradd eric


vim /etc/passwd

eric:x:5000:5000:PT:/home/eric:/bin/bash (这个shell写着/sbin/bash) 原因 :eirc是普通用户 他不是管理员用户所有不能看到sbin的命令


mkdir /home/eric


配置文件环境变量

cp /etc/skel/.bash* /home/eric/


#passwd eric


vim /etc/shadow

eric:!!:15654:0:99999:7:::


md5密码生成

grub-md5-crypt


----------------------------------------------------

从一台电脑上的所有用户导入到令一个台电脑


多用户导入


touch user.txt

aa:x:5500:5500::/home/aa:/bin/bash

bb:x:5600:5600::/home/bb:/bin/bash



newusers < user.txt 导入帐号用户

写了caoni:123:15649:0:99999:7:::


touch passwd.txt

aa:123

bb:123



chpasswd < passwd.txt 导入密码


配置文件环境变量

cp /etc/skel/.bash* /home/aa/

cp /etc/skel/.bash* /home/bb/



-------------------------------

家目录下的文件作用

.bash_history 记录用户执行的历史文件



.bash_logout 当用户退出的时候执行的命令



.bashrc 环境变量 nologin-shell 不用登录就可以生效 级别环境配置文件


.bash_profile 环境变量 login-shell 必须登录才可以生效 登录级别环境配置



[root@0425 /]# /etc/bashrc 设置所有shell的环境变量 不登录也是

[root@0425 /]# /etc/profile 设置所有shell的环境变量 登录也是


加载顺序

/etc/profile

~/.bash_profile

~/.bashrc

/etc/bashrc




自定义变量:

[root@0425 /]# a=1

[root@0425 /]# echo $a

1


当前变量:

[root@0425 /]# a=10

[root@0425 /]# echo $a

10

[root@0425 /]# bash

[root@0425 /]# echo $a


当前变量 可以当前shell里执行 在子shell里不可以



环境变量:

aaa=1111111111111111111111 把aaa设置变量为11111111111

export aaa 设置全局变量

echo $aaa $(取出变量)查看取出变量aaa值为111111111111

11111111111111111111


可以在当前shell里也可以在子shell里


查看变量 :

env

echo $SHELL



切换用户的时候:要 su -aa 如果不加-的话 他可能搜不到管理员命令环境变量没变