linux权限管理

用户管理


 useradd 创建用户

选项:

-u UID

-g GID

-d 家目录,普通用户在家目录中有最高权限;默认在操作系统的/home目录下。

-s 登陆后用户启用后的shell ,图形界面和命令行。

[root@localhost zyj]# useradd sl  //默认创建家目录和组ID、用户名id及登陆后的shell
[root@localhost zyj]# cd /home
[root@localhost home]# ls
hello.txt  sl  x  zyj
[root@localhost sl]# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
sl:x:501:501::/home/sl:/bin/bash  

userdel:删除用户

[root@localhost sl]# userdel sl
[root@localhost sl]# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
zyj:x:500:500: python_full:/home/zyj:/bin/bash

passwd:给所有用户设置密码,重新执行相当于修改密码。

[root@localhost ~]# passwd  //不加用户时直接修改root密码
Changing password for user root.
New password: 
[root@localhost ~]# passwd zyj //为用户zyj修改密码
Changing password for user zyj.
New password: 
[root@localhost ~]# echo "123123" | passwd --stdin zyj  //一次性给用户设置密码
Changing password for user zyj.
passwd: all authentication tokens updated successfully.

 usermod:修改用户账号属性

-u UID 系统给用户分配500以后的用户ID,root的用户ID为0

-g GID

-c

-d,-m

-s

-l

-L:锁定账号

-U:解锁账号

chsh:修改用户的默认shell,设置用户不能登陆,需要使用此命令。将/bin/bash修改为/sbin/nologin

[root@localhost home]# chsh sl 
Changing shell for sl.
New shell [/bin/bash]: /sbin/nologin
Shell changed.
[root@localhost home]# 
[root@localhost home]# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
tcpdump:x:72:72::/:/sbin/nologin
zyj:x:500:500: python_full:/home/zyj:/bin/bash
sl:x:501:501::/home/sl:/sbin/nologin
[root@localhost home]# 

finger:查看用户账号信息

chfn:修改注释信息

[root@localhost home]# chfn sl 
Changing finger information for sl.
Name []: songlin
Office []: 112
Office Phone []: 123123
Home Phone []: 1222222

Finger information changed.
[root@localhost home]# 

id:查看用户id信息

[root@localhost home]# id zyj
uid=500(zyj) gid=500(zyj) groups=500(zyj)
[root@localhost home]# id sl
uid=501(sl) gid=501(sl) groups=501(sl)

 chage:修改用户密码信息,用户密码默认使用期限99999天。

-d:最近一次的修改时间

-E:过期时间

-l:非活动时间

-m:最短使用期限

-M:最长使用期限

-W:警告时间

[root@localhost home]# more /etc/shadow   //查看密码默认参数
root:$1$swlT1$4hBbAlVXQX4Te2W3sR9WW1:17635:0:99999:7:::   //密码创建时间(距离1970/1/1--创建的时刻之间的天数)  密码默认期限
bin:*:17246:0:99999:7:::
daemon:*:17246:0:99999:7:::
adm:*:17246:0:99999:7:::
lp:*:17246:0:99999:7:::
sync:*:17246:0:99999:7:::
shutdown:*:17246:0:99999:7:::
halt:*:17246:0:99999:7:::
mail:*:17246:0:99999:7:::
uucp:*:17246:0:99999:7:::
operator:*:17246:0:99999:7:::
games:*:17246:0:99999:7:::
gopher:*:17246:0:99999:7:::
ftp:*:17246:0:99999:7:::
nobody:*:17246:0:99999:7:::
dbus:!!:17635::::::
usbmuxd:!!:17635::::::
rtkit:!!:17635::::::
avahi-autoipd:!!:17635::::::
vcsa:!!:17635::::::
abrt:!!:17635::::::
haldaemon:!!:17635::::::
ntp:!!:17635::::::
apache:!!:17635::::::
saslauth:!!:17635::::::
postfix:!!:17635::::::
gdm:!!:17635::::::
pulse:!!:17635::::::
sshd:!!:17635::::::
tcpdump:!!:17635::::::
zyj:$1$B9mFAlrM$ATlvUisEU92vF9uibg11Z.:17646:0:99999:7:::
sl:!!:17646:0:99999:7:::

 组管理:一般不常用

