Cygwin'de root kullanıcısı / sudo eşdeğeri mi?


156

Cygwin'de bir bash betiği çalıştırmaya çalışıyorum.

Must run as root, i.e. sudo ./scriptnameHatalar alıyorum .

chmod 777 scriptname yardım etmek için hiçbir şey yapmaz.

Cygwin sudo taklit, kök kullanıcı eklemek için yollar aradım, çünkü "su" çağırmak hata su: user root does not exist, yararlı bir şey yapar ve hiçbir şey bulamadı.

Herhangi birinin önerisi varmı?


merhaba KenB, whatçalıştırmaya çalıştığınız senaryo hakkında daha fazla bilgi verebilir misiniz? Bir cygwin kabuğu içinde 'sudo' ile eşdeğer değildir - haklar cygwin kabuğunu başlatan kazanan kullanıcıdan alınan haklardır, bu nedenle KyleWpppd bağlantısı "sudo unknown command" gibi hataları önlemek için iyidir. Durumunuz, yürütmek istediğiniz komut dosyasıyla ilgili belirli bir sorun gibi görünüyor.
Stefano

1
Dürüst olmak gerekirse, bu uzun bir geçmiş ve aslında betiğin ne olduğunu hatırlamıyorum. İlginiz için teşekkürler.
Ken Bellows

Yanıtlar:


225

Bu soruyu SuperUser'da cevapladım, ancak OP o sırada sorunun tek cevabı olan yararsız yanıtı göz ardı ettikten sonra.

SuperUser'daki kendi cevabımdan kopyalanan Cygwin'deki izinleri yükseltmenin doğru yolu:

Cevabı Cygwin posta listesinde buldum . commandCygwin'de yükseltilmiş ayrıcalıklarla çalıştırmak için komuttan önce cygstart --action=runasşöyle:

$ cygstart --action=runas command

Bu, Yönetici parolasını soran bir Windows iletişim kutusu açar ve uygun parola girilirse komutu çalıştırır.

Bu, yolunuzda olduğu sürece kolayca yazılır ~/bin. ~/bin/sudoAşağıdaki içeriğe sahip bir dosya oluşturun :

#!/usr/bin/bash
cygstart --action=runas "$@"

Şimdi dosyayı yürütülebilir yapın:

$ chmod +x ~/bin/sudo

Artık gerçek yükseltilmiş ayrıcalıklarla komutları çalıştırabilirsiniz :

$ sudo elevatedCommand

Yolunuza eklemeniz gerekebilir ~/bin. Cygwin CLI üzerinde aşağıdaki komutu çalıştırabilir veya şuraya ekleyebilirsiniz ~/.bashrc:

$ PATH=$HOME/bin:$PATH

64 bit Windows 8'de test edilmiştir.

Yukarıdaki adımlar yerine bu komutun diğer adını da ekleyebilirsiniz ~/.bashrc:

# alias to simulate sudo
alias sudo='cygstart --action=runas'

12
Mükemmel cevap. Bash kodunuzda bazı ince ayarlarla (aşağıda), komut satırından yükseltilmiş bir komut çalıştırabildim. Kodunuzu çalışması için gereken değişiklik cat << 'EOF' > ~/bin/sudo\n #!/usr/bin/bash\n cygstart --action=runas "$@"\n EOF şöyledir: (Bu yoruma nasıl yeni satır ekleyeceğinizi anlayamıyorum, bu yüzden koda '\ n' ekledim) PATH = ... 'dan geriye kalanlar gayet iyi .
josmith42

3
Ah anlıyorum! Yanılmıyorsam, dosyayı bir metin düzenleyicisi açmak yerine diske yazmanın yolu budur. Güzel, teşekkürler! Benedoc'ların Bash'te nasıl kullanılacağını bilmiyordum!
14:46, dotancohen

8
Buradaki sorun, tamamen yeni bir terminal penceresi (genellikle conhost) oluşturmasıdır. Çıkış geçerli terminale satır içi değil.
CMCDragonkai

1
Bir şeyleri çalıştırmanın tek yolu, lsonu nane veya bash veya zsh gibi uzun süren bir süreçte sarmaktır. Ancak her şey ayrı bir terminalde görünür. Bu noktada, ConEMU kullanarak GUI aracılığıyla açmış olabilirdim.
CMCDragonkai

