用户管理命令总结及etc中与用户管理相关的文件
用户命令总结:
useradd | 添加用户
|
||||||||||||||||||||||||||
userdel |
执行此命令可以删除用户及相关用户的配置信息 ------ -r删除账户的同时删除用户的家目录,默认不删除家目录
不能随便删除家目录,有时候数据会存放在家目录里面,可以采用vi /etc/passwd的方法,在用户名前面添加#注释,这样就可以防止用户登录了,能有效的防止数据丢失 |
||||||||||||||||||||||||||
passwd |
可为用户设置密码,普通用户只能更改自己的密码(passwd命令有suid),而超级用户能更改所有的密码 --stdin: echo "123456"|passwd --stdin 用户名【】 -l+用户名:锁定用户,使之不能修改密码 -u+用户名:解锁 -S+用户名:查看状态 |
||||||||||||||||||||||||||
chage | 可以修改密码有效期限 | ||||||||||||||||||||||||||
usermod | 修改用户的信息,比如用户组、家目录等 | ||||||||||||||||||||||||||
id | 查看用户uid、gid及所归属的用户组 | ||||||||||||||||||||||||||
su |
切换用户 | ||||||||||||||||||||||||||
sudo | 通过另一个用户来执行命令,比如sudo ls /root,不需要root密码就可以执行只有root才能执行相应的命令或具备的目录权限,这个权限需要通过visudo命令或者直接编辑/etc/sudoers来实现 | ||||||||||||||||||||||||||
visudo | 配置sudo权限的编辑命令(会自动检测语法,比直接编辑/etc/sudoers准确性更高) |
chage命令:修改密码有效期限的命令
-d --日期 | 修改最近一次的密码修改时间 |
-E --日期 | 修改账户过期时间 |
-h | 查看帮助 |
-I | 在密码过期多少天后,用户失效,仅root可以操作(停权) |
-m | 修改两次修改密码之间相距的最小天数 |
-M | 修改两次修改密码之间相距的最大天数 |
-W | 修改警告天数 |
-l |
x显示用户信息 |
[root@learning ~]# chage -l m1 Last password change(最近一次密码修改时间) : May 11, 2018 Password expires(密码过期时间) : never Password inactive(密码失效时间) : never Account expires(账户过期时间) : May 06, 2018 Minimum number of days between password change(两次修改密码之间相距的最小天数) : 0 Maximum number of days between password change (两次修改密码之间相距的最大天数) : 99999 Number of days of warning before password expires(在密码过期之前警告的天数) : 7
su:切换用户
1)普通用户切换到root用户,可使用su -或su - root。必须输入root密码才能完成切换。
2)root用户切换到普通用户,可使用“su - 普通用户名”的写法。不需要输入任何密码就能完成切换。切换到普通用户后,在执行一些命令如ifconfig时,可能会遭遇到环境变量PATH路径问题而找不到某些系统命令(一般是/sbin,/usr/sbin等下面的命令),这时就需要将普通用户的PATH,配置成root的PATH内容,前面的文章已讲解过这个配置方法,不清楚的读者,可以翻阅下。
3)如果仅希望在某用户下执行命令,而不直接切换到该用户下操作,可以使用 su - 用户名 -c "命令"的方式。
与用户管理相关的文件
/etc/skel目录:存放新用户配置文件的目录
创建一个用户的过程中,系统会把该目录下的文件拷贝到用户的家目录下
默认情况下,该目录下的所有文件都是隐藏文件,通过修改、添加、删除该目录下的文件,可以为新创建的用户提供统一、标准的、初始化用户环境
若删除了用户家目录下的这些隐藏文件,会出现如下现象:
要恢复正常,必须把/etc/skel中的文件复制回去,记得改变属主为用户的用户名
/etc/login.defs目录:
login.defs是设置用户帐号限制的文件,在这里我们可配置密码的最大过期天数,密码的最大长度约束等内容。该文件里的配置对root用户无效。如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于 /etc/login.defs
#Directorywheremailboxesreside,_or_nameoffile,relativetothe
#homedirectory.Ifyou_do_defineboth,MAIL_DIRtakesprecedence.
#QMAIL_DIRisforQmail
#
#QMAIL_DIRMaildir
MAIL_DIR/var/spool/mail注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件;
#MAIL_FILE.mail
#Passwordagingcontrols:
#
#PASS_MAX_DAYSMaximumnumberofdaysapasswordmaybeused.
#PASS_MIN_DAYSMinimumnumberofdaysallowedbetweenpasswordchanges.
#PASS_MIN_LENMinimumacceptablepasswordlength.
#PASS_WARN_AGENumberofdayswarninggivenbeforeapasswordexpires.
#
PASS_MAX_DAYS99999注:用户的密码不过期最多的天数;
PASS_MIN_DAYS0注:密码修改之间最小的天数;
PASS_MIN_LEN5注:密码最小长度;
PASS_WARN_AGE7注:
#
#Min/maxvaluesforautomaticuidselectioninuseradd
#
UID_MIN500注:最小UID为500,也就是说添加用户时,UID是从500开始的;
UID_MAX60000注:最大UID为60000;
#
#Min/maxvaluesforautomaticgidselectioningroupadd
#
GID_MIN500注:GID是从500开始;
GID_MAX60000
#
#Ifdefined,thiscommandisrunwhenremovingauser.
#Itshouldremoveanyat/cron/printjobsetc.ownedby
#theusertoberemoved(passedasthefirstargument).
#
#USERDEL_CMD/usr/sbin/userdel_local
#
#Ifuseraddshouldcreatehomedirectoriesforusersbydefault
#OnRHsystems,wedo.ThisoptionisORedwiththe-mflagon
#useraddcommandline.
#
CREATE_HOMEyes注:是否创用户家目录,要求创建;
/etc/default/useradd文件:为设置添加的用户规则文件。
1 # useradd defaults file
2 GROUP=100 # 用户组ID
3 HOME=/home #把用户的家目录创建在/home中。
4 INACTIVE=-1 #是否启用帐号过期停权,-1表示不启用。
5 EXPIRE= #帐号终止日期,不设置表示不启用。
6 SHELL=/bin/bash #所用SHELL的类型
7 SKEL=/etc/skel #默认添加用户的目录默认文件存放位置。也就是说,当用户用useradd添加用户时,用户主目录下的文件都是从这个目录中复制的。
8 CREATE_MAIL_SPOOL=yes #是否创建用户邮件缓冲,yes表示创建