"XXX / home / user / dir / child / file" gibi bir şey yaptığımı hatırlıyorum ve sahibi ve / veya iznini verdi:
/home
/home/user
/home/user/dir
/home/user/child
/home/user/child/file
Ama bu emrin ne olduğunu hatırlamıyorum. Bir fikri olan var mı?
"XXX / home / user / dir / child / file" gibi bir şey yaptığımı hatırlıyorum ve sahibi ve / veya iznini verdi:
/home
/home/user
/home/user/dir
/home/user/child
/home/user/child/file
Ama bu emrin ne olduğunu hatırlamıyorum. Bir fikri olan var mı?
Yanıtlar:
Komut olabilirdi:
namei -m /home/user/dir/child/file
namei -moharika, o da size sahibi verir.
sudo su nginx -s/bin/bash
Bence treeemirleri düşünüyor olabilirsiniz . Örneğin:
$ tree -pufid apps/glassfish3/ | less
apps/glassfish3
[drwxr-xr-x saml ] apps/glassfish3/bin
[drwxr-xr-x saml ] apps/glassfish3/glassfish
[drwxr-xr-x saml ] apps/glassfish3/glassfish/bin
[drwxr-xr-x saml ] apps/glassfish3/glassfish/config
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/doc-files
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/annotation
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/annotation/security
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/annotation/sql
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/decorator
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/ejb
[drwxr-xr-x saml ] apps/glassfish3/glassfish/docs/api/javax/ejb/embeddable
...
...
Yukarıdaki anahtarlar aşağıdakileri yapar:
-p - izinler-u - kullanıcı adı / kullanıcı kimliği-f - tam yol-i - girinti satırları yazdırmayın-d - yalnızca dizinleri yazdır/home/user/dir/child/fileçocukların değil atalarının gösterilmesi istendi .
-ugerçekten gerekli? Burada varsayılan olarak görünüyor (Ağaç ver. 1.6.0 altında GNU bash 4.2.45). "Username / userid" sesini susturma seçeneği var mı?
Biraz thougth verdikten sonra bununla geldim
#!/bin/sh
l_path=$1
while [ "$l_path" != / -a "$l_path" != . ]; do
ls -ld $l_path
l_path=$(dirname -- "$l_path")
done
Çıktı böyle görünüyor
-rw------- 1 tant tant 181016423 Jun 25 23:49:17 2013 /home/tant/test_file
drwxr-xr-x 85 tant tant 5632 Jul 9 19:40:11 2013 /home/tant
lrwxr-xr-x 1 root wheel 8 Sep 4 23:53:27 2012 /home -> usr/home
Umarım ters sırayla tamamdır.
Yorumlara göre, kökten aşağı doğru listelemenin bir yolu:
#!/bin/sh
l_path=$1
while [ "$l_path" != / -a "$l_path" != . ]; do
ls -ld $l_path
l_path=$(dirname -- "$l_path")
done | sed '1!G;h;$!d'
| tacvarsa veya | sed '1!G;h;$!d'yoksa , tersine çevirebilirsiniz .
Aradığınız izinleri ve sahipleri / grupları listeleme komutu ls -l'dir .
-L seçeneği uzun liste formatı için kullanılır.
ls - l / yol / listeye
Ayrıca, listelenen dosyaları ve gizli dosyaları görmek istiyorsanız -a (tümü) seçeneğini ekleyin .
ls -al / yol / listeden
Eğer liste izinleri istiyorsanız Ayrıca, alt dizinleri kullanmak -R (yinelemeli) seçeneğini.
ls -Rl / yol / listeye
İlk sütun izinleri (okuma (r), yazma (w), yürütme (x)) ve bazı özel izinleri (dizinler (d), - (normal dosya)) gösterir ve 3. ve 4. sütun size dosya / dizini gösterir sırasıyla sahibi ve grubu.
apropos modeveyaapropos permissionsüzerinde aydınlatıcı bir şey görmemek . Hangi platformu / dağıtımı kullandığını biliyor musun? Site yerel komutu olabilir mi? Senaryoda böyle bir aracı kullanarak olabilirdirnamevestat.