Linux终端命令接口(二)用户管理

用户管理

用户、用户组的管理通常包括一下几个命令:

-useradd    添加用户                             useradd   选项  参数

使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。 【在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd命令建立新用户,如此可方便管理员建立用户帐号。在Red Hat Linux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令。】

可选择选项:

-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;      useradd -c 'lol'  test

-d<登入目录>:指定新创建用户的主目录;通常和-m一起使用   格式:useradd -d  目录  用户名

-D:变更预设值;

-e<有效期限>:指定帐号的有效期限;格式YY-MM-DD   格式: useradd -e'2018-08-01' usert4   创建账号并让其在该日期失效

-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号; useradd -f 3 usert5   该用户密码过期后3天被关闭账号

-g<群组>:用于用户的初始化主组。并且该组名或者组数字必须存在。【设定用户主组

-G<群组>: 添加附加组,可以有多个。每个组由一个逗号分隔的未来,中间没有空格。默认情况下附加组和属组相同,名称都是新增的用户名称

-m:如果用户的家目录不存在,则创建  useradd -m  目录  用户名

-M:不要自动建立用户的登入目录;

-n:取消建立以用户名称为名的群组;

-r:建立系统帐号;

-s:指定用户登入后所使用的shell;

-u:指定用户id。

新建用户加入组: useradd –g sales jack –G company,employees

//-g:加入主要组、-G:加入次要组

        建立一个新用户账户,并设置ID: useradd caojh -u 544 需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。

useradd与adduser的区别

useradd与adduser都是创建新的用户

在CentOs下useradd与adduser是没有区别的都是在创建用户,在home下自动创建目录,没有设置密码,需要使用passwd命令修改密码。

而在Ubuntu下useradd与adduser有所不同

1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。

2、adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。


passwd    修改当前用户密码

参数:

-d  删除指定用户密码

-l  锁定指定用户

-u  解锁指定用户

-e:强制用户下次登录修改密码(密码马上过期:chage -d0 username)

-f:强制执行(配合其他选项使用)

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天开始警告

-i inactivedays:非活动期限

--stdin:从标准输入接收用户密码

usermod  修改用户账号

参数:

-l:用来更改用户//usermod -l 新用户名 用户名

-u:用来更改用户ID //usermod -u  新ID 用户名

-g:用来更改用户组//usermod -g 用户组 用户名

-d:用来更改家目录//usermod -d 家目录 用户名

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

-s:用来更改用户shell//usermod -s /bin/bash或者/sbin/nologin 用户 ( /bin/bash表示:能登录的,/sbin/nologin表示:不能登录的)

-G:添加扩展组//usermod -G 指定用户组 用户名 (操作玩可以使用id命令来查看该用户的属性)(如果需要多个添加多个扩展组,直接用户组后再加)

userdel  删除用户

-r   强制删除,一般都需要添加

手动删除用户:

su   切换用户

-  选项只使用‘-’,表示连带用户的环境变量一起切换

-c 仅仅执行一次命令而不切换用户的身份

我们使用su 用户名切换用户后,使用env查看的话,环境变量还是没有改变,所以:我们使用su切换用户的话,不能省略-, 正常的切换是:su - 用户名。

超级用户切换到普通用户,不需要密码;普通用户切换到超级用户,需要输入密码。

id  查看用户信息

groupadd  添加分组

分组信息存放在 /etc/group

参数:

-g GID:指定GID:默认是上一个组的GID+1

-r:创建系统组

例如,现在创建名为mygroup1和mygroup2两个组,查看其GID,分别为1000和1001,GID加1:

[root@localhost ~]# groupadd mygroup1;groupadd mygroup2

[root@localhost ~]# tail -2 /etc/group

mygroup1:x:1000:

mygroup2:x:1001:

再创建一个名为mygroup3的组,指定其GID为2222:

[root@localhost ~]# groupadd -g 2222 mygroup3

[root@localhost ~]# tail -1 /etc/group

mygroup3:x:2222:

groupmod  修改分组

参数

-g GID:--gid GID:修改GID

-n NEW_NAME,修改组名

例如:将mygroup1的GID改为1111,组名改为MYGROUP:

[root@localhost ~]# groupmod -g 1111 -n MYGOURP mygroup1

[root@localhost ~]# tail -1 /etc/group

MYGOURP:x:1111:

groupdel  删除分组

当某user以某group为主组时,是无法使用groupdel命令删除该group的,但附加组不受影响

[root@localhost ~]# useradd user2 -g mygroup2 \\创建user2用户,指定主组为mygroup2

[root@localhost ~]# groupdel mygroup2 \\删除mygroup2

groupdel: cannot remove the primary group of user 'user2' \\提示无法删除

[root@localhost ~]# useradd user3 -G mygroup3 \\新建user3用户,添加附加组mygroup3

[root@localhost ~]# groupdel mygroup3 \\直接删除

你可能感兴趣的:(Linux终端命令接口(二)用户管理)