- 关于/etc/passwd和/etc/shadow
1、区别:
(1)/etc/passwd文件中的每个用户都有一个对应的记录行,记录着这个用户的一下基本属性。/etc/passwd只有系统管理员才可以修改的,该文件对所有用户可读。
(2) /etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。但是/etc/shadow其他用户看不了,/etc/shadow文件只有系统管理员才能够进行修改和查看。
2、passwd和shadow文件的访问权限信息,其中passwd保存的是账号,shadow保存的是账号的密码等信息: ls -al /etc/passwd /etc/shadow
3、进行查看/etc/passwd文件内容:vim /etc/passwd
进行文件内容查看:sudo vim /etc/shadow - 用户和用户组管理
1、新增组命令groupadd
创建组,指定id:groupadd group01 -g 999
查看组信息:tail -n 2 /etc/group
2、删除组命令groupdel
删除组:groupdel group01
查看组信息,已经删除:tail -n 2 /etc/group
3、增加用户的命令useradd
(1) 建立一个新用户账户testuser1,并设置UID为666,主目录为/usr/testuser1,属于users组:useradd -u 666 -d /usr/testuser1
(2)使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell。
先建立用户名列表文件username.txt (同上)
再创建用户密码对应文件serc.txt,格式为username:password (注意文件的格式) :
stu1:tt1
stu2:tt2
stu3:tt3
stu4:tt4
stu5:tt5
stu6:tt6
然后批量添加的脚本文件aa.sh:
添加用户,并且在/home/ 下为用户生成用户目录
cat < username.txt | xargs -n 1 useradd -m
批处理模式下更新密码
chpasswd < serc.txt
将上述的密码转换到密码文件和组文件
pwconv
结束验证信息
echo "OK
新建完成
最后执行该脚本文件
4、删除账户的命令userdel
(1) 删除刚创建的账号 tmp_1234
删除用户命令:
userdel tmp_1234
或者连同用户目录一并删除:
userdel -f tmp_1234
注意:这里如果用户还在登陆的话,会提示,用户正在登陆无法删除。此时可能需要先强制用户退出。
(2)强制退出已经登陆用户
查看当前登陆用户的命令: w
知道了登陆用户的tty是ps1执行强制退出命令pkill:
命令原型: pkill -kill -t [TTY]
pkill -kill -t ps1
执行之后再执行w 可以看到用户已经退出。
5、用chfn改变用户的finger
改变finger信息:
chfn
Changing finger information for root.
Name [root]: linux
Office []: nn
Office Phone []: 888888
Home Phone []: 999999
Finger information changed.
改变账号真实姓名
chfn -f unix
Changing finger information for root.
Finger information changed.
- 用户密码管理
1、命令passwd
如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。
passwd linux // 更改或创建linux用户的密码;
Changing password for user linux.
New UNIX password: //请输入新密码;
Retype new UNIX password: //再输入一次;
passwd: all authentication tokens updated successfully. //成功;
普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是linux:
passwd
Changing password for user linux. //更改linux用户的密码;
(current) UNIX password: //请输入当前密码;
New UNIX password: //请输入新密码;
Retype new UNIX password: //确认新密码;
passwd: all authentication tokens updated successfully. //更改成功;
2、命令mkpasswd
生成一个10位的密码,特殊符号0个,数字5个:mkpasswd -l 10 -s 0 -d 5 - 用户身份切换
1、命令su
(1)变更帐号为 root 并在执行 ls 指令后退出变回原使用者:su -c ls root
(2)变更帐号为 root 并传入 -f 参数给新执行的 shell:su root -f
(3)变更帐号为 chk 并改变工作目录至 chk 的家目录(home dir):su - clsung
(4)切换用户:su root
切换用户,改变环境变量:su - root
2、命令sudo
指定用户执行命令:sudo -u userb ls -l
显示sudo设置: sudo -L
以root权限执行上一条命令:sudo !!
以特定用户身份进行编辑文本: sudo -u ugg vi ~www/index.html
(以 ugg 用户身份编辑 home 目录下www目录中的 index.html 文件)
列出目前的权限:sudo -l
列出 sudo 的版本资讯:sudo -V
3、不允许root远程登陆Linux
将PermitRootLogin 注释去掉并将yes修改为no,然后重启 service sshd restart