Linux修改用戶所在組方法


 

usermod -g 用戶組 用戶名

強行設置某個用戶所在組
usermod -G 用戶組 用戶名
把某個用戶改為 group(s) 
usermod -a -G 用戶組 用戶名
把用戶添加進入某個組(s)


附usermod使用說明:
功能說明:修改用戶帳號。
語  法:usermod [-LU][-c <備注>][-d <登入目錄>][-e <有效期限>][-f <緩沖天數>][-g <群組>][-G <群組>][-l <帳號名稱>][-s <shell>][-u <uid>][用戶帳號]
補充說明:usermod可用來修改用戶帳號的各項設定。
參  數:
 -c<備注>  修改用戶帳號的備注文字。 
 -d登入目錄>  修改用戶登入時的目錄。 
 -e<有效期限>  修改帳號的有效期限。 
 -f<緩沖天數>  修改在密碼過期后多少天即關閉該帳號。 
 -g<群組>  修改用戶所屬的群組。 
 -G<群組>  修改用戶所屬的附加群組。 
 -l<帳號名稱>  修改用戶帳號名稱。 
 -L  鎖定用戶密碼,使密碼無效。 
 -s<shell>  修改用戶登入后所使用的shell。 
 -u<uid>  修改用戶ID。 
 -U  解除密碼鎖定。

——————————————————————————————————————————————————————————————————————————————————————————————————————
 
  • useradd、su、whoami、exit、userdel
復制代碼
# 使用ls查看/home,發現只有zou123一個用戶
zou123@zq:~$ ls /home
zou123
 
# 使用useradd添加一個新用戶,取名為user1,-m 表示同時創建家目錄
zou123@zq:~$ sudo useradd user1 -m
[sudo] zou123 的密碼:
 
# 再次查看/home下的文件,發現多了一個新用戶,還可以 cat /etc/passwd 查看用戶是否真的成功添加
zou123@zq:~$ ls /home
user1  zou123
 
# 給新用戶添加密碼
zou123@zq:~$ sudo passwd user1
輸入新的 UNIX 密碼:
重新輸入新的 UNIX 密碼:
passwd:已成功更新密碼
 
# 切換用戶,通過su切換用戶,- 表示切換賬戶同時,切換到家目錄
zou123@zq:~$ su - user1
密碼:
 
# 通過whoami查看,該用戶是誰
user1@zq:/home/zou123$ whoami
user1
 
# 退出該用戶,回到進入該用戶之前的用戶,若是最開始的用戶,則退出終端
user1@zq:/home/zou123$ exit
exit
 
# 可以看出已經切回原用戶
zou123@zq:~$ whoami
zou123
 
# 刪除用戶 -r 表示刪除用戶user,其家目錄及文件一並刪除,如果沒有 -r 只刪除用戶,不刪除家目錄
zou123@zq:~$ sudo userdel -r user1
userdel: user1 郵件池 (/var/mail/user1) 未找到
 
# 再查看/home 發現user1已經被刪除
zou123@zq:~$ ls /home
zou123
 
 
  • 切換為超級管理員(並不是所有用戶角色都有這個權限,使用 useradd 創建的用戶貌似就沒有)
    • sudo -s
復制代碼
# 切換為超級管理員
zou123@zq:~$ sudo -s
# 當進入root,操作符從 ~$ 變成了~#
root@zq:~#

# 使用whoami查看當前用戶
root@zq:~# whoami
root

# 原來需要加sudo才能做得事情,現在不需要再加 sudo,現在自己就是最高權限
root@zq:~# useradd user2 -m
root@zq:~# ls /home
user2  zou123  zzz
root@zq:~# userdel -r user2
root@zq:~# ls /home
zou123  zzz

# 退出root,退回到進入之前的用戶
root@zq:~# exit
exit
zou123@zq:~$
 

 

  • groupadd、groupdel、chgrp、chown
復制代碼
# 添加一個新的組,命名為g1
zou123@zq:~/Desktop/Console$ sudo groupadd g1

# 輸入 cat /etc/group 查看所有組
zou123@zq:~/Desktop/Console$ cat /etc/group

root:x:0:
......
zou123:x:1000:
zzz:x:1001:
g1:x:1002:

