useradd、userdel和usermod命令
linux useradd 命令详解
useradd 添加用户或更新新创建用户的默认信息
1、创建用户的同时指定家目录 # useradd –d /benet/hq hq
2、修改用户名 #usermod -l new_name ole_name
3、在建立用户时指定用户组 # adduser -g class1 st03
4、更改用户的组帐号 # usermod -g class1 st01
5、设置帐户的有效期 # usermod -e 2006-04-01 st01 //e=expire
-c comment 描述新用户帐号,通常为用户全名,comment 为字符串。
-c<备注> 加上备注文字。
备注文字会保存在passwd的备注栏位中。
-d home_dir 设置用户主目录,<登入目录> 指定用户登入时的启始目录,默认值为用户的登录名,并放在/home目录下。
-D创建新帐号后保存为新帐号设置的默认信息。
-e expire_date 指定帐号的有效期限,用 MM/DD/YYYY 格式设置帐号过期日期。
-f inactivity <缓冲天数> 指定在密码过期后多少天即关闭该帐号。
设置口令失效时间,该值为 0 使口令失效后帐号立即失效,为 -1 使该选项失效。
当值为 -1 时则关闭此功能。
预设值为 -1。
-g group 指定用户所属的群组。
group为组名。
-G group,[...] 定义使用者为一堆 groups 的成员。
每个群组使用 ??区格开来,不可以夹杂空白字元。
群组名同 -g 选项的限制。
如果使用者现在的群组不再此列,则将使用者由该群组中移除。
-k skel_dir 设置框架目录,该目录包含用户的初始配置文件,创建用户时该目录下的文件都被复制到用户主目录下。
-l login_name 变更使用者 login 时的名称为 login_name 。
其于不变。
特别是,使用者目录名应该也会跟着更动成新的登入名。
-m 自动创建用户主目录,并把框架目录(默认为/etc/skel)下的文件复制到用户主目录下。
更新使用者新的登入目录,如果给定 -m 选项,使用者旧目录会搬到新的目录去,如旧目录不存在则建个新的。
-M 不要自动建立用户的登入目录。
-n 取消建立以用户名称为名的群组。
-r 建立系统帐号。
允许保留的系统帐号使用用户ID创建一个新帐号。
-s shell 指定用户登入后所使用的shell。
如此栏留白,系统将选用系统预设 shell 。
-u user_id 指定用户ID。
必须为唯一的 ID 值,除非用 -o 选项。
数字不可为负值。
预设为最小不得小于 99 而逐次增加。
0~99 传统上是保留给系统帐号使用。
使用者目录树下所有的档
案目录其 user 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
linux userdel 命令详解
功能说明:删除用户帐号。
语法:userdel [-r][用户帐号]
补充说明:userdel可删除用户帐号与相关的文件。
若不加参数,则仅删除用户帐号,而不删除相关文件。
参数:
-r 删除用户登入目录以及目录中所有文件。
linux usermod 命令详解 usermod 不允许你改变正在线上的使用者帐号名称。
功能说明:修改用户帐号。
可用来修改用户帐号的各项设定。
语法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][- f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ] [用户帐号]
参数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s 修改用户登入后所使用的shell。
-u 修改用户ID。
-U 解除密码锁定。
Linux查看所有用户的相关命令
Linux查看所有⽤户的相关命令1、Linux⾥查看所有⽤户 (1)在终端⾥.其实只需要查看 /etc/passwd⽂件就⾏了. (2)看第三个参数:500以上的,就是后⾯建的⽤户了.其它则为系统的⽤户. 或者⽤cat /etc/passwd |cut -f 1 -d :2、⽤户管理相关命令useradd命令useradd 选项⽤户名-d ⽬录,指定⽤户主⽬录,如果此⽬录不存在,则同时使⽤-m选项,可以创建主⽬录。
-g ⽤户组,指定⽤户所属的⽤户组。
-G ⽤户组,指定⽤户所属的附加组。
-s Shell⽂件,指定⽤户的登录Shell。
-u ⽤户号,指定⽤户的⽤户号,如果同时有-o选项,则可以重复使⽤其他⽤户的标识号。
例1:# useradd –d /home/sam -m sam添加了⼀个⽤户sam,并且他的主⽬录为/home/sam,没有主⽬录的时候⾃动创建。
(/home为默认的⽤户主⽬录所在的⽗⽬录)例2:useradd -s /bin/sh -g group –G adm,root gem添加⼀个⽤户gem,使⽤的Shell是/bin/sh,主⽤户组为group,附加组为adm,root。
userdel命令userdel 选项⽤户名-r 把⽤户的主⽬录⼀起删除。
usermod命令usermod 选项⽤户名例⼦:# usermod -s /bin/ksh -d /home/z –g developer sam将sam⽤户的Shell改为/bin/ksh,主⽬录改为/home/z,⽤户组为developer。
passwd修改⽤户⼝令passwd 选项⽤户名-l 锁定⼝令,即禁⽤账号。
-u ⼝令解锁。
-d 使账号⽆⼝令。
-f 强迫⽤户下次登录时修改⼝令。
例1:$ passwdOld password:******New password:*******Re-enter new password:*******假设当前⽤户是sam,则上⾯的命令修改该⽤户⾃⼰的⼝令。
Linux命令技巧实现高级用户认证和授权
Linux命令技巧实现高级用户认证和授权Linux系统是一种流行的开源操作系统,广泛应用于服务器和个人计算机等领域。
作为一名Linux系统管理员,掌握一些高级用户认证和授权的技巧是非常重要的。
本文将介绍几种常用的Linux命令技巧,帮助您实现高级用户认证和授权。
一、用户管理1. 添加用户:使用`useradd`命令可以添加新用户。
例如,要添加名为“user1”的用户,可以执行以下命令:```sudo useradd user1```2. 设置密码:使用`passwd`命令可以设置用户的密码。
例如,要为用户“user1”设置密码,可以执行以下命令:```sudo passwd user1```3. 删除用户:使用`userdel`命令可以删除用户。
例如,要删除用户“user1”,可以执行以下命令:```sudo userdel user1```二、用户组管理1. 创建用户组:使用`groupadd`命令可以创建用户组。
例如,要创建名为“group1”的用户组,可以执行以下命令:```sudo groupadd group1```2. 将用户添加到用户组:使用`usermod`命令可以将用户添加到用户组。
例如,要将用户“user1”添加到用户组“group1”,可以执行以下命令:```sudo usermod -a -G group1 user1```三、文件权限管理1. 修改文件权限:使用`chmod`命令可以修改文件的权限。
例如,要将文件“file1”设置为所有用户可读写并执行,可以执行以下命令:```sudo chmod a+rwx file1```2. 修改文件所有者:使用`chown`命令可以修改文件的所有者。
例如,要将文件“file1”的所有者设置为“user1”,可以执行以下命令:```sudo chown user1 file1```3. 修改文件所属用户组:使用`chgrp`命令可以修改文件的所属用户组。
Linux终端常用命令
14. diff命令 语法:diff [选项] <文件名称...> 功能:比较文件之间的差异。以逐行的方式,比较文本文件的异同处。 15. grep命令 语法:grep [选项] [文件名称…] 功能:以指定模式搜索文件,指定文件中搜索到与指定的模式匹配的字符串,并打印
6. mount命令 语法:mount [选项] <文件系统> <目录> 功能:挂载文件系统。除了直接指定文件系统外,也可以用设备名称或挂入点来表示
文件系统。
7. umount命令 语法:umount [选项] <目录> 功能:卸除文件系统。除了直接指定文件系统外,也可以用设备名称或挂入点来表示
文件系统。 8. quotacheck命令 语法:quotacheck [选项][文件系统...] 功能:检查磁盘的使用空间与限制。该命令扫描挂入系统的分区,并在各分区的文件
3.4 用户管理命令
1. useradd命令 语法:useradd [选项][用户帐号] 功能:建立用户帐号。帐号建好之后,再用passwd设定帐号的密码,使用useradd指
令所建立的帐号,实际上是保存在/etc/passwd文本文件中。 2. userdel命令 语法:userdel [选项][用户帐号] 功能:删除用户帐号。该命令可删除用户帐号与相关的文件。如果不加参数,则仅删
13. badblocks命令 语法:badblocks [选项][磁盘装置][磁盘区块数][启始区块] 功能:检查磁盘装置中损坏的区块。 14. dd命令 语法:dd [选项] [文件名或目录] 功能:读取,转换并输出数据。 15. fsck命令 语法:fsck [选项][文件系统...] 功能:检查文件系统并尝试修复错误。
Linux命令行中的高级用户权限管理技巧
Linux命令行中的高级用户权限管理技巧Linux作为一个开源操作系统,以其稳定性和灵活性受到广泛关注。
对于使用Linux命令行的高级用户来说,权限管理是一项非常重要的任务。
本文将介绍一些在Linux命令行中使用的高级用户权限管理技巧,帮助您更好地控制和管理系统中的用户权限。
一、用户和组的管理在Linux系统中,用户和组是权限控制的基本单位。
以下是一些常用的用户和组管理命令:1. useradd:创建新用户。
使用该命令可以创建一个新的用户账号,并可以指定其所属的用户组。
2. groupadd:创建新的用户组。
使用该命令可以创建一个新的用户组,并设置相关的属性。
3. usermod:修改用户属性。
使用该命令可以修改用户的相关属性,如用户名、用户组、密码等。
4. userdel:删除用户。
使用该命令可以删除指定的用户账号及其相关的文件。
5. groupmod:修改用户组属性。
使用该命令可以修改用户组的相关属性,如用户组名、用户组ID等。
6. groupdel:删除用户组。
使用该命令可以删除指定的用户组及其相关的文件。
二、文件和目录权限管理在Linux系统中,每个文件和目录都有一组权限,用于控制用户对其的读、写、执行等操作。
以下是一些常用的文件和目录权限管理命令:1. chmod:修改权限。
使用该命令可以修改文件或目录的权限。
-r:递归修改权限,包括子目录中的文件和目录。
-R:同-r,效果一样。
u:表示用户的权限。
g:表示用户组的权限。
o:表示其他用户的权限。
+:增加权限。
-:取消权限。
=:设置权限。
示例:chmod u+rwx file.txtchmod g+rw directory2. chown:修改文件或目录的所有者。
使用该命令可以修改文件或目录的所有者为指定的用户。
示例:chown user file.txtchown user:group directory3. chgrp:修改文件或目录的组。
Linux命令行技巧如何创建和管理用户和用户组
Linux命令行技巧如何创建和管理用户和用户组在Linux系统中,创建和管理用户和用户组是系统管理员需要掌握的基本技能之一。
通过命令行界面,管理员可以轻松执行这些任务,并确保系统的安全性和完整性。
本文将介绍一些常用的Linux命令行技巧,以帮助管理员创建和管理用户和用户组。
一、创建用户在Linux系统中,可以使用以下命令来创建用户:1. useradd命令useradd命令用于创建新用户。
可选的参数包括用户名、用户ID、默认用户组、附加组等。
例如,以下命令将创建一个名为“user1”的用户:```$ sudo useradd user1```2. passwd命令passwd命令用于设置用户的密码。
只有root用户或具有sudo权限的用户才能更改其他用户的密码。
例如,以下命令将设置“user1”的密码:```$ sudo passwd user1```二、管理用户一旦用户创建成功,管理员可以使用以下命令来管理用户:1. usermod命令usermod命令用于修改用户的属性。
可以使用usermod命令来更改用户名、用户ID、默认用户组、附加组等。
例如,以下命令将更改“user1”的用户名为“newuser1”:```$ sudo usermod -l newuser1 user1```2. chage命令chage命令用于修改用户的密码过期时间。
可以使用chage命令来设置密码的最长使用期限、账户的失效期限等。
例如,以下命令将禁用“user1”的密码过期限制:```$ sudo chage -M 99999 user1```三、创建用户组在Linux系统中,可以使用以下命令来创建用户组:1. groupadd命令groupadd命令用于创建新的用户组。
例如,以下命令将创建一个名为“group1”的用户组:```$ sudo groupadd group1```四、管理用户组一旦用户组创建成功,管理员可以使用以下命令来管理用户组:1. groupmod命令groupmod命令用于修改用户组的属性。
Linux中使用useradd和userdel命令管理用户和用户组
Linux中使用useradd和userdel命令管理用户和用户组Linux系统是一种开源的操作系统,广泛应用于服务器和嵌入式设备中。
在Linux中,用户和用户组的管理是非常重要的一项任务。
本文将介绍如何使用useradd和userdel命令来管理用户和用户组。
一、用户管理1. 添加用户在Linux中,可以使用useradd命令来添加用户。
下面是使用useradd命令添加用户的基本语法:useradd [选项] 用户名例如,要添加一个名为"john"的用户,可以使用以下命令:useradd john默认情况下,useradd命令将在/home目录下创建一个与用户名相同的子目录作为用户的家目录。
如果需要指定其他目录作为用户的家目录,可以使用-d选项,如下所示:useradd -d /data/john john2. 设置用户密码添加完用户后,下一步是为用户设置密码。
使用passwd命令可以为用户设置密码。
下面是passwd命令的基本语法:passwd 用户名例如,要为"john"用户设置密码,可以使用以下命令:passwd john系统会提示您输入新密码,并要求确认密码。
请务必选择一个安全的密码,并妥善保管。
3. 修改用户信息Linux中还可以使用usermod命令来修改用户的信息,包括用户名、家目录、用户ID等。
下面是usermod命令的基本语法:usermod [选项] 用户名例如,要将"john"用户的家目录修改为/data/john,并将其用户ID修改为1001,可以使用以下命令:usermod -d /data/john -u 1001 john4. 删除用户如果不再需要某个用户,可以使用userdel命令将其从系统中删除。
下面是userdel命令的基本语法:userdel 用户名例如,要删除名为"john"的用户,可以使用以下命令:userdel john二、用户组管理1. 添加用户组在Linux中,可以使用groupadd命令来添加用户组。
列出用户与用户组相关的10个命令及主要功能。
列出用户与用户组相关的10个命令及主要功能。
用户与用户组是Linux系统中的重要组成部分。
通过用户和用户组的管理,可以保障系统的安全性和管理性。
下面列出了与用户和用户组相关的10个命令以及主要功能。
1. `useradd`:用于创建新的用户账户。
它可以指定用户名称、用户ID、用户所属的初始组ID 等参数,还可以为用户指定初始家目录和登录 shell。
主要功能:- 添加新用户账户到系统中。
- 分配用户ID和组ID。
- 配置用户的家目录和登录 shell。
2. `userdel`:用于删除用户账户。
主要功能:- 删除指定用户账户。
- 删除用户的相关文件和目录。
3. `usermod`:用于修改用户账户的属性。
主要功能:- 修改用户名或用户ID。
- 修改用户所属的组ID。
- 修改用户的家目录和登录 shell。
4. `passwd`:用于设置用户的密码。
主要功能:- 为用户设置登录密码。
- 修改用户的密码。
5. `usergrp`:用于显示用户所属的组列表。
主要功能:- 列出指定用户所属的组。
6. `groupadd`:用于创建新的用户组。
主要功能:- 添加新的用户组到系统中。
- 指定用户组ID。
7. `groupdel`:用于删除用户组。
主要功能:- 删除指定的用户组。
8. `groupmod`:用于修改用户组的属性。
主要功能:- 修改用户组的名称或ID。
9. `chown`:用于修改文件或目录的所有者。
主要功能:- 修改指定文件或目录的所有者。
- 可以通过指定用户ID、用户名称或用户组来修改所有者。
10. `chgrp`:用于修改文件或目录的所属组。
主要功能:- 修改指定文件或目录的所属组。
- 可以通过指定组ID或组名称来修改所属组。
以上是与用户和用户组相关的10个常用命令及主要功能。
通过这些命令,我们可以方便地管理系统中的用户和用户组,保证系统的安全和管理。
使用这些命令能够有效地控制用户的访问权限,同时也能够更好地进行系统的维护和管理工作。
用户及组创建修改相关命令
⽤户及组创建修改相关命令useradd/usermod/userdel/passwd/groupadd/gpasswd/newgrp/groupdel/groups命令:useradd创建⽤户过程:useradd不加任何参数创建时,系统⾸先读取⽤于添加⽤户的配置⽂件/etc/login.defs和/etc/default/useradd根据这两个配置⽂件中定义的规则添加⽤户。
然后向/etc/passwd和/etc/group⽂件添加⽤户和⽤户组记录,同时/etc/passwd 和/etc/group对应的加密⽂件也会⾃动⽣成记录。
接着系统会⾃动在/etc/default/useradd ⽂件设定的⽬录下建⽴⽤户家⽬录。
最后复制/etc/skel⽬录中的所有⽂件到新⽤户的家⽬录中,新⽤户建⽴完成。
创建及修改⽤户信息命令useradd [选项] ⽤户名useradd 创建⽤户时会参考两个配置⽂件,分别是/etc/default/useradd和/etc/login.defs-uuid⽤户标识号,此标识必须唯⼀。
-g group指定新⽤户登录时所属的默认组(主组)【创建并加⼊对的过程】-G 指定新⽤户的附加组,必须是已经存在的组。
附加组对于默认组⽽⾔,当⼀个⽤户同时是多个组中的成员时,登录时默认组称为主组,其他组称为附加组。
-d home指定新建⽤户的默认家⽬录,如果不指定系统会在/etc/default/useradd⽂件指定的⽬录下创建⽤户主⽬录。
-s shell指定新建⽤户使⽤默认的shell类型,如果不指定,会在/etc/default/useradd⽂件中定义的shell作为新⽤户的默认shell。
-c comment对新建⽤户添加说明信息。
-f inactive指定账号过期多长时间后会永久停⽤。
当值为0时账号⽴刻停⽤。
当值为-1时则关闭此功能。
-M 创建时不⽣成⽤户家⽬录(配合-s使⽤)单个使⽤--useradd [选项] 条件⽤户(把条件赋予给⽤户)多个使⽤--useradd [选项] 条件⽤户 [选项] 条件 [选项] 条件 ·····只需第⼀个条件写⽤户,其他只需选项和条件e.g. useradd -u 1003 u3 -g u1 -G u2 -c kk创建UID1003,初始组为u1,附加组为u2,说明条件为kk的u3⽤户useradd -r -s /sbin/nologin www创建⼀个系统⽤户,且不为⽤户创建家⽬录usermod [选项] ⽤户名(已建⽴⽤户修改)---⽤户信息变混乱,不常⽤-u UID #修改⽤户的指定UID-g 组名 #修改⽤户的指定初始组(尽量不修改)-G 组名 #修改⽤户的附加组(不管之前设置了多少附加组,都替换掉)(加上-a选项可不替换)-c 说明 #修改⽤户的描述信息-d ⽬录 #结合 -m 选项直接对源家⽬录进⾏改名实现修改家⽬录e.g. usermod –m –d /home/u4 user4 (⽤户user的原家⽬录是/home/user4)-s shell类型 #修改⽤户的登录shell类型-L(⼤)⽤户名 #锁定⽤户的密码 --/etc/shadow中的密码前+!-U(⼤)⽤户名 #解锁⽤户密码 --/etc/shadow中密码前的!删去-l 新⽤户名旧⽤户名 #修改⽤户名userdel [选项] ⽤户名-r 删除⽤户时,连带家⽬录⼀起删除删除⽤户后其⽤户创建的⾮/home/⽤户名下的⽂件,通过 ll 命令查看所有者所属组变为UID、GID号,当创建了同⼀UID的⽤户后,⽂件的所有者识别为新建⽤户创建的,会造成混乱。
用户名和组
第7章用户和组用户管理命令(useradd-添加、userdel-删除、usermod-更改、su-切换、sudo-超级权限)[root@localhost ~]# ls /bin boot dev etc home lib lib64 lost+found media mnt opt proc root sbin selinux srv sys tmp usr var[root@localhost ~]# cat /etc/passwd 用户账号文件用户名称:用户密码:user ID:group ID:相关注释:主目录:使用的shellroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinuucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologingopher:x:13:30:gopher:/var/gopher:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinvcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologinsaslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin [root@localhost ~]#[root@localhost ~]# cat /etc/shadow 用户密码文件用户名:密码:上次修改的时间:两天的~~~最少天数:两次~~~最多天数:提前多少天提醒用户警告用户密码过期:禁用此用户:用户过期时间:保留字段root:$6$XT3R7QOG7sn81wTc$//CCsnp3L6IHyXHw/wdc7RdoAOZ8jpOYMS/rzoQWpX8/FnGUb8Fd KEt.unBWg1w6G2AK5cXUgvYT8PoF6sCs40:17042:0:99999:7:::bin:*:15980:0:99999:7:::daemon:*:15980:0:99999:7:::adm:*:15980:0:99999:7:::lp:*:15980:0:99999:7:::sync:*:15980:0:99999:7:::shutdown:*:15980:0:99999:7:::halt:*:15980:0:99999:7:::mail:*:15980:0:99999:7:::uucp:*:15980:0:99999:7:::operator:*:15980:0:99999:7:::games:*:15980:0:99999:7:::gopher:*:15980:0:99999:7:::ftp:*:15980:0:99999:7:::nobody:*:15980:0:99999:7:::vcsa:!!:17042::::::saslauth:!!:17042::::::postfix:!!:17042::::::sshd:!!:17042::::::[root@localhost ~]# cat /etc/group 用户组文件用户组名:用户租的密码:用户租的标识号:组内用户列表root:x:0:bin:x:1:bin,daemondaemon:x:2:bin,daemonsys:x:3:bin,admadm:x:4:adm,daemontty:x:5:disk:x:6:lp:x:7:daemonmem:x:8:kmem:x:9:wheel:x:10:mail:x:12:mail,postfixuucp:x:14:man:x:15:games:x:20:gopher:x:30:video:x:39:dip:x:40:ftp:x:50:lock:x:54:audio:x:63:nobody:x:99:users:x:100:utmp:x:22:utempter:x:35:floppy:x:19:vcsa:x:69:cdrom:x:11:tape:x:33:dialout:x:18:saslauth:x:76:postdrop:x:90:postfix:x:89:sshd:x:74:[root@localhost ~]# useradd user1 添加用户添加用户后查看/etc/passwd-/etc/shadow-/etc/group-文件中的变化如下[root@localhost ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinuucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologingopher:x:13:30:gopher:/var/gopher:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinvcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologinsaslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinuser1:x:500:500::/home/user1:/bin/bash[root@localhost ~]# cat /etc/shadowroot:$6$XT3R7QOG7sn81wTc$//CCsnp3L6IHyXHw/wdc7RdoAOZ8jpOYMS/rzoQWpX8/FnGUb8Fd KEt.unBWg1w6G2AK5cXUgvYT8PoF6sCs40:17042:0:99999:7:::bin:*:15980:0:99999:7:::daemon:*:15980:0:99999:7:::adm:*:15980:0:99999:7:::lp:*:15980:0:99999:7:::sync:*:15980:0:99999:7:::shutdown:*:15980:0:99999:7:::halt:*:15980:0:99999:7:::mail:*:15980:0:99999:7:::uucp:*:15980:0:99999:7:::operator:*:15980:0:99999:7:::games:*:15980:0:99999:7:::gopher:*:15980:0:99999:7:::ftp:*:15980:0:99999:7:::nobody:*:15980:0:99999:7:::vcsa:!!:17042::::::saslauth:!!:17042::::::postfix:!!:17042::::::sshd:!!:17042::::::user1:!!:17042:0:99999:7:::[root@localhost ~]# cat /etc/grouproot:x:0:bin:x:1:bin,daemondaemon:x:2:bin,daemonsys:x:3:bin,admadm:x:4:adm,daemontty:x:5:disk:x:6:lp:x:7:daemonmem:x:8:kmem:x:9:wheel:x:10:mail:x:12:mail,postfixuucp:x:14:man:x:15:games:x:20:gopher:x:30:video:x:39:dip:x:40:ftp:x:50:lock:x:54:audio:x:63:nobody:x:99:users:x:100:utmp:x:22:utempter:x:35:floppy:x:19:vcsa:x:69:cdrom:x:11:tape:x:33:dialout:x:18:saslauth:x:76:postdrop:x:90:postfix:x:89:sshd:x:74:user1:x:500:[root@localhost ~]# useradd user1 添加用户[root@localhost ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinuucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologingopher:x:13:30:gopher:/var/gopher:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinvcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologinsaslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinuser1:x:500:500::/home/user1:/bin/bash[root@localhost ~]# usermod -d /data/user2 user2 修改用户的主目录[root@localhost ~]# usermod -l user3 user2 讲用户名user2修改成user3,user3接管了user2的所有权[root@localhost ~]# cat /etc/passwd |grep usersaslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologinuser1:x:500:500::/home/user1:/bin/bashuser3:x:501:501::/data/user2:/bin/bash[root@localhost ~]# cat /etc/passwd |grep usersaslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologinuser1:x:500:500::/home/user1:/bin/bashuser3:x:501:501::/data/user2:/bin/bash[root@localhost ~]# cat /etc/group |grep userusers:x:100:user1:x:500:user2:x:501:[root@localhost ~]# useradd -d /data/user4 user4 –m 添加用户user4用户自动创建目录[root@localhost ~]# ls /data/user4[root@localhost ~]# userdel user4 删除user4目录,此时用户的目录是不删除的[root@localhost ~]# ls /data/user4[root@localhost ~]# useradd -d /data/user5 user5 -m[root@localhost ~]# userdel -r user5 连带删除用户主目录[root@localhost ~]# useradd user6 root用户修改user6密码useradd: user 'user6' already exists[root@localhost ~]# passwd user6 更改或设置用户的密码Changing password for user user6.New password:BAD PASSWORD: it is too simplistic/systematicBAD PASSWORD: is too simpleRetype new password:passwd: all authentication tokens updated successfully.[root@localhost ~]# su - user6 切换用户[user6@localhost ~]$ pwd/home/user6[user6@localhost ~]$ su root 切换到root用户工作环境Password:[user6@localhost ~]$ echo $PATH 不懂啥意思??/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/user6/bin [user6@localhost root]$ sudo /sbin/fdisk –l sudo 普通用户获取超级权限We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:#1) Respect the privacy of others.#2) Think before you type.#3) With great power comes great responsibility.用户组的管理命令[root@localhost ~]# cat /etc/group 添加用户组group1root:x:0:bin:x:1:bin,daemondaemon:x:2:bin,daemonsys:x:3:bin,admadm:x:4:adm,daemontty:x:5:disk:x:6:lp:x:7:daemonmem:x:8:kmem:x:9:wheel:x:10:mail:x:12:mail,postfixuucp:x:14:man:x:15:games:x:20:gopher:x:30:video:x:39:dip:x:40:ftp:x:50:lock:x:54:audio:x:63:nobody:x:99:users:x:100:utmp:x:22:utempter:x:35:floppy:x:19:vcsa:x:69:cdrom:x:11:tape:x:33:dialout:x:18:saslauth:x:76:postdrop:x:90:postfix:x:89:sshd:x:74:user1:x:500:user2:x:501:user6:x:502:group1:x:503:[root@localhost ~]# groupadd group2 添加用户组[root@localhost ~]# useradd -g group2 user8 添加user8并设置为group2[root@localhost ~]# cat /etc/passwd | grep user7user7:x:500:501::/home/user7:/bin/bash[root@localhost ~]# groupdel group2 当该组有用户时,组是不允许删除的groupdel: cannot remove the primary group of user 'user7'[root@localhost ~]# groupmod -g 1001 group3 修改用户组的id[root@localhost ~]# cat /etc/group |grep group3group3:x:1001:[root@localhost ~]# groupmod -n group4 group3 修改用户组的名称[root@localhost ~]# cat /etc/group |grep groupgroup1:x:500:group2:x:501:group4:x:1001:[root@localhost ~]# useradd lichaocheng 加用户名lichaocheng[root@localhost ~]# id lichaocheng 使用id命令查看当前用户的信息uid=501(lichaocheng) gid=1002(lichaocheng) groups=1002(lichaocheng)[root@localhost ~]# grep user10 /etc/passwd[root@localhost ~]# grep lichaocheng /etc/group 查看lichaocheng对应的用户组名lichaocheng:x:1002:范例------批量添加用户名并设置密码[root@localhost ~]# cd /data-bash: cd: /data: No such file or directory[root@localhost ~]# cd ..[root@localhost /]# mkdir data[root@localhost /]# cd data/[root@localhost data]# mkdir user[root@localhost data]# cd user[root@localhost user]# ls[root@localhost user]# for s in 'seq -w 0 10' 产生用用户名文件> do> echo user$s>>user.list> done[root@localhost user]# cat user.list 查看文件列表userseq -w 0 10[root@localhost ~]# cat useradd.shcat: useradd.sh: No such file or directory[root@localhost ~]# cat useradd.shcat: useradd.sh: No such file or directory[root@localhost ~]# cat user.list | while read user> do> useradd -d /ddata/ dev/> useradd -d /ddata/ dev/> useradd -d /data/$user -m $user> pass=pass$RANDOM> ench $"user :$pass" | /usr/sbin/chpasswd> ench $user $pass> donecat: user.list: No such file or directory。
Shell脚本中的用户和权限管理的高级技巧
Shell脚本中的用户和权限管理的高级技巧在Shell脚本中,用户和权限的管理是非常重要的一项技巧。
通过合理地设置用户和权限,可以确保系统的安全性和稳定性。
本文将介绍一些Shell脚本中用户和权限管理的高级技巧。
一、用户管理在Shell脚本中,可以通过用户管理命令来管理用户,例如"adduser"、"usermod"和"userdel"等命令。
1. 添加用户使用"adduser"命令可以添加新用户。
在使用"adduser"命令时,可以通过参数指定一些附加属性,如用户的家目录、默认Shell环境等。
例如,下面的命令将添加一个名为"testuser"的新用户:adduser testuser2. 修改用户属性使用"usermod"命令可以修改用户的属性。
例如,可以使用"usermod -l"命令修改用户的用户名,使用"usermod -d"命令修改用户的家目录。
例如,下面的命令将将用户名为"testuser"的用户修改为"newuser":usermod -l newuser testuser3. 删除用户使用"userdel"命令可以删除用户。
例如,下面的命令将删除名为"testuser"的用户:userdel testuser二、权限管理在Shell脚本中,可以使用权限管理命令来管理文件和目录的权限,例如"chmod"和"chown"等命令。
1. 修改文件权限使用"chmod"命令可以修改文件的权限。
其中,权限可以使用数字或符号表示。
例如,使用数字表示权限时,可以使用"chmod 755 file"命令将文件的权限设置为rwxr-xr-x。
