linux查看目录的属主,linux用户和文件目录管理
Linux用户及权限管理用户管理多用户多任务的操作系统用户类型管理员用户root普通用户系统用户/程序用户用户相关的文件:/etc/passwd用户信息格式:用户名:x:UID:GID:说明信息:SHELLUID:1000---600000---999系统用户SHELL:/bin/bash默认/sbin/nologin系统用户/etc/shadow用户密码信息用户:基本组附加组用户userA --
Linux用户及权限管理
用户管理
多用户多任务的操作系统
用户类型
管理员用户root
普通用户
系统用户/程序用户
用户相关的文件:
/etc/passwd用户信息
格式:
用户名:x:UID:GID:说明信息:SHELL
UID:
1000---60000
0---999系统用户
SHELL:
/bin/bash默认
/sbin/nologin系统用户
/etc/shadow用户密码信息
用户:
基本组
附加组用户userA -----> 用户组userA; caiwu, shichang, jishu, yanfa
1、创建用户
# useradd [option] 用户名称
option选项:
1) -u UID 指定用户的uid
[root@node01 ~]# useradd -u 2000 user2
[root@node01 ~]# id user2
uid=2000(user2) gid=2000(user2) 组=2000(user2)
[root@node01 ~]#
2) 指定用户的基本组、附加组
-g gid/组名称
-G gid/组名称,...
[root@node01 ~]# groupadd caiwu
[root@node01 ~]# useradd -g user1 -G caiwu user3
[root@node01 ~]#
[root@node01 ~]# id user3
uid=2001(user3) gid=1001(user1) 组=1001(user1),2001(caiwu)
3) 指定用户shell名称
-s shell名称
-M不创建宿主目录
[root@node01 ~]# useradd -s /sbin/nologin -M apache
4) 创建系统用户
-r
[root@node01 ~]# useradd -r mysql
5) 指定用户的宿主目录
[root@node01 ~]# useradd -d /tmp/hadoop hadoop
2、切换用户
# su - 用户名称
3、查看用户id信息
[root@node01 ~]# id user1
uid=1001(user1) gid=1001(user1) 组=1001(user1)
[root@node01 ~]# id user3
uid=2001(user3) gid=1001(user1) 组=1001(user1),2001(caiwu)
[root@node01 ~]# id -u user3
2001
[root@node01 ~]# id -g user3
1001
[root@node01 ~]# id -G user3
1001 2001
[root@node01 ~]# id -u -n user3
user3
[root@node01 ~]# id -g -n user3
user1
[root@node01 ~]# id -G -n user3
user1 caiwu
[root@node01 ~]#
4、设置用户密码
# passwd [option] [用户名称]
[root@node01 ~]# passwd user1
1) 查看用户密码状态
[root@node01 ~]# passwd -S user1
user1 PS 2017-04-11 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
2) 锁定用户密码(不能登录)
[root@node01 ~]# passwd -l user1
锁定用户 user1 的密码 。
passwd: 操作成功
[root@node01 ~]# passwd -S user1
user1 LK 2017-04-11 0 99999 7 -1 (密码已被锁定。)
3) 解锁用户密码
[root@node01 ~]# passwd -u user1
解锁用户 user1 的密码。
passwd: 操作成功
[root@node01 ~]# passwd -S user1
user1 PS 2017-04-11 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
[root@node01 ~]#
4) 强制用户密码过期
[root@node01 ~]# passwd -e user1
正在终止用户 user1 的密码。
passwd: 操作成功
5、修改用户信息
# usermod [option] 用户名称
-u UID
-g 组名称
-G 组名称
-s shell名称
[root@node01 ~]# usermod -aG caiwu user3
[root@node01 ~]# id user3
uid=2001(user3) gid=1001(user1) 组=1001(user1),2001(caiwu),2004(shichang)
6、删除用户
# userdel [option] 用户名称
[root@node01 ~]# userdel user1
[root@node01 ~]# userdel -r user2>>>同时删除用户的宿主目录
用户组管理
1、创建用户组
# groupadd 用户组名称
2、删除用户组
# groupdel 用户组名称
[root@node01 ~]# groupadd jishu
[root@node01 ~]# useradd tom
[root@node01 ~]# useradd mike
[root@node01 ~]# useradd jerry
[root@node01 ~]# usermod -G jishu tom
[root@node01 ~]# usermod -G jishu jerry
[root@node01 ~]# usermod -G jishu mike
[root@node01 ~]# grep "jishu" /etc/group
jishu:x:2005:tom,jerry,mike
[root@node01 ~]# gpasswd -d tom jishu
正在将用户“tom”从“jishu”组中删除
[root@node01 ~]# grep "jishu" /etc/group
jishu:x:2005:jerry,mike
[root@node01 ~]#
用户操作环境配置文件:
从/etc/skel目录复制而来
[root@node01 ~]# ls -a /home/userA/
. .. .bash_logout .bash_profile .bashrc .mozilla
.bashrc打开新终端/etc/bashrc
.bash_profile用户登录系统/etc/profile
.bash_logout注销系统
示例:设置命令别名
# alias 命令别名='命令'
针对单个用户设置别名:
[root@node01 ~]# vim /home/userA/.bashrc
alias ipshow='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@node01 ~]# source /home/userA/.bashrc
针对所有用户设置别名:
[root@node01 ~]# vim /etc/bashrc
alias ipshow='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@node01 ~]# source /etc/bashrc
文件目录权限管理
常规权限:
rread读取 4
wwrite写入2
xexecute执行1
文件:
r查看文件内容(cat/more/less/head/tail/grep)
w编辑文件内容(vim)
xshell/python脚本
目录:
r查看目录下的文件(ls /tmp)
w修改目录下的文件(新建、删除、mv)
x切换目录(cd)
查看文件权限
[root@node01 ~]# ls -l /etc/fstab
-rw-r--r--. 1 root root 465 7月 28 2016 /etc/fstab
查看目录权限
[root@node01 ~]# ls -ld /etc/
drwxr-xr-x. 136 root root 8192 4月 11 13:48 /etc/
设置文件目录权限
1) chmod修改权限
# chmod {augo}{+-=}{rwx} 文件名称
aall 所有
uuser属主用户
ggroup 属组
oother其他
[root@node01 ~]# chmod a+x /test/1.txt
[root@node01 ~]# chmod g=rw /test/3.txt
# chmod nnn 文件名称
[root@node01 ~]# chmod 600 /test/4.txt
2) 修改文件的属主、属组
# chown 用户名称.用户组名称 文件名称
[root@node01 ~]# chown user1.caiwu /test/1.txt
[root@node01 ~]# chown user1 /test/2.txt
[root@node01 ~]# chown root.caiwu /test/4.txt
仅修改属组:
# chgrp 用户组名称 文件名称
[root@node01 ~]# chgrp caiwu /test/3.txt
方法2)facl ---- 文件访问控制列表
设置权限:
针对单个用户设置权限
# setfacl -m u:用户名:权限 文件名称
[root@node01 ~]# setfacl -m u:user4:r /test/3.txt
[root@node01 ~]# getfacl /test/3.txt
getfacl: Removing leading '/' from absolute path names
# file: test/3.txt
# owner: user1
# group: user3
user::rw-
user:user4:r--
group::rwx
mask::rwx
other::r-x
针对单个用户组设置权限
# setfacl -m g:用户组名称:权限文件名称
删除facl权限
针对单个用户删除权限
# setfacl -x u:用户名 文件名称
[root@node01 ~]# setfacl -x u:user4 /test/3.txt
针对单个用户组删除权限
# setfacl -x g:用户组名称 文件名称
特殊权限:
suid4
sgid2
sticky bit 1# chmod 644 file01 # chmod 6644 file02 # chmod 2700
1、suid
作用:普通用户在执行命令期间,会临时获取到命令属主用户对操作系统的权限
[root@node01 ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
设置suid权限
# chmod u+s 文件名称
2、sgid
针对目录设置
作用:目录拥有sgid权限后,在目录下新创建的文件会继承目录的属组信息
设置sgid权限
# chmod g+s 目录名称
[root@node01 ~]# ls -ldh /linux/
drwxr-sr-x. 2 root caiwu 18 4月 11 15:37 /linux/
3、sticky bit
针对目录设置
作用:
只有目录下文件的属主用户、目录属主用户及root可删除该文件
[root@node01 ~]# ls -ldh /tmp/
drwxrwxrwt. 8 root root 4.0K 4月 11 15:45 /tmp/
设置sticky bit权限
# chmod o+t 目录名称
chmod, chown, chgrp, setfacl
共同选项:-R
更多推荐
所有评论(0)