# 查看當前的文件
zou123@zq:~/Desktop/Console$ ll
......
# 第一個zou123是擁有者,第二個zou123是組 -rw-rw-r-- 1 zou123 zou123 2180 Dec 23 15:55 year.txt # 修改文件的組,sudo chgrp 組名 文件,若是root則不用 sudo,chgrp(change group) zou123@zq:~/Desktop/Console$ sudo chgrp g1 year.txt zou123@zq:~/Desktop/Console$ ll ...... -rw-rw-r-- 1 zou123 g1 2180 Dec 23 15:55 year.txt # 修改文件的擁有者,sudo chown 用戶 文件 zou123@zq:~/Desktop/Console$ sudo chown zzz year.txt zou123@zq:~/Desktop/Console$ ll ...... -rw-rw-r-- 1 zzz g1 2180 Dec 23 15:55 year.txt # 刪除指定組g1 zou123@zq:~/Desktop/Console$ sudo groupdel g1
 

 

——————————————————————————————————————————————————————————————————————————————————————————————

大自然的流風

在關鍵時刻聽從自己內心的聲音!

linux 中更改用戶權限和用戶組的命令chmod,chgrp實例

 

linux 中更改用戶權限和用戶組的命令實例;

增加權限給當前用戶 chmod +wx filename

chmod -R 777 /upload

用戶組 chgrp -R foldname zdz

chown -R  所有者用戶名.組名 文件夾名稱
例如:chown -R  zdz.nginx KooBox

命令詳解直接搜索就很多了,這里不多說了。

================================

語法:chmod [who] [+ | - | =] [mode] 文件名

命令中各選項的含義為

u 表示“用戶(user)”,即文件或目錄的所有者。
g 表示“同組(group)用戶”,即與文件屬主有相同組ID的所有用戶。
o 表示“其他(others)用戶”。
a 表示“所有(all)用戶”。它是系統默認值。
操作符號可以是:
+ 添加某個權限。
- 取消某個權限。
= 賦予給定權限並取消其他所有權限(如果有的話)。
設置mode所表示的權限可用下述字母的任意組合:
r 可讀。
w 可寫。
x 可執行。
X 只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x 屬性。
s 在文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式“u+s”設置文件的用戶ID位,“g+s”設置組ID位。
t 保存程序的文本到交換設備上。
u 與文件屬主擁有一樣的權限。
g 與和文件屬主同組的用戶擁有一樣的權限。
o 與其他用戶擁有一樣的權限。

實例

修改文件可讀寫屬性的方法
例如:把index.html 文件修改為可寫可讀可執行:
chmod 777 index.html

要修改目錄下所有文件屬性可寫可讀可執行:
chmod 777 *.*

把文件夾名稱與后綴名用*來代替就可以了。
比如:修改所有htm文件的屬性:
chmod 777 *.htm

修改文件夾屬性的方法
把目錄 /images/small 修改為可寫可讀可執行
chmod 777 /images/small

修改目錄下所有的文件夾屬性
chmod 777 *

把文件夾名稱用*來代替就可以了

要修改文件夾內所有的文件和文件夾及子文件夾屬性為可寫可讀可執行

 chmod -R 777 /upload

總結linux下目錄和文件的權限區別

文件:讀文件內容(r)、寫數據到文件(w)、作為命令執行文件(x)。
目錄:讀包含在目錄中的文件名稱(r)、寫信息到目錄中去(增加和刪除索引點的連結)、搜索目錄(能用該目錄名稱作為路徑名去訪問它所包含的文件和子目錄)
具體說就是:
(1)有只讀權限的用戶不能用cd進入該目錄:還必須有執行權限才能進入。
(2)有執行權限的用戶只有在知道文件名,並擁有讀權利的情況下才可以訪問目錄下的文件。
(3)必須有讀和執行權限才可以ls列出目錄清單,或使用cd命令進入目錄。
(4)有目錄的寫權限,可以創建、刪除或修改目錄下的任何文件或子目錄,即使使該文件或子目錄屬於其他用戶也是如此。

查看目錄權限

查看文件權限的語句:
  在終端輸入:
ls -l xxx.xxx (xxx.xxx是文件名)
  那么就會出現相類似的信息,主要都是這些:
