1、Linux中关于用户、组的一些操作
- 查看当前登录用户名
whoami
- 查看当前登录用户的组内成员
groups
- 查看用户
zhangsan
所在的组,以及组内成员
groups zhangsan
# 显示情况
zhangsan : group_name
- 在Linux中添加一个组:
groupadd 组名
- 在Linux中添加一个用户:
useradd 用户名
#或者
adduser 用户名
新建用户后,将会在/home目录下生成一个与用户名相同的用户主目录,同时会创建一个新组,该组与该用户名相同,该用户属于该组的成员。
- 为指定用户创建密码(不创建也行)
passwd 用户名
- 在Linux中添加用户到组:
usermod -g 组名 用户名
- 在创建用户的同时,加入组(该组是存在的)
useradd -g 组名 用户名
- 在Linux中删除一个用户:
userdel -r 用户名
删除用户也可以使用命令:userdel 用户名
,此时虽然用户被删除了,但用户留在系统上( /home
目录下)的目录不会被删除,还得使用命令 rm -rf 目录名
删除用户目录。所以不如直接使用命令 userdel -r 用户名
实现这个操作一步到位实现删除用户。
温馨提示:如果只用 userdel 用户名
删除,那么再次创建相同名称的用户时,系统会报错:useradd:warning:the home directory already exists. Not copying any file from skel directory into it
。
- 删除组
groupdel 组名
当然,在删除组的时候,只能使用命令:groupdel 组名
,此时组被删除了。虽然在 /home
目录下,还会有刚才删掉的组名,但是不影响再次创建该组。
用户组里面有用户,必须先把用户移动或删除了,才能删除组。否则会报错: groupdel:cannot remove the primary group of user '组名'
- 更改HDFS中
/test02/test06
目录的权限
hadoop fs -chmod -R 777 /test02/test06
- 强制更改HDFS中
/test02/test06
目录的用户、组的权限
hadoop fs -chown -R 用户名:组名 /test02/test06
- 查看所有用户的列表
cat /etc/passwd
- 查看当前活跃的用户列表
w
- 查看所有的用户组
cat /etc/group
- 切换用户
su 要切换为的用户名
- 退出该用户
exit
注:新建用户、组需要用root用户在Linux中创建。新建后就会自动同步到HDFS中,不用重启HDFS服务
2、文件权限与目录权限:
文件权限与目录权限是不同的
- 目录权限
r:read
可以查询该目录下的文件名(如:用ls命令查看目录内容)
w:writte
可以在该目录下删除文件、创建文件、重命名文件
x:execute
进入该目录(使该目录成为工作目录) - 文件权限
r:read
显示该文件的内容,读取,查看(如:用cat命令)
w:writte
可以编辑文件,修改文件的内容(如:用vim命令)。可以修改,但是不代表可以删除该文件,删除一个文件的前提是对该文件所在的目录(文件夹)具有写的权限,才能删该文件
x:execute
该文件是可执行文件 (如:./filename 来执行文件名)
对文件而言,当读取这个文件时需要有 r
权限,当写入或者追加到文件时需要有 w
权限。对目录而言,当列出目录内容时需要具有 r
权限,当新建或删除子文件或子目录时需要有 w
权限,当访问目录的子节点时需要有 x
权限
3、权限第一位代表的含义:
- d 目录
- l 链接文件
- b 块设备
- c 字符设备