groupadd

groupdel

groupmod

gpasswd

权限管理:三组权限。

rwx:读写执行/进入 

二进制数字表示权限:

111 :7 rwx

110:6 rw-

101:5 r-w

100:4 r--

011:3 -wx

010:2 -w-

001:1 --x

000:0 ---

拥有用户权限/同组其他用户的权限/其他用户的权限

[zyj@localhost home]$ ll
total 16
-rw-r--r--.  1 root root   86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[zyj@localhost home]$ rm hello.txt
rm: remove write-protected regular file `hello.txt'? y
rm: cannot remove `hello.txt': Permission denied 
[zyj@localhost home]$ chmod o+w hello.txt 
chmod: changing permissions of `hello.txt': Operation not permitted
[zyj@localhost home]$ su root
Password:  
[root@localhost home]# chmod o+w hello.txt 
[root@localhost home]# ll
total 16
-rw-r--rw-.  1 root root   86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[root@localhost home]# su zyj
[zyj@localhost home]$ ll           
total 16
-rw-r--rw-.  1 root root   86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[zyj@localhost home]$ rm -rf hello.txt 
rm: cannot remove `hello.txt': Permission denied
[zyj@localhost home]$ 
[zyj@localhost home]$ su root
Password: 
[root@localhost home]# ll
total 16
-rw-r--rw-.  1 root root   86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[root@localhost home]# chown zyj:zyj hello.txt 
[root@localhost home]# ll
total 16
-rw-r--rw-.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[root@localhost home]# su zyj
[zyj@localhost home]$ ll
total 16
-rw-r--rw-.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[zyj@localhost home]$ rm -rf hello.txt 
rm: cannot remove `hello.txt': Permission denied
[zyj@localhost home]$ ll
total 16
-rw-r--rw-.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[zyj@localhost home]$ chmod g+w hello.txt 
[zyj@localhost home]$ ll
total 16
-rw-rw-rw-.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[zyj@localhost home]$ rm -rf hello.txt 
[root@localhost home]# ll  
total 20
-rw-r--r--.  1 root root   10 Apr 25 11:05 1.txt
-rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[root@localhost home]# 
[root@localhost home]# 
[root@localhost home]# chmod 666 1.txt   //通过数字的方式修改权限
[root@localhost home]# ll
total 20
-rw-rw-rw-.  1 root root   10 Apr 25 11:05 1.txt
-rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[root@localhost home]# 
[root@localhost home]# chmod 777 1.txt   
[root@localhost home]# ll
total 20
-rwxrwxrwx.  1 root root   10 Apr 25 11:05 1.txt
-rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj

给目录下的所有文件增加权限:-R

[root@localhost home]# ll
total 20
-rwxrwxrwx.  1 root root   10 Apr 25 11:05 1.txt
-rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xr-x.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj

[root@localhost x]# chmod o+w ../x/ //给x目录本身增加权限
[root@localhost x]# chmod o+w .    //给当前目录本身增加权限
[root@localhost ~]# cd /home
[root@localhost home]# ll
total 20
-rwxrwxrwx.  1 root root   10 Apr 25 11:05 1.txt
-rwxrwxrwx.  1 zyj  zyj    86 Apr 15 09:23 hello.txt
drwx------.  4 sl   sl   4096 Apr 25 10:16 sl
drwxr-xrwx.  2 root root 4096 Apr 15 07:00 x
drwx------. 24 zyj  zyj  4096 Apr 25 10:18 zyj
[root@localhost home]# 

[root@localhost home]# chmod -R o+w x/   //加-R,递归给目录下的所有文件增加w的权限
[root@localhost home]# cd x
[root@localhost x]# ll
total 104
-rw-----w-. 1 root root 3361 Apr 15 05:27 anaconda-ks.cfg
-rw-r--rw-. 1 root root 41915 Apr 15 05:27 install.log
-rw-r--rw-. 1 root root 9154 Apr 15 05:27 install.log.syslog
-rw-r--rw-. 1 root root 41915 Apr 15 05:25 my.log
原文地址:https://www.cnblogs.com/zhaoyujiao/p/8947131.html