-rw-rw-r--
  一共有10位數
  其中: 最前面那個 - 代表的是類型
  中間那三個 rw- 代表的是所有者(user)
  然后那三個 rw- 代表的是組群(group)
  最后那三個 r-- 代表的是其他人(other)
  然后我再解釋一下后面那9位數:
  r 表示文件可以被讀(read)
  w 表示文件可以被寫(write)
  x 表示文件可以被執行(如果它是程序的話)
  - 表示相應的權限還沒有被授予
  現在該說說修改文件權限了
  在終端輸入:
  chmod o w xxx.xxx
  表示給其他人授予寫xxx.xxx這個文件的權限
  chmod go-rw xxx.xxx
  表示刪除xxx.xxx中組群和其他人的讀和寫的權限
  其中:
  u 代表所有者(user)
  g 代表所有者所在的組群(group)
  o 代表其他人,但不是u和g (other)
  a 代表全部的人,也就是包括u,g和o
  r 表示文件可以被讀(read)
  w 表示文件可以被寫(write)
  x 表示文件可以被執行(如果它是程序的話)
  其中:rwx也可以用數字來代替
  r ------------4
  w -----------2
  x ------------1
  - ------------0
  行動:
   表示添加權限
  - 表示刪除權限
  = 表示使之成為唯一的權限
  當大家都明白了上面的東西之后,那么我們常見的以下的一些權限就很容易都明白了:
  -rw------- (600) 只有所有者才有讀和寫的權限
  -rw-r--r-- (644) 只有所有者才有讀和寫的權限,組群和其他人只有讀的權限
  -rwx------ (700) 只有所有者才有讀,寫,執行的權限
  -rwxr-xr-x (755) 只有所有者才有讀,寫,執行的權限,組群和其他人只有讀和執行的權限
  -rwx--x--x (711) 只有所有者才有讀,寫,執行的權限,組群和其他人只有執行的權限
  -rw-rw-rw- (666) 每個人都有讀寫的權限
  -rwxrwxrwx (777) 每個人都有讀寫和執行的權限

 
————————————————————————————————————————————————————————————————————————————————————————

Shell find命令詳解 

查找文件
find ./ -type f

查找目錄
find ./ -type d

查找名字為test的文件或目錄
find ./ -name test

查找名字符合正則表達式的文件,注意前面的‘.*’(查找到的文件帶有目錄)
find ./ -regex .*so.*\.gz

查找目錄並列出目錄下的文件(為找到的每一個目錄單獨執行ls命令,沒有選項-print時文件列表前一行不會顯示目錄名稱)
find ./ -type d -print -exec ls {} \;

查找目錄並列出目錄下的文件(為找到的每一個目錄單獨執行ls命令,執行命令前需要確認)
find ./ -type d -ok ls {} \;

查找目錄並列出目錄下的文件(將找到的目錄添加到ls命令后一次執行,參數過長時會分多次執行)
find ./ -type d -exec ls {} +

查找文件名匹配*.c的文件
find ./ -name \*.c

打印test文件名后,打印test文件的內容
find ./ -name test -print -exec cat {} \;

不打印test文件名,只打印test文件的內容
find ./ -name test -exec cat {} \;

查找文件更新日時在距現在時刻二天以內的文件
find ./ -mtime -2

查找文件更新日時在距現在時刻二天以上的文件
find ./ -mtime +2

查找文件更新日時在距現在時刻一天以上二天以內的文件
find ./ -mtime 2

查找文件更新日時在距現在時刻二分以內的文件
find ./ -mmin -2

查找文件更新日時在距現在時刻二分以上的文件
find ./ -mmin +2

查找文件更新日時在距現在時刻一分以上二分以內的文件
find ./ -mmin 2

查找文件更新時間比文件abc的內容更新時間新的文件
find ./ -newer abc

查找文件訪問時間比文件abc的內容更新時間新的文件
find ./ -anewer abc

查找空文件或空目錄
find ./ -empty

查找空文件並刪除
find ./ -empty -type f -print -delete

查找權限為644的文件或目錄(需完全符合)
find ./ -perm 664

查找用戶/組權限為讀寫,其他用戶權限為讀(其他權限不限)的文件或目錄
find ./ -perm -664

查找用戶有寫權限或者組用戶有寫權限的文件或目錄
find ./ -perm /220
find ./ -perm /u+w,g+w
find ./ -perm /u=w,g=w

查找所有者權限有讀權限的目錄或文件
find ./ -perm -u=r

查找用戶組權限有讀權限的目錄或文件
find ./ -perm -g=r

查找其它用戶權限有讀權限的目錄或文件
find ./ -perm -o=r

查找所有者為lzj的文件或目錄
find ./ -user lzj

查找組名為gname的文件或目錄
find ./ -group gname

查找文件的用戶ID不存在的文件
find ./ -nouser

查找文件的組ID不存在的文件
find ./ -nogroup

查找有執行權限但沒有可讀權限的文件
find ./ -executable \! -readable

查找文件size小於10個字節的文件或目錄
find ./ -size -10c

查找文件size等於10個字節的文件或目錄
find ./ -size 10c

查找文件size大於10個字節的文件或目錄
find ./ -size +10c

查找文件size小於10k的文件或目錄
find ./ -size -10k

查找文件size小於10M的文件或目錄
find ./ -size -10M

查找文件size小於10G的文件或目錄
find ./ -size -10G

 
分類:  Linux學習
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM