useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage
userddd [option] USERNAME
帐号建好之后,需要用passwd设定帐号的密码
在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,
然后再交由真正建立帐号的useradd命令建立新用户,如此可方便管理员建立用户帐号。
在Red Hat Linux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令。
参数
-u :指定UID UID是独一无二的 默认HID为/etc/passwd 中最大的UID加1得到的
-g GID:指定用户所属的群组\(基本组\);
-G GID,... :指定额外组,可以有多个,彼此之间用逗号隔开
-c "COMMENT":指定注释信息.备注文字会保存在passwd的备注栏位中
-d :/path/somedirectory:指定用户登入时的启始目录,也就是家目录
-s ShellPATH:指定shell /etc/shells 指定了当前系统可用的安全的shell echo $SHELL 查看当前用户使用的SHELL
-m -k:自动建立用户的登入目录\(家目录\)
以下摘自man手册
The files and directories contained in the skeleton directory
查看/etc/skel/
\(which can be defined with the -k option\) will be copied to the home directory.
ls -a /etc/skel/
. .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
.bash\_logout .bash\_profile .bashrc :bash用于用户个人的环境配置文件,即便创建用户
时没有指定复制这些文件,默认也会将这些文件复制到家目录下
-M:不要自动建立用户的登入目录\(家目录\) 即便/etc/login.defs设定用户应该有家目录
创建用户:useradd -M user7
使用user7登录 su - user7
系统警告 su: warning: cannot change directory to /home/user7: No such file or directory
系统显示 bash-4.1$
-r:添加系统用户,不能用于登录,没有家目录
环境变量
PATH
HISTSIZE
SHELL
用户删除
userdel
userde [option] USERNAME
用于删除给定的用户,以及与用户相关的文件。若不加选项,
则仅删除用户帐号,而不删除相关文件,例如用户的家目录
参数
-r:删除用户的同时删除与用户相关的所有文件,如家目录
-f:-f:强制删除用户,即使用户当前已登录;
id命令可以显示真实有效的用户ID(UID)和组ID(GID)。
UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。
id命令已经默认预装在大多数Linux系统中。使用时,只需要在的控制台输入id。
不带选项输入id会显示如下;结果会显示当前用户(活跃用户)的信息
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
参数
-g或--group 显示用户所属群组的ID。
-G或--groups 显示用户所属附加群组的ID。
-n或--name 显示用户,所属群组或附加群组的名称。
-u或--user 显示用户ID。
-g,-G,-u都可以一起使用,此时显示用户的用户名
查看用户的账号信息
包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。
单独执行finger指令,它会显示本地主机现在所有的用户的登陆信息,
包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。
finger USERNAME
参数
-l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容;
usermod命令用于修改用户的基本信息。
usermod命令不允许你改变正在线上的使用者帐号名称。
当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。
参数
-u:修改用户ID
-g:修改用户所属的群组\(基本组\),修改的群组必须是事先存在的
-G:修改用户所属的附加群组,覆盖原有的附加组 一般与-a使用,追加附加组
-c:修改用户帐号的备注文字
-d:指定用户登入时的新的目录\(家目录\) 一般与 -m 一起使用,即制定新的新的家目录,又可以将原有目录中的文件移动到新的家目录中
-s:修改用户登入后所使用的shell
-l:修改用户帐号名称
-e<有效期限>:修改帐号的有效期限
-f<缓冲天数>:修改在密码过期后多少天即锁定该帐号
-L:锁定用户账号密码,使密码无效,
-U:解除账号密码锁定
chnage shell
用来更换登录系统时使用的shell。
若不指定任何参数与用户名称,则chsh会以应答的方式进行设置。
-s或--shell:更改系统预设的shell环境
-l或--list-shells:列出目前系统可用的shell清单
修改注释信息
-f<真实姓名>或--full-name<真实姓名>:设置真实姓名
-h<家中电话>或--home-phone<家中电话>:设置家中的电话号码
-o<办公地址>或--office<办公地址>:设置办公室的地址
-p<办公电话>或--office-phone<办公电话>:设置办公室的电话号码
passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。
系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
passwd USERNAME
参数
--stdin:标准输入
用法实例
echo "RedHat" \| passwd --stdin user1
捕获标准输入修改用户密码
-d:删除密码,仅有系统管理者才能使用
-l:锁住用户账号
-s:列出密码的相关信息,仅有系统管理者才能使用
-u:解开已上锁的帐号
Linux重要哲学思想之一
尽量避免捕获用户接口
RedHat默认不允许空密码登录
检查用户账号完整性
用来验证系统认证文件/etc/passwd和/etc/shadow的内容和格式的完整性
-g:指定GID
-r:创建系统工作组,系统工作组的组ID小于500
-n:修改GRPNAME
用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。
若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
用户创建的文件 属主是用户本身 属组是用户所属的基本组
切换用户所在用户组,登入另一个群组
登录属性,可以退出的
用来修改帐号和密码的有效期限
参数
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
-r:非活动时间