Linux用户管理

来源:互联网 发布:winhexu盘数据恢复教程 编辑:程序博客网 时间:2024/05/19 22:00
Linux用户管理


userdel 删除用户帐号

语法:userdel [-r] username

该命令的各选项含义如下:

-r 删除帐号时连同帐号主目录一起删除。

注意:删除用户帐号时非用户主目录下的用户文件并不会被删除,管理员必须以find命令搜索删除这些文件。下面这条命令删除bugboy用户的所有文件:

find / -user bugboy -exec rm {} /;

 

useradd 添加用户或更新新创建用户的默认信息

语法:useradd  选项 用户名

该命令的各选项含义如下:

-c comment    描述新用户帐号,通常为用户全名,comment 为字符串。

-d home_dir   设置用户主目录,默认值为用户的登录名,并放在/home目录下。

-D            创建新帐号后保存为新帐号设置的默认信息。

-e expire_date  MM/DD/YYYY 格式设置帐号过期日期。

-f inactivity   设置口令失效时间,该值为 0 使口令失效后帐号立即失效,为 -1 使该选项失效。

-g group      设置所要创建新用户所在的基本组,group为组名。

-k skel_dir   设置框架目录,该目录包含用户的初始配置文件,

              创建用户时该目录下的文件都被复制到用户主目录下。

-m   自动创建用户主目录,并把框架目录(默认为/etc/skel)下的文件复制到用户主目录下。

-M   不创建用户主目录。

-r   允许保留的系统帐号使用用户ID创建一个新帐号。

-s shell    指定用户的登录shell

-u user_id  设置用户ID

指令实例:

useradd -m -g users -G Wheel,student  -s /bin/sh -c "Yan Dingcheng" bugboy

useradd -u 1001 -g users -m -c "Zhang San"  szhan

 
P.S: 在ubuntu中,还可以使用更方便的adduser来进行用户添加。

usermod

不仅能改用户的SHELL类型,所归属的用户组,也能改用户密码的有效期,还能改登录名。

usermod [-u uid [-o]] [-g group] [-G group,...]
                [-d 主目录 [-m]] [-s shell] [-c 注释] [-l 新名称]
                [-f 失效日] [-e 过期日] [-p 密码] [-L|-U] 用户名
-c comment
       更新用户帐号password档中的注解栏,一般是使用chfn(1)来修改。
-d home_dir
   更新用户新的登入目录。如果给定-m选项,用户旧目录会搬到新的目录去,如旧目录不存在则建个新的。
-e expire_date 加上用户帐号停止日期。日期格式为MM/DD/YY.
-f inactive_days 帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1
-g initial_group 更新用户新的起始登入用户组。用户组名须已存在。用户组ID必须参照既有的的用户组。用户组ID预设值为1
-G group,[...] 定义用户为一堆groups的成员。每个用户组使用","区格开来,不可以夹杂空白字元。用户组名同-g选项的限制。如果用户现在的用户组不再此列,则将用户由该用户组中移除。
-l login_name 变更用户login时的名称为login_name。其它不变。特别是,用户目录名应该也会跟着更动成新的登入名。
-s shell 指定新登入shell。如此栏留白,系统将选用系统预设shell
-u uid用户ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为最小不得小于/etc/login.defs中定义的UID_MIN值。0UID_MIN值之间是传统上保留给系统帐号使用。用户目录树下所有的档案目录其userID会自动改变。放在用户目录外的档案则要自行手动更动。
警告:usermod不允许你改变正在线上的用户帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序。你需手动更改用户的crontab档。也需手动更改用户的at工作档。采用NISserver须在server上更动相关的NIS设定。

 

警告: usermod 最好不要用它来改用户的密码,因为他在/etc/shadow中显示的是明口令;修改用户的口令最好用passwd

 

4、添加用户组命令groupadd

语法格式:

groupadd  [-g gid [-o]]  [-r]  [-f]  组名

