用户/组管理

用户管理

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命令可以显示真实有效的用户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指令,它会显示本地主机现在所有的用户的登陆信息,

包括帐号名称,真实姓名,登入终端机,闲置时间,登入时间以及地址和电话。

finger USERNAME

参数

-l:列出该用户的帐号名称,真实姓名,用户专属目录,登入所用的Shell,登入时间,转信地址,电子邮件状态,还有计划文件和方案文件内容;


修改用户账号属性

usermod

usermod命令用于修改用户的基本信息。

usermod命令不允许你改变正在线上的使用者帐号名称。

当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。

参数

-u:修改用户ID

-g:修改用户所属的群组\(基本组\),修改的群组必须是事先存在的

-G:修改用户所属的附加群组,覆盖原有的附加组 一般与-a使用,追加附加组

-c:修改用户帐号的备注文字

-d:指定用户登入时的新的目录\(家目录\)  一般与 -m 一起使用,即制定新的新的家目录,又可以将原有目录中的文件移动到新的家目录中

-s:修改用户登入后所使用的shell

-l:修改用户帐号名称 

-e<有效期限>:修改帐号的有效期限

-f<缓冲天数>:修改在密码过期后多少天即锁定该帐号

-L:锁定用户账号密码,使密码无效,

-U:解除账号密码锁定
chsh

chnage shell

用来更换登录系统时使用的shell。

若不指定任何参数与用户名称,则chsh会以应答的方式进行设置。

-s或--shell:更改系统预设的shell环境

-l或--list-shells:列出目前系统可用的shell清单
chfn

修改注释信息

-f<真实姓名>或--full-name<真实姓名>:设置真实姓名

-h<家中电话>或--home-phone<家中电话>:设置家中的电话号码

-o<办公地址>或--office<办公地址>:设置办公室的地址 

-p<办公电话>或--office-phone<办公电话>:设置办公室的电话号码

修改用户密码

passwd

passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。

系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

passwd USERNAME

参数

--stdin:标准输入 

        用法实例

            echo "RedHat" \| passwd --stdin user1

                捕获标准输入修改用户密码 

-d:删除密码,仅有系统管理者才能使用

-l:锁住用户账号

-s:列出密码的相关信息,仅有系统管理者才能使用

-u:解开已上锁的帐号

Linux重要哲学思想之一

尽量避免捕获用户接口

RedHat默认不允许空密码登录

pwck

检查用户账号完整性

用来验证系统认证文件/etc/passwd和/etc/shadow的内容和格式的完整性


组管理

创建组

groupadd
-g:指定GID

-r:创建系统工作组,系统工作组的组ID小于500

-n:修改GRPNAME

删除用户组

groupdel

用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。

若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

给群组设定密码

gpasswd

用户创建的文件 属主是用户本身 属组是用户所属的基本组

切换用户群组内

newgrp

切换用户所在用户组,登入另一个群组

登录属性,可以退出的

chage

用来修改帐号和密码的有效期限

参数

-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。

-M:密码保持有效的最大天数。

-w:用户密码到期前,提前收到警告信息的天数。

-E:帐号到期的日期。过了这天,此帐号将不可用。 

-d:上一次更改的日期。

-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。 

-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

-r:非活动时间

results for ""

    No results matching ""