1
Alıntılar olmadan, alıntılanmış argümanlar bile tekrar boşluklara bölünür, @katriel. Tırnak işaretleri ile, "$@"gibi "$1" "$2" "$3" ...ve olmayan bir şeye $@genişler $1 $2 $3....
Palec

51

Muhtemelen cygwin kabuğunu Yönetici olarak çalıştırmanız gerekir. Kısayola sağ tıklayıp yönetici olarak çalıştır'a tıklayabilir veya kısayolun özelliklerine gidip uyumluluk bölümünde kontrol edebilirsiniz. Sadece dikkat edin ... root izinleri tehlikeli olabilir.


1
Bu sorunun, bu geçici çözümün aksine iyi bir yanıt olmadan sorulduğundan bu yana geçen üç yıl içinde, aşağıdaki yanıtta mevcut Cygwin penceresinde tek bir komut için izinleri yükseltmenin doğru yolunu buldum . Böylece, sudoLinux'ta olduğu gibi çalışır .
dotancohen

Win10 64 üzerinde benim için çalıştı. Rsync ile bir sunucudan indirilen dosyaların sahipliğini değiştirmek zorunda kaldı. chown --changes --verbose --recursive [USER] /cygdrive/c/[PATH TO FOLDER]/*. Bu olmadan rsynced klasörlerine ve dosyalarına erişemedim.
lowtechsun

25

Dotancohen'in cevabı üzerine bir takma ad kullanıyorum:

alias sudo="cygstart --action=runas"

Bir cazibe olarak çalışır:

sudo chown User:Group <file>

SysInternals yüklüyse, sistem kullanıcısı olarak çok kolay bir komut kabuğu bile başlatabilirsiniz

sudo psexec -i -s -d cmd

9

Sudo-cygwin için buldum , belki de bu işe yarayacaktı, pencerelerde (pty) bir alt süreç ortaya çıkarmak ve kullanıcının tty ve süreç I / O arasında köprü oluşturmak için bir python komut dosyası kullanan bir istemci / sunucu uygulamasıdır.

Python pencerelerinde ve Python modülleri broşürü ve Cygwin'de etkinlik gerektirir.


Bunu bir süredir kullanıyorum ve olay nano gibi interaktif şeyleri sorunsuz bir şekilde ele alıyor!
MemphiZ


4

cygstart/runasDüzgün işlemiyor gibi görünüyor "$@"ve bu nedenle boşluk içeren argümanlara sahip komutlar (ve belki de diğer kabuk meta karakterleri - kontrol etmedim) düzgün çalışmaz.

Sadece sudoparametreleri doğru yapan geçici bir komut dosyası yazarak çalışan küçük bir komut dosyası yazmaya karar verdim .

#! /bin/bash

# If already admin, just run the command in-line.
# This works on my Win10 machine; dunno about others.
if id -G | grep -q ' 544 '; then
   "$@"
   exit $?
fi

# cygstart/runas doesn't handle arguments with spaces correctly so create
# a script that will do so properly.
tmpfile=$(mktemp /tmp/sudo.XXXXXX)
echo "#! /bin/bash" >>$tmpfile
echo "export PATH=\"$PATH\"" >>$tmpfile
echo "$1 \\" >>$tmpfile
shift
for arg in "$@"; do
  qarg=`echo "$arg" | sed -e "s/'/'\\\\\''/g"`
  echo "  '$qarg' \\" >>$tmpfile
done
echo >>$tmpfile

# cygstart opens a new window which vanishes as soon as the command is complete.
# Give the user a chance to see the output.
echo "echo -ne '\n$0: press <enter> to close window... '" >>$tmpfile
echo "read enter" >>$tmpfile

# Clean up after ourselves.
echo "rm -f $tmpfile" >>$tmpfile

# Do it as Administrator.
cygstart --action=runas /bin/bash $tmpfile

1
kabul edilen cevap Win7'de benim için işe yaramadı, ancak bu cevap bir cazibe gibi çalıştı. Yükseltilmiş privs ile exim-config kurabildim ve daha sonra /etc/exim.conf dosyasını vim-edit. Kaygan.
nanker

2

Bu cevap başka bir cevaba dayanmaktadır . Her şeyden önce, hesabınızın Yöneticiler grubunda olduğundan emin olun.

Ardından, aşağıdaki içeriğe sahip genel bir "runas-admin.bat" dosyası oluşturun:

@if (1==1) @if(1==0) @ELSE
@echo off&SETLOCAL ENABLEEXTENSIONS
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"||(
    cscript //E:JScript //nologo "%~f0" %*
    @goto :EOF
)
FOR %%A IN (%*) DO (
    "%%A"
)
@goto :EOF
@end @ELSE
args = WScript.Arguments;
newargs = "";
for (var i = 0; i < args.length; i++) {
    newargs += "\"" + args(i) + "\" ";
}
ShA=new ActiveXObject("Shell.Application");
ShA.ShellExecute("cmd.exe","/c \""+WScript.ScriptFullName+" "+newargs+"\"","","runas",5);
@end

Sonra toplu iş dosyasını şu şekilde yürütün:

./runas-admin.bat "<command1> [parm1, parm2, ...]" "<command2> [parm1, parm2, ...]"

Exaxmple için:

./runas-admin.bat "net localgroup newgroup1 /add" "net localgroup newgroup2 /add"

Her bir ayrı komutu çift tırnak içine aldığınızdan emin olun. UAC komut istemini yalnızca bu yöntemi kullanarak bir kez alırsınız ve bu yordam genelleştirilmiştir, böylece her türlü komutu kullanabilirsiniz.


2

Yeni bir öneri de GitHub CygWin için Sudo artırmak için bu konuya adında, TOUACExt :

  • Sudoserver.py dosyasını otomatik olarak açar.
  • Zaman aşımından sonra sudoserver.py dosyasını otomatik olarak kapatır (varsayılan olarak 15 dakika).
  • Yönetici kullanıcıları için UAC yükseltme istemi Evet / Hayır stili.
  • Yönetici olmayan kullanıcılar için Yönetici kullanıcı / şifre isteyin.
  • Yönetici hesapları ile uzaktan (SSH) çalışır.
  • Günlük oluşturur.

Hala Beta Öncesi , ama çalışıyor gibi görünüyor.


1

Buraya google üzerinden indim ve aslında cygwin'de tamamen işleyen bir kök teşvik almanın bir yolunu bulduğuma inanıyorum.

İşte adımlarım.

Öncelikle, Windows Administrator hesabını "root" olarak yeniden adlandırmanız gerekir. Bunu, başlangıç ​​manu'yu açıp "gpedit.msc" yazarak yapın

Yerel Bilgisayar İlkesi> Bilgisayar Yapılandırması> Windows Ayarları> Güvenlik Ayarları> Yerel İlkeler> Güvenlik Seçenekleri> Hesaplar: Yönetici hesabını yeniden adlandır altındaki girişi düzenleyin

Ardından, henüz etkinleştirilmemişse hesabı etkinleştirmeniz gerekir. Yerel Bilgisayar İlkesi> Bilgisayar Yapılandırması> Windows Ayarları> Güvenlik Ayarları> Yerel İlkeler> Güvenlik Seçenekleri> Hesaplar: Yönetici hesabı durumu

Şimdi oturumu kapatın ve kök hesapta oturum açın.

Şimdi cygwin için bir ortam değişkeni ayarlayın. Bunu kolay bir şekilde yapmak için: Bilgisayarım> Özellikler'e sağ tıklayın

(Sol kenar çubuğunda) "Gelişmiş sistem ayarları" nı tıklayın.

Aşağıya doğru "Çevre Değişkenleri" düğmesini tıklayın

"Sistem Değişkenleri" altında "Yeni ..." düğmesini tıklayın

Adı için tırnak olmadan "cygwin" koymak. Değer için cygwin kök dizininizi girin. (Benimki C: \ cygwin)

Masaüstüne geri dönmek için Tamam'a basın ve hepsini kapatın.

Bir Cygwin terminali açın (cygwin.bat)

/ Etc / passwd dosyasını düzenleyin ve satırı değiştirin

Yönetici : kullanılmayan: 500: 503 : U- MAKİNE \ Yönetici , S-1-5-21-12345678-1234567890-1234567890- 500: / home / Yönetici : / bin / bash

Bunun için (numaralarınız ve makine adınız farklı olacaktır, vurgulanan sayıları 0 olarak değiştirdiğinizden emin olun!)

kök : kullanılmayan: 0: 0 : U- MAKİNE \ kök , S-1-5-21-12345678-1234567890-1234567890- 0: / root : / bin / bash

Artık hepsi bitti, bu sonraki bit "su" komutunu çalıştıracaktır. (Mükemmel değil, ama kullanmak için yeterince işe yarayacak. Ben komut dosyalarının düzgün çalışacağını düşünmüyorum, ama hey, bu kadar yolunuz var, belki yolu bulabilirsiniz. Ve lütfen paylaşın)

Anlaşmayı tamamlamak için cygwin'de bu komutu çalıştırın.

mv /bin/su.exe /bin/_su.exe_backup
cat > /bin/su.bat << "EOF"
@ECHO OFF
RUNAS /savecred /user:root %cygwin%\cygwin.bat
EOF
ln -s /bin/su.bat /bin/su
echo ''
echo 'All finished'

Kök hesabından çıkın ve normal Windows kullanıcı hesabınıza geri dönün.

Tüm bunlardan sonra, yeni "su.bat" dosyasını explorer'da çift tıklatarak manuel olarak çalıştırın. Parolanızı girin ve devam edin ve pencereyi kapatın.

Şimdi cygwin'den su komutunu çalıştırmayı deneyin ve her şeyin yolunda gittiğini görün.


1

Mevcut çözümden memnun olmadığım için, güvenlik eklemek, kurulumu ve kullanımı kolaylaştırmak için nu774'ün komut dosyasını kullandım. Proje mevcut Github'da

Kullanmak için indirin cygwin-sudo.pyve çalıştırın.python3 cygwin-sudo.py **yourcommand** .

Kolaylık sağlamak için bir takma ad oluşturabilirsiniz:

alias sudo="python3 /path-to-cygwin-sudo/cygwin-sudo.py"

0

Herhangi bir dizin bağlam menüsünden bash veya cmd çalıştıran bir yönetici penceresi almak için bunu kullanın. Bir dizin adına sağ tıklayın ve girişi seçin veya vurgulanan düğmeye basın.

Bu, chere aracına ve link_boy'dan maalesef çalışmayan cevaba (benim için) dayanmaktadır. Windows 8 kullanarak benim için iyi çalışıyor,

Yan etki, yönetici cmd penceresindeki farklı renktir. Bunu bash'de kullanmak için, yönetici kullanıcısının .bashrc dosyasını değiştirebilirsiniz.

Çalıştırmak için "arka plan" sürümünü (açık bir dizine sağ tıklama) alamıyorum. Eklemek için çekinmeyin.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash]
@="&Bash Prompt Here"
"Icon"="C:\\cygwin\\Cygwin.ico"

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash\command]
@="C:\\cygwin\\bin\\bash -c \"/bin/xhere /bin/bash.exe '%L'\""

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash_root]
@="&Root Bash Prompt Here"
"Icon"="C:\\cygwin\\Cygwin.ico"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash_root\command]
@="runas /savecred /user:administrator \"C:\\cygwin\\bin\\bash -c \\\"/bin/xhere /bin/bash.exe '%L'\\\"\""

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_cmd]
@="&Command Prompt Here"

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_cmd\command]
@="cmd.exe /k cd %L"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_cmd_root]
@="Roo&t Command Prompt Here"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_cmd_root\command]
@="runas /savecred /user:administrator \"cmd.exe /t:1E /k cd %L\""

0

Yönetici ayrıcalıklarıyla çalışmak için bir cygwin kabuğu ve karşılık gelen alt kabuklara sahip olmanın çok basit bir yolu, bağlantının özelliklerini değiştirmektir , ilk kabuğu açan .

Aşağıdakiler Windows 7+ için geçerlidir (önceki sürümler için de olabilir, ancak kontrol etmedim)

Genellikle cygwin kabuğunu başlat düğmesindeki (veya masaüstündeki) bir cygwin bağlantısından başlatırım . Sonra sekmelerdeki cygwin-link'in özelliklerini değiştirdim

/ Uyumluluk / Ayrıcalık Düzeyi /

ve kutuyu işaretledim,

"Bu programı yönetici olarak çalıştır"

Bu, cygwin kabuğunun yönetici ayrıcalıkları ve ilgili alt kabuklarla da açılmasını sağlar.


Tek küçük sorun, yönetici olarak açılıp açılmadığını söyleyememenizdir.
Edwin Pratt

0

sudoFarklı işletim sistemlerinde uygulama hakkında bazı ayrıntılar arayan bu tartışmayla tanıştım . Bunu okurken @ brian-white ( https://stackoverflow.com/a/42956057/3627676 ) tarafından yapılan çözümün faydalı olduğunu, ancak biraz geliştirilebildiğini gördüm . Geçici dosyayı oluşturmaktan kaçındım ve her şeyi tek bir komut dosyasıyla yürütmek için uyguladım.

Ayrıca tek bir pencere / konsol içinde çıktı iyileştirme sonraki adım araştırdı. Ne yazık ki, herhangi bir başarı olmadan. STDOUT / STDERR'ı yakalamak ve ana pencerede yazdırmak için adlandırılmış borular kullanmaya çalıştım. Ancak alt süreç adlandırılmış kanallara yazmadı. Ancak normal bir dosyaya yazmak iyi sonuç verir.

Temel nedeni bulmak için herhangi bir girişimi bıraktım ve mevcut çözümü olduğu gibi bıraktım. Umarım yazım da faydalı olabilir.

İyileştirmeler:

  • geçici dosya yok
  • komut satırı seçeneklerini ayrıştırma ve yeniden oluşturma yok
  • yükseltilmiş komutu bekle
  • kullanmak minttyveya bashİlki bulunamazsa,
  • komut çıkış kodunu döndür
    #! / Bin / bash

    # Yönetici olmak, komutu doğrudan çağırmak
    id -G | grep -qw 544 && {
        "$ @"
        $ çıkış?
    }

    # CYG_SUDO değişkeni komut çağrısını kontrol etmek için kullanılır
    [-z "$ CYG_SUDO"] && {
        nane = "$ (nane 2> / dev / null)"
        dışa aktar CYG_SUDO = "$$"
        cygstart --wait --action = runas $ mintty / bin / bash "$ 0" "$ @"
        $ çıkış?
    }

    # Artık yapabiliriz:
    # - komutu başlat
    # - mesajı görüntüle
    # - çıkış kodunu döndür
    "$ @"
    Retval = $?

    echo "$ 0: Pencereyi kapatmak için basın ..."
    okumak

    $ RETVAL'dan çık


cygstart --wait --action=runas $mintty /bin/bash "$0" "$@"Bir argümanda boşluklar varsa nasıl kırılmaz? Böyle cygstart / runas geçerken her zaman benim için yaptı.
Brian White

0

@ Mat-khor'un cevabına dayanarak, syswin'i aldım su.exe, olarak kaydettim manufacture-syswin-su.exeve bu sarmalayıcı komut dosyasını yazdım. Komutun stdout ve stderr'inin yeniden yönlendirilmesini yönetir, böylece bir kanalda vb. Kullanılabilir. Ayrıca, komut dosyası verilen komutun durumuyla çıkar.

Sınırlamalar:

  • Syswin-su seçenekleri şu anda geçerli kullanıcıyı kullanmak için sabit kodlanmıştır. env USERNAME=...Komut dosyası çağrısına eklenmeden önce geçersiz kılınır. Diğer seçeneklere ihtiyaç duyulursa, komut dosyasının syswin-su ve komut bağımsız değişkenlerini, örneğin ilk başta bölmeyi ayırması gerekir --.
  • UAC istemi iptal edilir veya reddedilirse, komut dosyası kilitlenir.

.

#!/bin/bash
set -e

# join command $@ into a single string with quoting (required for syswin-su)
cmd=$( ( set -x; set -- "$@"; ) 2>&1 | perl -nle 'print $1 if /\bset -- (.*)/' )

tmpDir=$(mktemp -t -d -- "$(basename "$0")_$(date '+%Y%m%dT%H%M%S')_XXX")
mkfifo -- "$tmpDir/out"
mkfifo -- "$tmpDir/err"

cat >> "$tmpDir/script" <<-SCRIPT
    #!/bin/env bash
    $cmd > '$tmpDir/out' 2> '$tmpDir/err'
    echo \$? > '$tmpDir/status'
SCRIPT

chmod 700 -- "$tmpDir/script"

manufacture-syswin-su -s bash -u "$USERNAME" -m -c "cygstart --showminimized bash -c '$tmpDir/script'" > /dev/null &
cat -- "$tmpDir/err" >&2 &
cat -- "$tmpDir/out"
wait $!
exit $(<"$tmpDir/status")

-1

Bunu tam olarak test edemiyorum, denemek için uygun bir senaryom yok ve Linux uzmanı değilim, ancak yeterince yakın bir şeyi hackleyebilirsiniz.

Bu adımları denedim ve işe yarıyor gibi görünüyorlar, ancak ihtiyaçlarınız için yeterli olup olmadığını bilmiyorum.

'Kök' kullanıcının eksikliğini gidermek için:

  • LOCAL windows makinesinde 'root' adlı bir kullanıcı oluşturun, onu 'Administrators' grubunun üyesi yapın
  • Bin / bash.exe dosyasını tüm kullanıcılar için 'Yönetici olarak çalıştır' olarak işaretleyin (açık bir şekilde ihtiyacınız olduğunda ve açmanız gerekir)
  • Cygwin.bat dosyasına sağ tıklarken Windows Gezgini'nde sol üst karakter tuşunu basılı tutun
  • 'Farklı bir kullanıcı olarak çalıştır'ı seçin
  • Kullanıcı adı olarak. \ Root ve ardından şifrenizi girin.

Bu daha sonra cygwin'de 'root' adlı bir kullanıcı olarak çalışır ve bash.exe dosyasındaki 'Yönetici olarak çalıştır' ile birleşmesi yeterli olabilir.

Ancak yine de sudo'ya ihtiyacınız var.

Ben / bin içinde 'sudo' adlı bir dosya oluşturarak ve bunun yerine su yerine komutu göndermek için bu komut satırını kullanarak (ve daha fazla linux bilgisine sahip başka biri muhtemelen daha iyi sahte olabilir) sahte:

su -c "$*"

Komut satırı 'sudo vim' ve diğerleri benim için uygun görünüyor, bu yüzden denemek isteyebilirsiniz.

Bunun ihtiyaçlarınız için uygun olup olmadığını bilmekle ilgilenin.


-1

Genellikle yaptığım bir bilgisayar "herhangi bir yerden oldukça kolay yönetici ayrıcalıklarına sahip bir cygwin kabuğu açmak için bir kayıt" Burada Aç "yardımcı var.

Cygwin "chere" paketinin kurulu olması gerektiğini unutmayın, chere -i -mönce yükseltilmiş bir cygwin kabuğundan " " kullanın .

Cygwin kurulumunuzun C: \ cygwin'de olduğu varsayılarak ...

Kayıt defteri kodu şöyledir:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash]

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash]
@="Open Cygwin Here as Root"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash\command]
@="c:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico -e /bin/xhere /bin/bash.exe"

[-HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here as Root"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="c:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico -e /bin/xhere /bin/bash.exe"

[-HKEY_CLASSES_ROOT\Drive\shell\cygwin_bash]

[HKEY_CLASSES_ROOT\Drive\shell\cygwin_bash]
@="Open Cygwin Here as Root"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\Drive\shell\cygwin_bash\command]
@="c:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico -e /bin/xhere /bin/bash.exe"

Bu yardımcı olur umarım. İşinize yarayıp yaramadığını bana bildirin. Teşekkürler.

Not: Bu kodu alabilir, kopyalayıp yapıştırabilir ve çalıştırmak için bir name.reg dosyasına kaydedebilirsiniz ... ya da değerleri manuel olarak ekleyebilirsiniz.


-5

Deneyin:

chmod -R ug+rwx <dir>

nerede <dir>izinlerini değiştirmek istediğiniz dizindir.


5
Sorduğu gibi, bu onu nasıl köklendirir?
Nikana Reklawyks
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.