-g  后接GID值,除非使用-o参数不然该值必须是唯一,不可相同,数值不可为负,预设值以/etc/login.defs为准;
-r  此参数是用来建立系统帐号的GID会比定义在系统档文件上/etc/login.defs GID_MIN来的小。注意useradd此用法所建立的帐号不会建立使用者目录,也不会纪录在/etc/login.defs.的定义值。如果你想要有使用者目录须额外指定-m参数来建立系统帐号,它会自动帮你选定一个小于的GID_MIN的值,不需要再加上-g参数。
-f  This is force flag.新增一个已经存在的用户组帐号,系统会出现错误讯息然后结束groupadd

 

5groupdel的用法;

groupdel 是用来删除用户组的;

语法格式:groupdel 用户组

 

6passwd命令;

我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码;passwd命令的用法也很多,我们只选如下的几个参数加以说明;想了解更多,请参考man passwdpasswd --help


passwd [OPTION...]

passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码;

passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;

[root@localhost]# passwd 注:没有加任何用户,我是用root用户来执行的passwd 表示修改root用户的密码;下面也有提示;
Changing password for user root.
New UNIX password: 注:请输入新密码;
Retype new UNIX password: 注:验证新密码;
passwd: all authentication tokens updated successfully. 注:修改root密码成功;

 

如果新建用户后,要为新用户创建密码,则用 passwd 用户名 ,注意要以root用户的权限来创建;

passwd 几个比较重要的参数

[root@localhost]# passwd --help
Usage: passwd [OPTION...] <accountName>
  -k, --keep-tokens keep non-expired authentication tokens
                          注:保留即将过期的用户在期满后能仍能使用;
  -d, --delete delete the password for the named account (root only)
                          注:删除用户密码,仅能以root权限操作;
  -l, --lock lock the named account (root only)
                          注:锁住用户无权更改其密码,仅能通过root权限操作;
  -u, --unlock unlock the named account (root only)
                          注:解除锁定;
  -f, --force force operation
                          注:强制操作;仅root权限才能操作;
  -x, --maximum=DAYS maximum password lifetime (root only)

注:两次密码修正的最大天数,后面接数字;仅能root权限操作;
  -n, --minimum=DAYS minimum password lifetime (root only)

注:两次密码修改的最小天数,后面接数字,仅能root权限操作;
  -w, --warning=DAYS number of days warning users receives before

注:在距多少天提醒用户修改密码;仅能root权限操作;
                          password expiration (root only)
  -i, --inactive=DAYS number of days after password expiration when an

注:在密码过期后多少天,用户被禁掉,仅能以root操作;
                          account becomes disabled (root only)
  -S, --status report password status on the named account (root only)

注:查询用户的密码状态,仅能root用户操作;
                           --stdin read new tokens from stdin (root only)

注意: 当我们清除一个用户的密码时,登录时就无需密码;这一点要加以注意;

 

7chage 修改用户密码有效期限的命令;

chage 用语法格式:

chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] [-E 过期日] [-d 最后日] 用户

 

8chfn 修改用户信息工具;

chfn 这个工具主要是用来改用户的全名,办公室地址,电话之类的;用法如下:

chfn [ -f full-name ] [ -o office ] [ -p office-phone ] [ -h home-phone ] [ -u ] [ -v ] [ username ]

 

[root@localhost]# chfn linux 注:更改用户linux的信息;
Changing finger information for linux.
Name []: jekay Linux 注:用户全名jekay Linux ,随便写一个就行;
Office []: benet
Office Phone []: 44444444
Home Phone []: 88888888
Finger information changed. 注:更改完成;

 

9chsh 改变用户的SHELL类型;

[root@localhost]# chsh --help
Usage: chsh [ -s shell ] [ --list-shells ] [ --help ] [ --version ] [ username ]

如果chsh 不加任何参数及用户名的情况下,默认为更改当前操作用户的SHELL类型;

举例说明:

[root@localhost]# chsh --list-shells 注:列出当前系统中所有的SHELL
/bin/sh
/bin/bash
/sbin/nologin 注:这个是不允许用户登录系统所用,是极为有用的;您可以通过查看/etc/passwd 中看哪些用户是nologin
/bin/ksh
/bin/tcsh
/bin/csh
/bin/zsh
[root@localhost]# chsh -s /bin/ksh linux 注:更改linux所用的shellksh
Changing shell for linux.
Shell changed. 注:更改完成;
原创粉丝点击