用户和组相关命令
useradd
该命令常用于添加用户账号
useradd [选项] 用户名
常用选项如下:
[-u] : 指定添加账户的uid号(要求该uid号未被其他用户使用)
[-d] :指定用户家目录位置(不能与-M一起使用)
[-e] :指定用户的账户失效时间,格式为“YYYY-MM-DD”
[-M] :不建立家目录,即使系统配置中已经设定。
[-s] :指定用户的登陆shell 例如:添加用户tom时直接指定用户tom的基本组为tom,并加入fps组,同时指定主目录为/fpshome/tom且不允许tom通过本地登陆服务器
[root@localhost ~]# useradd -d /fpshome/tom -g tom -G fps -s /sbin/nologin t
[root@localhost ~]# useradd -d /fpshome/tom -g tom -G fps -s /sbin/nologin tom
passwd
该命令常用于设置/更改用户指令(设置/修改密码),锁定/解锁用户账户或查看账户状态。
passwd [选项] 用户名
常用选项如下:
[-l] :锁定用户账户
[-d] :清空指定用户密码,只需要账号就可以登陆。
[-S] :查看用户状态(是否被锁定)
[-u] :解锁用户账户 --stdin
echo "123456" | passwd --stdin test
该命令只能根用户才能操作
usermod
修改用户账户属性,部分功能与useradd非常相似。
usermod [选项] 用户名
常用选项如下:
[-u] : 修改用户的uid号
[-d] :修改用户家目录位置
例如:将admin的家目录从/admin转移至/home/admin
[root@localhost ~]# mv /admin /home/
[root@localhost ~]# usermod -d /home/admin admin
[-e] :指定用户的账户失效时间,格式为“YYYY-MM-DD”
[-s] : 指定用户的登陆shell
[-l] :更改用户账号登录名称(Login Name) 例如:执行下面的操作,将admin的用户名更改为tom,下次登陆时生效。
[root@localhost ~]# usermod -l tom admin
[root@localhost ~]# grep "admin" /etc/passwd
[-L] :锁定用户 [-U] :解锁用户 例如:以下操作分别用于锁定解锁用户账号。
[root@localhost ~]# usermod -L admin //锁定账号
[root@localhost ~]# passwd -S admion //查看帐号状态
[root@localhost ~]# usermod -U admin ///解锁账号
[-g] :修改用户基本组名(或GID)
[-G] :修改用户附加组名(或GID)
userdel
删除用户账号 例如:执行以下操作,删除名为kgc_dd的用户账号,同时删除其家目录/home/kgc_dd。
[root@localhost ~]# userdel -r kgc_dd
[root@localhost ~]# ls -ld /home/kgc_dd //确认家目录是否删除
ls: /home/kgc_dd:没有那个文件或目录
groupadd
添加组账号,需要指定GID时在后面加上“-g”
例如:添加一个名为class1的组账号,指定GID为10000
[root@localhost ~]# groupadd -g 10000 class1
[root@localhost ~]#groupadd class1 //添加一个名为class1的组账号
gpasswd,groupdel
gpasswd命令本来用于设置组账号密码,但该功能使用较少。groupdel命令用于 常用选项如下:
[-a] :向组中添加成员
[-d] :向组中删除成员
[-M] :向组中一次添加多个成员(成员之间要用“,”隔开)
[root@localhost ~]# gpasswd -a tom class1 //tom添加进组class1
[root@localhost ~]# gpasswd -d tom class1 //把tom从组class1中删除
[root@localhost ~]# grasswd -G tom,jack,peter class1 //把tom,jack,peter, 全部加入组class1
[root@localhost ~]# groupdel class1 //删除组class1
权限相关命令
1.rwx 的含义
-
基本说明:
-
每3位代表某个权限:前3位代表所有者权限、中间3位代表所属组权限、最后3位代表其他人权限
-
所有者:文件的所属用户,一般是创建这个文件的用户,如:root
-
所属组:文件的所属用户组,一般与所有者同名,因为linux中创建的新用户会同时创建同名的用户组
-
-
rwx的对文件的含义:
-
r(read):读取权限,可以使用 cat 等命令查看该文件的内容
-
w(write):写入权限,可以使用 echo、vi 等命令向文件中写入内容
-
x(execute):执行权限,可以把文件当成脚本去执行(一般是shell文件才会赋予x权限)
-
-
对于目录来说
-
r:可以在目录中执行 ls 等命令,来查看目录中的内容
-
w:可以在目录中创建、删除、重命名文件的操作
-
x:可以进入目录,比如 cd 命令
-
2.chmod
作用:用于对文件或目录指定权限
2.1 字母权限
举例: chmod o+w aaa(给aaa这个文件的其他人赋予写权限,o代表身份,w代表权限)
其他身份用字母表示如下:
-
u:所有者
-
g:所属组
-
o:其他人
-
a:所有人(默认可省略)
权限字母表示如下:
-
w:写入,修改权限
-
r:读取权限
-
x:执行权限(在对目录指定时如果没有此权限是不能进入目录的)
符号表示如下:
-
+:赋予权限
-
-:取消权限
2.2 数字权限
说明:
-
4:代表读权限,相当于 r
-
2:代表写权限,相当于 w
-
1:代表执行权限,相当于x
常见权限有644和755两种,具体解释如下:
644:第1位6代表所有者的权限,即为4+2,也就是具备了rw权限。第2位的4代表所属组权限,只有r 权限,第3位的4代表其他人具备r权限
755:在644的基础上,每种角色都具备了执行权限,如7是 4+ 2+ 1
3.chown
作用:修改文件的所有者
注意:普通用户不可以修改文件的所有者,即使文件是自己的。
# 修改 aaa 的所有者 为 tom
[root@localhost tmp]# chown tom aaa
[root@localhost tmp]# ll
-rw-r--r--. 1 tom root 29 11月 8 23:11 aaa
# 修改所有者的同时修改所属组
[root@localhost tmp]# chown jack:jack aaa
[root@localhost tmp]# ll
-rw-------. 1 jack jack 29 11月 8 23:11 aaa
4.chgrp
作用:修改文件的所属组
# 修改文件的所属组
[root@localhost tmp]# chgrp tom aaa
[root@localhost tmp]# ll
-rw-------. 1 jack tom 29 11月 8 23:11 aaa